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