FTP SUNUCUSU
FTP protokolü TCP paketleri kullanarak sunucu istemci mimarisinde çalışan bir uygulamadır. FTP sunucuları 20 ve 21 nolu portları dinleyerek hizmet verirler. 21. port kontrol kanalı olarak adlandırılır ve istemci tarafından FTP sunucusuna gönderilen tüm komutlar sunucunun 21. portuna gönderilir. 20. port ise veri kanalı olarak adlandırılır ve istemciden sunucuya yada sunucudan istemciye gönderilecek veriler sunucunun 20. portunu kullanır. FTP sunucuları bağlantı şekillerine göre ikiye ayırabiliriz;
Aktif FTP Bağlantı Aşamaları;
· İstemciniz FTP sunucusuna FTP kontrol portu olan 21. portundan bağlanır. “ls” , “get” gibi komutlarınız bu bağlantı üzerinden gider.
· İstemci kontrol portu üzerinden yolladığı komutla sunucudan kendisine doğru veri transer etmek isterse veri sunucunun 20. portundan istemcinin 1024'den daha yukarıdaki portlarından birine yapılacak olan bir bağlantıyla sağlanır.
· ls komutu çıktısı gibi verilerde, veri transfer edilen (20. portu kullanan) bağlantı üzerinden istemciye ulaşır.
· Aktif ftp bağlantısı istemcinin NAT arkasında bulunduğu durumlarda gerekli yönlendirmeler yapılmamışsa problem yaratabilir.
Pasif FTP Bağlantı Aşamaları;
Linux üzerinde kullanılan bir çok ftp sunucusu mevcuttur;
Vsftpd
Vsftpd (Very Secure FTP) yaygın olarak kullanılan ve konfigürasyonu oldukça basit bir ftp sunucusudur. Genellikle xinetd daemon’u tarafından kontrol edilmektedir. Eğer sisteminizde vsftpd yüklüyse;
Sunucuyu başlatmak için /etc/xinetd.d/vsftpd dosyası içerisindeki disable satırının değerini no olarak değiştirmek gerekmektedir.
service ftp
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/vsftpd
server_args =
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = yes/no
}
ardından
$ /etc/init.d/xinetd restart
komutuyla xinetd deamon’unu yeniden başlatarak ftp sunucunuzu açmış olursunuz. Anonymous kullanıcıların öntanımlı olarak ulaşacakları dizin sistemde lokal olarak tanımlanmış olan ftp kullanıcısının ev dizinidir.
ftp:x:40:49:FTP account:/disk/suse93iso:/bin/bash
Vsftp sunucusunun konfigürasyon dosyası /etc/vsftpd.conf dosyasıdır. Bu dosya içerisindeki konfigürasyonla ilgili bazı önemli parametreler aşağıda açıklanmıştır.
ftpd_banner="Welcome to FOOBAR FTP service."
local_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
local_max_rate=7200
anonymous_enable=YES
idle_session_timeout=600
data_connection_timeout=120