FTP Sunucusu Kurma

FTP Sunucusu Kurma
Sistem Bilgisi

Bir web sunucusu (VPS veya VDS) yönetirken, site dosyalarını yönetmek, yedekleri aktarmak veya çoklu kullanıcıların sunucuya güvenli bir şekilde dosya yüklemesini sağlamak için en temel yöntemlerden biri FTP (File Transfer Protocol) servisi kurmaktır. Linux dağıtımları arasında en güvenli, kararlı ve yaygın kullanılan FTP sunucu yazılımı vsftpd (Very Secure FTP Daemon) uygulamasıdır.

Verisunucu.net olarak hazırladığımız bu kapsamlı rehberde; Linux sunucunuza adım adım vsftpd ile FTP sunucusunun nasıl kurulacağını, güvenlik ayarlarının nasıl yapılandırılacağını ve istemci programlarıyla nasıl bağlanılacağını tüm detaylarıyla inceliyoruz.

FTP Sunucusu Kurma
FTP Sunucusu Kurma

1. Adım: vsftpd Kurulumu

Sunucunuza SSH üzerinden root veya sudo yetkili bir kullanıcıyla bağlandıktan sonra, işletim sisteminizin paket yöneticisini kullanarak vsftpd kurulumunu gerçekleştirebilirsiniz.

  • Ubuntu / Debian Sistemler İçin:

    Bash

    sudo apt update
    sudo apt install vsftpd -y
    
  • AlmaLinux / CentOS / RHEL Sistemler İçin:

    Bash

    sudo dnf install vsftpd -y
    

Kurulum tamamlandıktan sonra servisi başlatmak ve sunucu her açıldığında otomatik olarak çalışmasını sağlamak için şu komutları çalıştırın:

Bash

Sistem Bilgisi
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

2. Adım: FTP Sunucu Yapılandırma Dosyasını Düzenleme

Güvenli ve kararlı bir FTP sunucusu için konfigürasyon dosyasını (vsftpd.conf) düzenlemeniz gerekir. Dosyayı bir metin düzenleyiciyle açın:

Bash

sudo nano /etc/vsftpd.conf

Dosya içerisinde dikkat etmeniz ve düzenlemeniz gereken kritik ayarlar şunlardır:

  • Anonim (Misafir) Girişleri Kapatın: Güvenlik açısından kimlik doğrulaması yapmayan kullanıcıların sisteme erişmesini mutlaka engellemelisiniz.

    Plaintext

    anonymous_enable=NO
    
  • Yerel Kullanıcı Girişlerine İzin Verin: Sunucunuzdaki Linux kullanıcılarının FTP üzerinden bağlanabilmesi için bu satır aktif olmalıdır:

    Plaintext

    local_enable=YES
    
  • Dosya Yazma İzinlerini Aktif Edin: Kullanıcıların sunucuya dosya yükleyebilmesi veya dosya silebilmesi için yazma iznini açın:

    Plaintext

    write_enable=YES
    
  • Kullanıcıları Kendi Dizinlerine Hapsetme (Chroot): Kullanıcıların sunucunun kök dizinlerinde (root) gezinmesini engellemek ve sadece kendi ana dizinlerinde işlem yapmasını sağlamak için şu satırın başındaki yorum işaretini kaldırın:

    Sistem Bilgisi

    Plaintext

    chroot_local_user=YES
    allow_writeable_chroot=YES
    

Değişiklikleri kaydetmek için CTRL + O ve ENTER, çıkış yapmak için CTRL + X tuşlarını kullanın. Ardından servisi yeniden başlatın:

Bash

sudo systemctl restart vsftpd

3. Adım: Güvenlik Duvarı (Firewall) Ayarları

FTP protokolü veri aktarımı için varsayılan olarak 20 ve 21 numaralı portları kullanır. Ayrıca pasif mod (Passive Mode) için ek port aralığına ihtiyaç duyar. Güvenlik duvarınızda gerekli izinleri açmalısınız:

  • UFW (Ubuntu / Debian) İçin:

    Bash

    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp
    sudo ufw allow 40000:50000/tcp
    sudo ufw reload
    
  • Firewalld (AlmaLinux / CentOS) İçin:

    Bash

    sudo firewall-cmd --permanent --add-service=ftp
    sudo firewall-cmd --reload
    

4. Adım: FTP Kullanıcısı Oluşturma ve Yetkilendirme

Sunucunuza yeni bir FTP kullanıcısı tanımlamak ve sadece belirli bir web dizinine erişmesini sağlamak için şu adımları izleyin:

Sistem Bilgisi
  1. Yeni bir kullanıcı oluşturun (Örneğin: ftpuser):

    Bash

    sudo adduser ftpuser
    
  2. Kullanıcı için güçlü bir şifre belirleyin.

  3. Kullanıcının erişeceği dizini ayarlayın ve sahiplik atayın:

    Bash

    sudo chown nobody:nogroup /home/ftpuser
    sudo chmod a-w /home/ftpuser
    sudo mkdir /home/ftpuser/www
    sudo chown ftpuser:ftpuser /home/ftpuser/www
    
FTP Sunucusu Kurma
FTP Sunucusu Kurma

Sıkça Sorulan Sorular

FTP yerine neden SFTP tercih edilmelidir? Klasik FTP protokolü verileri (şifreler dahil) şifrelemeden düz metin olarak gönderdiği için ağ üzerinde dinlenebilir. SSH tabanlı SFTP ise tüm trafiği şifrelediği için çok daha güvenlidir ve ek bir FTP servisi kurma gereksinimi duymaz.

FileZilla ile bağlanırken “500 OOPS: chroot” hatası alıyorum, neden? Modern vsftpd sürümlerinde kullanıcıların kendi ev dizinlerinde yazma iznine sahip olması güvenlik açısından kısıtlanmıştır. vsftpd.conf dosyasına allow_writeable_chroot=YES satırını ekleyerek bu sorunu çözebilirsiniz.

Pasif mod (Passive Mode) neden gereklidir? İstemci tarafında aktif bir güvenlik duvarı veya NAT bulunduğunda veri aktarımının sağlıklı gerçekleşebilmesi için pasif mod port aralığının sunucuda ve Firewall’da açık olması şarttır.

Yüksek Performanslı ve Güvenli Sunucu Altyapısı İçin: Verisunucu.net

Projelerinizde dosya yönetimi, yedekleme ve veri aktarım işlemlerini kesintisiz gerçekleştirebilmek için tam yetkili ve güçlü bir altyapıya ihtiyacınız vardır. %100 NVMe SSD disk mimarisi, yüksek hızlı network hatları ve tam root erişim özgürlüğü sunan Vds satın al paketlerimizle FTP sunucunuzu dakikalar içinde kurabilir, performans sınırlarını ortadan kaldırabilirsiniz.

Daha esnek, ölçeklenebilir ve bütçe dostu alternatifler arıyorsanız, Vps satın al çözümlerimizi inceleyebilir; Verisunucu.net kalitesiyle kesintisiz bir sunucu deneyimi yaşamaya hemen başlayabilirsiniz!

Önceki Yazı

cPanel Ve Plesk Web Hosting Güvenliği

Sonraki Yazı

VDS mi, VPS mi Yoksa Oyun Sunucusu Paneli mi? Oyun Sunucuları İçin Hangisi Daha Avantajlı? (GÜNCEL)