RHEL/CentOS 7'de TLS/SSL Protokolünü Kullanarak Güvenli ProFTPD Bağlantıları


FTP protokolü doğası gereği güvenli olmayan bir protokol olarak tasarlanmıştır ve tüm veriler ve şifreler düz metin olarak aktarılır, bu da üçüncü bir tarafın işini, özellikle kullanıcı adları ve şifreler olmak üzere tüm FTP istemci-sunucu işlemlerine müdahale etmeyi çok kolaylaştırır. Kimlik doğrulama işleminde kullanılan şifreler.

Gereksinimler

  1. ProFTPD Sunucusunu RHEL/CentOS 7'ye Kurma
  2. RHEL/CentOS 7'de Proftpd Sunucusu için Anonim Hesabı Etkinleştirin

Bu eğitim, CentOS/RHEL 7'deki ProFTPd Sunucusunda FTP iletişimini nasıl güvenli hale getirebileceğiniz ve şifreleyebileceğiniz konusunda size rehberlik edecektir. , Açık FTPS uzantısıyla TLS (Aktarım Katmanı Güvenliği) kullanarak (FTPS'yi, HTTP Protokolü için HTTPS'nin ne olduğunu düşünün).

Adım 1: Proftpd TLS Modülü Yapılandırma Dosyasını Oluşturun

1. Anonim hesapla ilgili önceki Proftpd eğitiminde tartışıldığı gibi, bu kılavuz aynı zamanda enabled_mod ve yardımıyla Proftpd'nin gelecekteki yapılandırma dosyalarını modüller halinde yönetme konusunda aynı yaklaşımı kullanacaktır. b>disabled_mod dizinleri, sunucunun tüm genişletilmiş yeteneklerini barındıracaktır.

Bu nedenle, favori metin düzenleyiciniz ile disabled_mod Proftpd yolunda tls.conf adlı yeni bir dosya oluşturun ve aşağıdaki yönergeleri ekleyin.

nano /etc/proftpd/disabled_mod/tls.conf

Aşağıdaki TLS dosyası yapılandırma alıntısını ekleyin.

<IfModule mod_tls.c>
TLSEngine                               on
TLSLog                                  /var/log/proftpd/tls.log
TLSProtocol                             SSLv23
 
TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key

#TLSCACertificateFile                                     /etc/ssl/certs/CA.pem
TLSOptions                      NoCertRequest EnableDiags NoSessionReuseRequired
TLSVerifyClient                         off
TLSRequired                             on
TLSRenegotiate                          required on
</IfModule>

2. TLS bağlantılarını desteklemeyen tarayıcılar veya FTP İstemcileri kullanıyorsanız, TLS ve TLS olmayan bağlantılara aynı anda izin vermek için TLSRequired satırına yorum yapın ve Aşağıdaki ekran görüntüsündeki gibi hata mesajından kaçının.

Adım 2: TLS için SSL Sertifika Dosyaları Oluşturun

3. TLS modülü yapılandırma dosyasını oluşturduktan sonra. Proftpd'de TLS üzerinden FTP'yi etkinleştirecek, OpenSSL paketi yardımıyla ProFTPD Sunucusu üzerinden güvenli iletişim kullanabilmeniz için SSL Sertifikası ve Anahtarı oluşturmanız gerekmektedir.

yum install openssl

SSL Sertifikası ve Anahtar çiftleri oluşturmak için tek bir uzun komut kullanabilirsiniz, ancak işleri basitleştirmek için, istediğiniz adla SSL çiftleri oluşturacak ve Anahtar dosyası için doğru izinleri atayacak basit bir bash betiği oluşturabilirsiniz.

/usr/local/bin/ üzerinde veya başka herhangi bir yürütülebilir sistem yolunda (` PATH değişkeni tarafından tanımlanmış) proftpd_gen_ssl adında bir bash dosyası oluşturun ).

nano /usr/local/bin/proftpd_gen_ssl

Aşağıdaki içeriği buna ekleyin.

#!/bin/bash
echo -e "\nPlease enter a name for your SSL Certificate and Key pairs:"
read name
 openssl req -x509 -newkey rsa:1024 \
          -keyout /etc/ssl/private/$name.key -out /etc/ssl/certs/$name.crt \
          -nodes -days 365\

 chmod 0600 /etc/ssl/private/$name.key

4. Yukarıdaki dosyayı oluşturduktan sonra, ona yürütme izinleri atayın, /etc/ssl/private dizininin mevcut olduğundan emin olun ve SSL Sertifikası ve Anahtarı oluşturmak için komut dosyasını çalıştırın. çiftler.

chmod +x /usr/local/bin/proftpd_gen_ssl
mkdir -p /etc/ssl/private
proftpd_gen_ssl

SSL Sertifikasını, kendi kendini açıklayan gerekli bilgileri sağlayın, ancak ana makinenizin Tam Nitelikli Alan AdıFQDN ile eşleşmesi için Ortak Ad'a dikkat edin. b>.

3. Adım: ProFTPD Sunucusunda TLS'yi etkinleştirin

5. Daha önce oluşturulan TLS Yapılandırma dosyası zaten doğru SSL Sertifikası ve Anahtar dosyasına işaret ettiğinden, geriye kalan tek şey sembolik bir bağlantı oluşturarak TLS modülünü etkinleştirmektir. >tls.conf dosyasını enabled-mod dizinine kopyalayın ve değişiklikleri uygulamak için ProFTPD arka plan programını yeniden başlatın.

ln -s /etc/proftpd/disabled_mod/tls.conf  /etc/proftpd/enabled_mod/
systemctl restart proftpd

6. TLS modülünü devre dışı bırakmak için tls.conf sembolik bağlantısını enabled_mod dizininden kaldırın ve değişiklikleri uygulamak için ProFTPD sunucusunu yeniden başlatın.

rm /etc/proftpd/enabled_mod/tls.conf
systemctl restart proftpd

Adım 4: TLS İletişimi üzerinden FTP'ye izin vermek için Güvenlik Duvarını açın

7. İstemcilerin Pasif Mod'da ProFTPD'ye erişmesi ve güvenli aktarım dosyaları için 1024 ile arasındaki bağlantı noktası aralığının tamamını açmalısınız. Aşağıdaki komutları kullanarak RHEL/CentOS Güvenlik Duvarı'nda 65534.

firewall-cmd --add-port=1024-65534/tcp  
firewall-cmd --add-port=1024-65534/tcp --permanent
firewall-cmd --list-ports
firewall-cmd --list-services
firewall-cmd --reload

Bu kadar. Artık sisteminiz İstemci tarafından TLS üzerinden FTP iletişimini kabul etmeye hazırdır.

Adım 5: İstemcilerden TLS üzerinden ProFTPD'ye erişin

8. Web tarayıcılarının genellikle TLS protokolü üzerinden FTP için yerleşik desteği yoktur, dolayısıyla tüm işlemler şifrelenmemiş FTP üzerinden iletilir. En mükemmel FTP İstemcilerinden biri, tamamen Açık Kaynak olan ve hemen hemen tüm önemli İşletim Sistemlerinde çalışabilen FileZilla'dır.

FileZilla'dan TLS üzerinden FTP'ye erişmek için Site Yöneticisi'ni açın, Protokol'de FTP'yi seçin ve TLS üzerinden açık FTP gerektir'i seçin. Şifreleme açılır menüsünde Oturum Açma Türünüzü Normal olarak seçin, FTP kimlik bilgilerinizi girin ve iletişim kurmak için Bağlan'a basın sunucu ile.

9. ProFTPD Sunucusuna ilk kez bağlanıyorsanız, yeni Sertifikayı içeren bir açılır pencere görünmelidir, Gelecek için sertifikaya her zaman güven diyen kutuyu işaretleyin Oturumları açın ve Sertifikayı kabul etmek ve ProFTPD sunucusunda kimlik doğrulamak için Tamam'a basın.

FTP kaynaklarına güvenli bir şekilde erişmek için FileZilla dışında başka istemciler kullanmayı planlıyorsanız, bunların TLS üzerinden FTP protokolünü desteklediğinden emin olun. FTPS konuşabilen FTP istemcilerine ilişkin bazı iyi örnekler, Windows Platformları için WinSCP ve NIX için gFTP veya LFTP'dir (komut satırı).