Ubuntu’da vsftpd Kurulumu ve Konfigürasyonu

Bu yazımızda Linux tabanlı sunucularını ftp sunucusu haline getirmeyi anlatacağım. Öncelikle yazımızda Ubuntu baz alarak anlatılacağı için, diğer linux tabanlı işletim sistemlerinde ufak tefek komut değişiklikleri olabilir ama mantık ve yapacağınız işlemler aynıdır. Örneğin Ubuntu da indirme işlemi için # apt-get kullanılırken CentOS’da # yum komutu kullanılır. Lütfen bunlara dikkat ediniz.

Öncelikle IP’mizi kullanarak SSH kabuğuna erişim gerçekleştiriyoruz.

İlk olarak FTP sunucumuzda birden fazla kullanıcı oluşturup bunlara şifreler ve dizinler oluşturacağımız için PAM ve Apache kurmalıyız.  Vsftpd, PAM ve Apache’yi indirmek için:

apt-get install vsftpd libpam-pwdfile apache2-ultis

Böylece Vsftpd, PAM ve Apache’yi sistemimize kuruyoruz.

Vsftpd dosyasında değişiklikler yapacağımız için, ne olur ne olmaz diyerek config dosyamızın yedeğini alalım;

mv /etc/vsftpd.conf /etc/vsftpd.conf.yedek

Vsftp dosyamızın config dosyasının adını değiştirdikten sonra asıl üzerinde düzenlemeler yapacağımız config dosyasını oluşturuyoruz;

nano /etc/vsftpd.conf

Siz nano yerine vim gibi başka bir editörü kullanabilirsiniz.

Gerekli dosyayı oluşturduktan sonra aşağıda ki komutları dosyaya yazıyoruz;

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
local_root=/home/$USER
user_sub_token=$USER
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd
seccomp_sandbox=NO

Yukarıda dikkat edilmesi gereken bir kaç noktayı şimdi açıklamaya çalışacağım;

guest_enable= VsftYerel pd mantığında, oluşturulan her sanal kullanıcı aslında guest hesabından giriş yapar.Bu yüzden guest hesabını açmak durumundayız.

guest_username= Misafir oturumunda bahsettiğimiz konuya ilişkin olarak, açılan oturumların adı sistem kaynaklarında vsftpd olarak gözükecek. Bunu değiştirebilirsiniz ama anlatım sırasında bu isim baz alınarak anlatılacak. bu yüzden herhangi bir değişiklik gerçekleştirirseniz buna dikkat etmeniz gerekir.

local_root=/home/$USER = Kullanıcıların ana dizinleri belirlenir.

chroot_local_user= Burada kullanıcılar kendi dizinlerine erişim sağlayabilir. Diğer kullanıcıların dizinlerine erişim sağlayamazlar.

Eğer kullanıcılara hız limiti de eklemek isterseniz dosyaya aşağıda ki satırı da ekleyebilirsiniz;

local_max_rate=500000

Yukarıda ki komut ile kullanıcı başına download hız sınırı 500 Kb /sn olarak ayarlayabilirsiniz. Hız sınırını dilediğiniz şekilde ayarlayabilirsiniz.

YEREL KULLANICI TANIMLANMASI

Oluşturulacak olan sanal kullanıcılara erişim imkanı veren ve kabuğa müdahale hakkı olmayan bir kullanıcı tanımlamamız gerekmekte;

useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd

VSFTP SANAL KULLANICI EKLEMEK

Vsftpd, PAM ve Apache kurulumları bittiğine göre sıra sanal kullanıcı ve şifre belirlemekte;

İlk olarak ayarların tutulacağı dizini belirliyoruz;

mkdir /etc/vsfptd

Sırada kullanıcı ve şifreyi oluşturmak var;

htpasswd -cd /etc/vsftpd/ftpd.passwd kullaniciadi

Yukarıda ki komut ile kullaniciadi adı altında bir user oluşturuyoruz. Türkçe karakter dışında sizde kendi kullanıcınızı oluşturabilirsiniz. Yukarıda ki komuttan sonra sistem sizden şifre isteyecektir.

PAM DÜZENLEMESİ

Sanal kullanıcılar için PAM yapılandırması gerekmekte. Yine ilk olarak yedeğimizi alıyoruz;

mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.yedek

Şimdi de sıfırdan pam ayar dosyasını oluşturuyor ve düzenliyoruz;

nano /etc/pam.d/vsftpd

Oluşturduğumuz dosyaya aşağıda ki komutları işliyoruz;

auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so

DİZİN YAPILANDIRMASI

Sırada oluşturulan sanal kullanıcılar için dizin yapılandırması var. Bunun için ayar dosyasında /home/$USER dizinini kullanmıştık. Yalnız Vsftpd güvenlik düzeninden dolayı kullanıcıların HOME dizininin yazılabilir olmasını istememekte. Bunun için home dizininin içerisine yeniden bir klasör oluşturarak bu klasöre yazma izni vermeliyiz. Yani sistem şu şekilde olacaktır;

/home/kullaniciadi/ftp

Kullanıcılar giriş yaptığında direk /home/kullaniciadi kısmına girecekler yalnız güvenlik sebebi ile buraya değil, bir alt klasör olan ftp klasöründen itibaren yazmaya başlayacaklar.

Bunun için;

mkdir -p/home/kullaniciadi/ftp

Klasörü oluşturduğumuza göre izinleri ayarlamalıyız;

chmod -w /home/kullaniciadi

Yukarıda ki komut ile kullanıcının ev dizinini sadece okunabilir yaptık. Alt dizinleri hem okunabilir hem yazılabilir yapmak için;

chmod 755 /home/kullaniciadi/ftp
chown vsftpd:nogroup /home/kullaniciadi/ftp

Bu işlemlerden sonra yeniden başlatılması gerekmektedir. Bunun için;

service vsftpd restart

TRAFİĞİN İZLENMESİ

Eğer FTP sunucunuzda ki veri trafiğini izlemek isterseniz nethogs’u kullanabilirsiniz. Yüklemek ve kurmak için;

apt-get install nethogs

Kurulum bittikten sonra SSH panelinde nethogs yazarak trafiği izleyebilirsiniz.

Daha fazlası için tıklayınız.

Bir Cevap Yazın