CHAPTER 6 FTP SERVER
6.1 FTP nedir? File Transfer Prtcl (FTP) günümüzde internet üzerinde kullanılan en eski ve en bilinen prtkllerden biridir. FTP nin amacı kullanıcıların, işletim sistemleri arasındaki dsya paylaşım sistemlerindeki farkları bilmesine gerek kalmadan güvenli ve basit dsya paylaşımı yapabilmelerini sağlamaktır. Dikkat FTP ldukça eski bir prtkl lduğundan kullanıcı adı ve şifre bilgileri için herhangi bir kriptlji işlemi yapmaz. Şifreler açık halde gönderilir. Bu yüzden Kesinlikle rt larak FTP sunucuya bağlanmaya çalışmayınız. Zaten FTP sunucuların tamamı, Default ayarlarda rt kullanıcısına giriş hakkını yasaklamıştır. Lgin bilgilerini şifrelemese de FTP prtklü internet üzerinde çk yğun larak kullanılır. Çünkü işletim sisteminden bağımsız larak dsya paylaşımı yapmaya lanak sağlar. 6.2 FTP Sunucular Redhat/Fedra Linuxta çalışabilen birçk FTP sunucu prgramı vardır. Bunlardan en sık kullanılan 2 tanesi vsftpd ve prftpd dir. vsftpd vsftpd RedHat dağıtımı ile beraber gelen varsayılan FTP sunucusudur. Hızlı ve gelişmiş özelliklere sahiptir. Ayarların büyük çğunluğu güvenliğe yöneliktir. Büyük byutlu sunucular için uygundur. prftpd RedHat dağıtım ile beraber gelmez. vsftpd ile benzer özelliklere sahiptir. Knfigurasyn dsyası Apache ninkine benzediği için bazı firmalar bu sunucuyu tercih ederler. Detaylı bilgiler için www.prftpd.rg sitesini ziyaret edebilirsiniz.
6.3 vsftpd FTP Sunucusu 6.3.1 kurulum # rpm ivh vsftpd-1.2.1-5.i386.rpm 6.3.2 vsftpd servisini başlatma, durdurma [rt@aybiem tmp]# /etc/init.d/vsftpd start [rt@aybiem tmp]# /etc/init.d/vsftpd stp [rt@aybiem tmp]# /etc/init.d/vsftpd restart 6.3.3 ftp sunucusu çalışıyrmu? netstat -a kmutu ile vsftpd sunucusunun ftp prtunu dinleyip dinlemediğini öğrenebilirsiniz. Aşağıdaki kmut herhangi bir çıktı vermezse ftp hizmeti çalışmıyr anlamına gelir. [rt@aybiem rt]# netstat -a grep ftp tcp 0 0 *:ftp *:* LISTEN 6.3.4 vsftpd ayarları /etc/rc.d/init.d/vsftpd vsftpd Servisi Daemn u /etc/vsftpd/vsftpd.cnf vsftpd Knfigürasyn dsyası /etc/vsftpd.ftpusers vsftpd sunucusuna lgin lmasına izin VERİLMEYEN kullanıcıların listesi. Bu kullanıcılardan biri de rt dur. /etc/vsftpd.user_list Bu liste hem yasaklanan kullanıcılar, hem de ftp hizmeti kullanmasına izin verilen kullanıcılar larak ayarlanabilir.
Dikkat /etc/vsftpd/vsftpd.cnf dsyası içindeki userlist_deny direktifine yes değeri verilirse, bu liste yasaklı kullanıcılar listesi lur. n değeri verilirse izin verilen kullanıcılar listesi lur. /var/ftp/ vsftpd tarafından kullanılan FTP ana dizinidir. /var/ftp/pub dizini annim erişimler içindir. Bu diziler herkes tarafından kunabilir, fakat yalnızca rt tarafından yazılabilir. 6.3.5 Annim (Annymus) FTP Tek taraflı dsya paylaşımı için kullanılan bir yöntemdir. Annim sunucular genellikle yalnızca dwnlad işlemleri içindir. Dikkat FTP sunucuya lgin lmak için Kullanıcı adı: annymus Şifre: bir_emailadresi larak girilmelidir. Birçk FTP prgramı bu işlemi tmatik larak yaptığından FTP prgramları yapılan annim bağlantılarda şifre srmaz. 6.3.6 vsftpd.cnf dsyası VSFTP yalnızca açılışta vsftpd.cnf dsyasını kur. Bu dsyada yapılan değişikliklerde sunucu tekrar başlatılmalıdır. Default kurulumda VSFTPD annim FTP sunucusu larak çalışır. Annim erişimleri kapatmak için annymus_enable=no yapılmalıdır Lkal kullanıcıların şifreleri ile Lgin lmalarını sağlamak için lcal_enable=yes
Default kurulumda VSFTPD annim bağlantılarda sadece dwnlad yapmaya izin verir. Uplad da yapabilmek için ann_uplad_enable =YES Ayrıca Annim bağlantılarda klasör luşturmaya da izin vermez. İzin vermesi için ann_mkdir_write_enable =YES Varsayılan kurulumda annim erişim klasörü /var/ftp dir. Bunu değiştirmek için ann_rt değiştirilmelidir. VSFTPD lg dsyası /var/lg/vsftpd.lg dsyasıdır. Knfigürasyn dsyasında tüm ayarlar ve açıklamalar listelenmiştir. Etkinleştirilmek istenen ayar satırının başındaki (#) işareti kaldırılır. Örnek: # Allw annymus FTP? annymus_enable=yes # Uncmment this t allw lcal users t lg in. lcal_enable=yes # Uncmment this t enable any frm f FTP write cmmand. # (Needed even if yu want lcal users t be able t uplad files) write_enable=yes # Uncmment t allw the annymus FTP user t uplad files. This nly # has an effect if glbal write enable is activated. Als, yu will # bviusly need t create a directry writable by the FTP user. #ann_uplad_enable=yes # Uncmment this if yu want the annymus FTP user t be able t create # new directries. #ann_mkdir_write_enable=yes 6.3.7 Diğer vsftpd.cnf seçenekleri maksimum client bağlantı sayısını sınırlama (max_clients) IP başına yapılabilecek bağlantı sayısını sınırlama (max_per_ip) annim bağlantı ile yapılabilecek maksimum veri transfer ranı (ann_max_rate) Annim lmayan bağlantılarda yapılabilcek maksimum transfer hızı (lcal_max_rate) 6.3.8 Annymus Uplad Annim kullanıcıların sunucuya uplad yapabilmelerini istiyrsanız
[rt@aybiem tmp]# mkdir /var/ftp/pub/uplad [rt@aybiem tmp]# chmd 733 /var/ftp/pub/uplad 6.3.9 FTP karşılama mesajı FTP sunucuya bağlanıldığında ekranda görüntülenecek lan karşılama mesajı ftpd_banner= Aybiem FTP sitesine Hsgeldiniz. 6.3.10 Kmut satırından erişim [rt@smallfry tmp]# ftp 192.168.1.100 Cnnected t 192.168.1.100 (192.168.1.100). 220 ready, dude (vsftpd 1.1.0:) Name (192.168.1.100:rt): user1 331 Please specify the passwrd. Passwrd: 230 Lgin successful. Have fun. Remte system type is UNIX. Using binary mde t transfer files. ftp>