Ubuntu’da bir FTP sunucusu kurmak istiyorsanız, vsftpd’nin basitliğini yenemezsiniz.
FTP, Dosya Aktarım Protokolü anlamına gelir. Bir ağ üzerinden veri aktarımı için bir dil belirtmesi bakımından HTTP’ye (Köprü Metni Aktarım Protokolü) benzer. FTP varsayılan olarak şifrelenmemiştir, bu nedenle güvenli veri iletimi için kendi başına iyi bir seçim değildir.
Bu kılavuz, Ubuntu’da vsftpd ile bir FTP sunucusu kurmanıza ve yapılandırmanıza yardımcı olacaktır.
Önkoşullar
- ile bir kullanıcı hesabına erişim sudo ayrıcalıklar
- Bir terminal penceresine/komut satırına erişim (Ctrl-Alt-T)
- bu uygun paket yöneticisi, varsayılan olarak dahildir
1. Adım: Sistem Paketlerini Güncelleyin
Depolarınızı güncelleyerek başlayın – bir terminal penceresine aşağıdakileri girin:
sudo apt update
Sistem depoları güncellemeye devam eder.
Adım 2: vsftpd Sunucusunu Ubuntu’ya Kurun
Ubuntu’da kullanılan yaygın bir açık kaynaklı FTP yardımcı programı vsftpd. Kullanım kolaylığı nedeniyle tavsiye edilir.
1. yüklemek için vsftpdkomutu girin:
sudo apt install vsftpd
Bu, Ubuntu’daki çıktının bir örneğidir.
2. Hizmeti başlatmak ve başlangıçta etkinleştirmek için şu komutları çalıştırın:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
Not: FTP sunucusunu vsftpd ile kurma ve yapılandırma talimatı, CentOS 7 ve Rasberry Pi için de mevcuttur.
3. Adım: Yapılandırma Dosyalarını Yedekleyin
Herhangi bir değişiklik yapmadan önce yapılandırma dosyalarınızı yedeklediğinizden emin olun.
1. Aşağıdakileri girerek varsayılan yapılandırma dosyasının bir yedek kopyasını oluşturun:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default
4. Adım: FTP Kullanıcısı Oluşturun
Aşağıdaki komutlarla yeni bir FTP kullanıcısı oluşturun:
sudo useradd -m testuser
sudo passwd testuser
Sistem sizden yeni için bir şifre oluşturmanızı istemelidir. test kullanıcısı hesap.
5. Adım: Güvenlik Duvarını FTP Trafiğine İzin Verecek Şekilde Yapılandırın
Ubuntu ile standart olarak gelen UFW kullanıyorsanız, varsayılan olarak FTP trafiğini engeller. Açmak için aşağıdaki komutları girin Bağlantı Noktaları 20 Ve 21 FTP trafiği için:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
Not: Farklı bir güvenlik duvarı kullanıyorsanız, erişime izin vermek için talimatlara bakın. Bağlantı noktası 20 Ve Bağlantı noktası 21. Bunlar, FTP hizmeti için dinleme bağlantı noktalarıdır.
Adım 6: Ubuntu FTP Sunucusuna Bağlanın
Aşağıdaki komutla FTP sunucusuna bağlanın:
sudo ftp ubuntu-ftp
Yer değiştirmek ücretsiz ftp sisteminizin adıyla (komut satırından alınmıştır).
Giriş yapmak kullanmak test kullanıcısı az önce belirlediğiniz hesap ve şifre. Artık FTP sunucunuza başarıyla giriş yapmış olmalısınız.
Ubuntu vsftpd Sunucusunu Yapılandırma ve Güvenliğini Sağlama
Varsayılan Dizini Değiştir
FTP sunucusu varsayılan olarak /srv/ftp dizini varsayılan dizin olarak seçin. Yeni bir dizin oluşturarak ve FTP kullanıcı giriş dizinini değiştirerek bunu değiştirebilirsiniz.
FTP giriş dizinini değiştirmek için aşağıdakini girin:
sudo mkdir /srv/ftp/new_location
sudo usermod -d /srv/ftp/new_location ftp
yeniden başlat vsftpd değişiklikleri uygulamak için hizmet:
sudo systemctl restart vsftpd.service
Artık FTP aracılığıyla paylaşmak istediğiniz dosyaları içine koyabilirsiniz. /srv/ftp klasörü (varsayılan olarak bıraktıysanız) veya /srv/ftp/yeni konum/ dizin (değiştirdiyseniz).
FTP Kullanıcılarının Kimliklerini Doğrulayın
Kimliği doğrulanmış kullanıcıların dosya yüklemesine izin vermek istiyorsanız, vsftpd.conf aşağıdakini girerek dosya:
sudo nano /etc/vsftpd.conf
etiketli girişi bulun write_enable=HAYIRve değeri “ olarak değiştirin.EVET”
Dosyayı kaydedin, çıkın ve ardından FTP hizmetini aşağıdakilerle yeniden başlatın:
sudo systemctl restart vsftpd.service
Bu, kullanıcının kendi ana dizininde değişiklik yapmasına olanak tanır.
Not: FTP kullanımı hakkında daha fazla bilgi edinmek için, Linux ftp komutu hakkındaki kapsamlı kılavuzumuza bakın.
Güvenli FTP
Çok sayıda istismar, güvenli olmayan FTP sunucularından yararlanır. Yanıt olarak, içinde birkaç yapılandırma seçeneği vardır. vsftpd.conf bu, FTP sunucunuzun güvenliğini sağlamaya yardımcı olabilir.
Kullanıcı Erişimini Sınırla
Yöntemlerden biri, kullanıcıları ana dizinleriyle sınırlamaktır. Açık vsftpd.conf bir düzenleyicide ve aşağıdaki komutun açıklamasını kaldırın:
chroot_local_user=YES
Bu dosyanın bir örneğidir nano:
Bir Kullanıcı Listesi Dosyası Oluşturun
Bir liste dosyası oluşturmak için düzenleyin /etc/vsftpd.chroot_listve her satıra bir kullanıcı ekleyin.
FTP sunucunuza, bu kullanıcı listesini düzenleyerek kendi ana dizinleriyle sınırlandırmasını söyleyin vsftpd.conf:
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
Resim, yapılan düzenlemeleri göstermektedir:
yeniden başlat vsftpd hizmet:
sudo systemctl restart vsftpd.service
Varsayılan olarak, FTP erişimi engellenen kullanıcıların listesi şurada saklanır: /etc/ftpusers. Engellenen kullanıcıları eklemek için bu dosyayı düzenleyin ve her satıra bir kullanıcı ekleyin.
FTPS ile Trafiği Şifreleyin
FTP sunucunuzun güvenliğini sağlamanın başka bir yöntemi de trafiği şifrelemektir. Bu kullanılarak yapılır FTP’ler – SSL üzerinden Dosya Aktarım Protokolü (Güvenli Yuva Katmanı).
Bunun çalışması için, kullanıcıların FTP sunucusunda bir kabuk hesabı oluşturması gerekir. Bu, FTP trafiğinize bir güvenli şifreleme katmanı ekleyecektir.
1. Openssl ile yeni bir sertifika oluşturarak başlayın. Bunu yapmak için şu komutu çalıştırın:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
2. İstendiğinde gerekli bilgileri girin veya düğmesine basarak varsayılan yapılandırmayı koruyun. Girmek.
3. Ardından, vsftpd.conf bir düzenleyicide dosyalayın ve satırı değiştirin ssl_enable=NO
ile ssl_enable=YES
:
ssl_enable=YES
4. Ardından aşağıdaki satırları ekleyin:
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
pasv_min_port=40000
pasv_max_port=50000
5. Değişiklikleri kaydedin ve dosyadan çıkın.
6. Son olarak, değişiklikleri uygulamak için hizmeti yeniden başlatın:
sudo systemctl restart vsftpd.service
Not: SSL yapılandırmaları ve sertifikaları hakkında daha fazla bilgi için lütfen Ubuntu’ya bakın. FTP sunucusu belgeleri. Ayrıca, FTPS’nin SFTP’den farklı bir protokol olduğunu belirtmekte fayda var. SFTP, Güvenli Dosya Aktarım Protokolü anlamına gelir ve tamamen farklı bir protokoldür.
Çözüm
Şimdi, Ubuntu’ya bir FTP sunucusu kurmuş olmalısınız. vsftpd.
Artık kullanıcı listelerinizi ve hesaplarınızı yapılandırabilmeniz ve yeni FTP sunucunuza bağlanabilmeniz gerekir. Ayrıca FTP protokolünün risklerini ve bunların nasıl azaltılacağını ayrıntılı olarak anlattık.