RHEL 8'de SSL/TLS Kullanarak Güvenli FTP Dosya Aktarımı Kurulumu


Son yazımızda RHEL 8 Linux'ta FTP sunucusunun nasıl kurulacağını ve yapılandırılacağını ayrıntılı olarak anlatmıştık. Bu makalede, sistemler arasında güvenli dosya aktarımı için veri şifreleme hizmetlerini etkinleştirmek üzere SSL/TLS kullanarak bir FTP sunucusunun güvenliğinin nasıl sağlanacağını açıklayacağız.

Zaten kurulu ve düzgün çalışan bir FTP sunucunuz olduğunu umuyoruz. Değilse, sisteminize kurmak için lütfen aşağıdaki kılavuzu kullanın.

  1. RHEL 8'de FTP Sunucusu Nasıl Kurulur, Yapılandırılır ve Güvenli Hale Getirilir

1. Adım. SSL/TLS Sertifikası ve Özel Anahtar Oluşturma

1. SSL/TLS sertifikasını ve anahtar dosyalarını depolamak için aşağıdaki dizini oluşturun.

mkdir -p /etc/ssl/vsftpd

2. Ardından, aşağıdaki komutu kullanarak kendinden imzalı bir SSL/TLS sertifikası ve özel anahtar oluşturun.

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

Yukarıdaki komutta kullanılan her bayrağın açıklaması aşağıdadır.

  1. req – X.509 Sertifika İmzalama İsteği (CSR) yönetimine yönelik bir komuttur.
  2. x509 – X.509 sertifika veri yönetimi anlamına gelir.
  3. günler – sertifikanın geçerli olacağı gün sayısını tanımlar.
  4. yenianahtar – sertifika anahtarı işlemcisini belirtir.
  5. rsa:2048 – RSA anahtar işlemcisi, 2048 bitlik bir özel anahtar oluşturacaktır.
  6. anahtar çıkışı – anahtar depolama dosyasını ayarlar.
  7. out – sertifika depolama dosyasını ayarlar; hem sertifikanın hem de anahtarın aynı dosyada saklandığını unutmayın: /etc/ssl/vsftpd/vsftpd.pem.

Yukarıdaki komut sizden aşağıdaki soruları yanıtlamanızı isteyecektir; senaryonuz için geçerli olan değerleri kullanmayı unutmayın.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Adım 2. VSFTPD'yi SSL/TLS Kullanacak Şekilde Yapılandırma

3. Favori komut satırı düzenleyicinizi kullanarak düzenlemek için VSFTPD yapılandırma dosyasını açın.

vi /etc/vsftpd/vsftpd.conf

SSL'yi etkinleştirmek için aşağıdaki yapılandırma parametrelerini ekleyin, ardından dosyanın sonunda kullanılacak SSL ve TLS sürümünü seçin.

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

4. Ardından, SSL sertifikasının ve anahtar dosyasının konumunu belirtmek için sırasıyla rsa_cert_file ve rsa_private_key_file seçeneklerini ekleyin.

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

5. Anonim bağlantıların SSL kullanmasını devre dışı bırakmak ve anonim olmayan tüm bağlantıları SSL üzerinden zorunlu kılmak için şimdi bu parametreleri ekleyin.

allow_anon_ssl=NO			# disable anonymous users from using SSL
force_local_data_ssl=YES		# force all non-anonymous logins to use a secure SSL connection for data transfer
force_local_logins_ssl=YES		# force all non-anonymous logins  to send the password over SSL

6. Ardından, SSL veri bağlantılarının tüm yeniden kullanımını devre dışı bırakmak için bu seçeneği ekleyin ve SSL şifrelerini şifreli SSL bağlantılarına izin verecek şekilde YÜKSEK olarak ayarlayın.

require_ssl_reuse=NO
ssl_ciphers=HIGH

7. Ayrıca pasv_min_port ve pasv_max_port'u kullanarak vsftpd tarafından güvenli bağlantılar için kullanılacak pasif bağlantı noktalarının bağlantı noktası aralığını (min ve maksimum bağlantı noktası) belirtmeniz gerekir. parametrelerini sırasıyla kullanın. Ayrıca, isteğe bağlı olarak debug_ssl seçeneğini kullanarak sorun giderme amacıyla SSL hata ayıklamasını etkinleştirebilirsiniz.

pasv_min_port=40000
pasv_max_port=50000
debug_ssl=YES

8. Son olarak dosyayı kaydedin ve yukarıdaki değişikliklerin etkili olması için vsftpd hizmetini yeniden başlatın.

systemctl restart vsftpd

9. FTP sunucusuna güvenli bir şekilde erişmeden önce gerçekleştirmeniz gereken bir diğer kritik görev, sistemdeki 990 ve 40000-50000 bağlantı noktalarını açmaktır. güvenlik duvarı. Bu, vsftpd servisine TLS bağlantılarının yapılmasına ve sırasıyla VSFTPD yapılandırma dosyasında tanımlanan pasif portların port aralığının aşağıdaki gibi açılmasına olanak sağlayacaktır.

firewall-cmd --zone=public --permanent –add-port=990/tcp
firewall-cmd --zone=public --permanent –add-port=40000-50000/tcp
firewall-cmd --reload

Adım 3: FTP Sunucusuna Güvenli Bir Şekilde Bağlanmak için FileZilla'yı Kurun

10. FTP sunucusuna güvenli bir şekilde bağlanmak için, açık kaynak olan FileZilla gibi SSL/TLS bağlantılarını destekleyen bir FTP istemcisine ihtiyacınız vardır. , yaygın olarak kullanılan, platformlar arası FTP, SFTP ve varsayılan olarak SSL/TLS bağlantılarını destekleyen FTPS istemcisi.

Varsayılan paket yöneticinizi kullanarak FileZilla'yı Linux'a aşağıdaki şekilde yükleyin:

sudo apt-get install filezilla   		#Debian/Ubuntu
yum install epel-release filezilla		#On CentOS/RHEL
dnf install filezilla			        #Fedora 22+
sudo zypper install filezilla			#openSUSE

11. Filezilla paketi yüklendikten sonra onu sistem menüsünde arayın ve açın. Uzak FTP sunucusuna hızlı bir şekilde bağlanmak için ana arayüzden Ana Bilgisayar IP adresini, Kullanıcı Adını ve kullanıcının Parolasını girin. Ardından Hızlı Bağlantı'yı tıklayın.

12. Daha sonra uygulama sizden bilinmeyen, kendinden imzalı sertifikayı kullanarak güvenli bağlantıya izin vermenizi isteyecektir. Devam etmek için Tamam'ı tıklayın.

Sunucudaki yapılandırma iyiyse bağlantı aşağıdaki ekran görüntüsünde gösterildiği gibi başarılı olmalıdır.

13. Son olarak, sonraki ekran görüntüsünde gösterildiği gibi dosyaları makinenizden sunucuya yüklemeyi deneyerek FTP güvenli bağlantı durumunu test edin.

Bu kadar! Bu makalede, RHEL 8'de güvenli dosya aktarımı için SSL/TLS kullanarak bir FTP sunucusunun güvenliğinin nasıl sağlanacağını gösterdik. Bu, RHEL 8'de bir FTP sunucusunu kurmaya, yapılandırmaya ve güvenliğini sağlamaya yönelik kapsamlı kılavuzumuzun ikinci kısmıdır. Sorularınızı veya düşüncelerinizi paylaşmak için aşağıdaki geri bildirim formunu kullanın.