Rocky Linux 8/RHEL/Centos 8 üzerinde vsftpd (ftp sunucusu) Nasıl Kurulur

Merhabalar,

FTP, kısaca Dosya Aktarım Protokolü, bir sunucuda bulunan dosyalara erişim sağlayan bir protokoldür. Kullanıcıların internet üzerinden dosya indirmesini sağlayan en eski protokollerden biridir. FTP protokolü ile kullanıcılar sunuculara kolaylıkla dosya indirebilir ve yükleyebilir.

Çok Güvenli FTP arka plan programının kısaltması olan Vsftpd, FTP protokolünün bir yükseltmesi olan güvenli bir FTP arka plan programıdır. Sunucuya gelen ve sunucudan gönderilen trafiği şifreleyerek FTP sunucularına güvenli bağlantılar sağlar ve bunu yaparak dosya aktarımı bilgisayar korsanlarından güvenli ve güvenli tutulur.

Bu başlıkta, Rocky Linux 8 üzerinde vsftpd kurulumuna ışık tutuyoruz.

1) dnf komutunu kullanarak vsftpd’yi kurun :

sudo dnf install vsftpd

 

Çıktı, vsftpd 3.0.3-33.el8.x86_64 sürümünü yüklediğimizi gösteriyor. Bunu onaylamak için aşağıdaki komutu yürütün:

rpm -q vsftpd

 

 

Çıktı, başarılı kurulumdan sonra terminalde yazdırılan sürümle uyumlu olmalıdır. Vsftpd hakkında daha ayrıntılı bilgi almak için, gösterildiği gibi sonuna -i bayrağını ekleyin:

rpm -qi vsftpd

 

vsftpd kuruluyken, dosya paylaşımlarına erişimi kolaylaştırmak için çalışmasına ihtiyacımız var.

vsftpd hizmetini başlatmak için şu komutu çalıştırın:

sudo systemctl start vsftpd

 

Ayrıca, yeniden başlatmanın ardından otomatik olarak başlamasını etkinleştirmek isteyebilirsiniz. Bunu başarmak için komutu çalıştırın

sudo systemctl enable vsftpd --now

 

Sisteminizde vsftpd’nin durumunu doğrulamak için şunu çalıştırın:

sudo systemctl status vsftpd

 

Terminalde belirtildiği gibi “active: (running)” yönergesini yeşil renkte görüyorsanız, vsftpd hizmeti çalışıyor ve çalışıyor demektir.

2) Bir ftp kullanıcısı ve dizini oluşturun

Ardından, FTP sunucusuna erişmek için kullanacağımız bir kullanıcı oluşturacağız. Bu durumda, kullanıcı ftpuser olacaktır, ancak kullanıcınıza istediğiniz bir ismi vermekten çekinmeyin.

sudo adduser firat 
sudo passwd firat

FTP kullanıcısı yerindeyken, devam edip FTP dizinini oluşturacağız ve aşağıdaki izinleri ve dizin sahipliğini atayacağız.

sudo mkdir -p /home/firat/ftp-data
sudo chmod -R 750 /home/firat/ftp-data
sudo chown -R ftpuser: /home/firat/ftp-data

Kullanıcının vsftp sunucusuna erişmesine izin vermek için FTP kullanıcısını /etc/vsftpd/user_list dosyasına da eklememiz gerekiyor.

sudo bash -c 'echo firat >> /etc/vsftpd/user_list'

3) vsftpd’yi yapılandırma dosyası aracılığıyla yapılandırma

Şimdiye kadar, vsftpd’nin çalışır durumda olduğunu yüklemeyi ve onaylamayı başardık. Vsftpd’nin kullanıcıların sunucuya erişmesine izin vermesi için daha fazla ayarlama gereklidir.

vsftpd için varsayılan yapılandırma dosyası /etc/vsftpd/vsftpd.conf dosyasıdır. Dosya, FTP sunucunuzun güvenliğini güçlendirmeye yardımcı olan yönergelerle doludur.

Bu bölümde, yapılandırma dosyasında birkaç değişiklik yapacağız ve kullanıcıların sunucuya erişmesine izin vereceğiz.

Yerel kullanıcıların FTP sunucusuna uzaktan erişmesine ve anonim kullanıcıları engellemesine izin vermek için, aşağıdaki yönergelere sahip olduğunuzdan emin olun:

anonymous_enable=NO 
local_enable=YES

 

Kullanıcılara herhangi bir FTP komutunu çalıştırma ve dosya yükleme, indirme ve silme gibi değişiklikler yapma hakları vermek için aşağıdaki satırı uygulayın.

write_enable=YES

Güvenlik amacıyla, kullanıcıların ana dizinleri dışındaki herhangi bir dosya ve dizine erişmesini kısıtlamayı seçebilirsiniz. Bu nedenle, aşağıdaki yönergeyi hazır bulundurun.

chroot_local_user=YES

Kullanıcılara kendi ana dizinlerine yazma erişimi vermek için bu yönergeye sahip olduğunuzdan emin olun.

allow_writeable_chroot=YES

Ardından, Pasif FTP bağlantılarını etkinleştirmek için özel bağlantı noktaları tanımlayacağız. Bu durumda 30000 ve 31000 portlarını belirteceğiz. Bunları daha sonra güvenlik duvarında açacağız.

pasv_min_port=30000 
pasv_max_port=31000

Ardından, yalnızca /etc/vsftpd/user_list içinde tanımlanan kullanıcıların sunucuya erişimine izin vereceğiz ve gerisini engelleyeceğiz. Bunu başarmak için aşağıdaki satırlara sahip olun.

userlist_file=/etc/vsftpd/user_list 
userlist_deny=NO

Son olarak dosyayı kaydedip kapatın. Değişikliklerin devam etmesi için Vsftpd hizmetini yeniden başlatın.


sudo systemctl restart vsftpd

Bu noktada, çalıştırarak FTP bağlantısını test edebilirsiniz.

$ ftp ip adresi

ftp kullanıcısının kullanıcı adını belirtin ve daha sonra parolayı sağlayın. Çıktıyı gösterildiği gibi almalısınız.

Her ne kadar vsftpd sunucusuna bağlantı kurmuş olsak da. Bağlantı güvenli değil ve gönderilen bilgiler düz metin halinde ve şifrelenmemiş. Bu nedenle, sunucuya gönderilen iletişimleri şifrelemek için ekstra adımlar atmamız gerekiyor.

 

4) vsftpd için SSL / TLS’yi yapılandırın

Sunucu ve istemci sistemi arasındaki iletişimi şifrelemek için bir TLS sertifikası oluşturmamız ve daha sonra sunucuyu bunu kullanacak şekilde yapılandırmamız gerekir.

Sertifikayı oluşturmak için aşağıdaki komutu çalıştırın:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

Bunu, ülke adı, eyalet veya il ve birkaçını belirtmek için kuruluş adı gibi birkaç ayrıntı sağlamanız gereken bir dizi istem izleyecektir. Tüm ayrıntıları gösterildiği gibi doldurun.

Ayrıca sunucuya sertifika dosyalarının nerede saklandığını da söylememiz gerekiyor. Bu nedenle, /etc/vsftpd/vsftpd.conf yapılandırma dosyasına geri dönün ve sertifika dosyalarının yolunu belirtin.

rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd.pem

Ardından sunucuya SSL’yi açmasını söyleyin.

ssl_enable=YES

Yapılandırma dosyasını kaydedin ve çıkın. Efektte yukarıdaki değişiklikleri yapmak için vsftpd hizmetini yeniden başlatın,

sudo systemctl restart vsftpd
5) Güvenlik duvarında ftp sunucusu (vsftpd) bağlantı noktalarına izin verme

Bir güvenlik duvarı çalıştırıyorsanız, bu göze çarpan bağlantı noktalarına izin vermeniz gerekir”

20 – FTP trafiğine izin vermek için
21 – FTP veri portu
30000-31000 – FTP sunucusuyla pasif iletişime izin vermek için.

Bu nedenle, aşağıdaki komutları çalıştırın:

Ardından, değişikliklerin yürürlüğe girmesi için güvenlik duvarını yeniden yükleyin.

sudo firewall-cmd --permanent --add-port=20-21/tcp 
sudo firewall-cmd --permanent --add-port=30000-31000/tcp

6) vsftpd veya FTP sunucunuzu test edin

Tüm ayarlar yapıldıktan sonra, bağlantımızı test etme zamanı. Bu örnekte, hem istemci hem de sunucu sistemleri için ücretsiz bir FTP istemcisi olan Winsp olarak bilinen bir FTP istemcisi kullanıyoruz. Test edeceğimiz TLS üzerinden hem düz FTP hem de FTP’yi destekler.

Başlatıldığında, arayüz gösterildiği gibi görünür. Ana bilgisayarın IP adresini (vsftpd), ftp kullanıcısının kullanıcı adını ve şifresini girin ve ardından ‘Hızlı bağlantı’ düğmesine tıklayın.

Tüm konfigürasyonlarınız doğruysa, gösterildiği gibi herhangi bir sorun olmadan giriş yapmalısınız. Sağ alt bölmede, gösterildiği gibi uzak sunucunun ana dizini. Artık dosyaları uygun gördüğünüz şekilde yükleyebilir, indirebilir ve düzenleyebilirsiniz.

 

Bu eğitim yazımızın sonuna geldik.Umarım bu eğitim yazısı sizler için faydalı olur.

 

 

 

 

 

Bu eğiticiye oy ver
[Total: 2 Average: 5]
Firat CANOĞLU TAĞ