Bezpieczne połączenia PROFTPD za pomocą protokołu TLS/SSL na RHEL/Centos 7

Bezpieczne połączenia PROFTPD za pomocą protokołu TLS/SSL na RHEL/Centos 7

Ze swojej natury Ftp Protokół został zaprojektowany jako niepewny protokół, a wszystkie dane i hasła są przesyłane w zwykłym tekście, dzięki czemu zadanie strony trzeciej jest bardzo łatwe do przechwytywania wszystkich transakcji klient-serwer FTP, zwłaszcza nazw użytkowników i haseł używanych w procesie uwierzytelniania.

Włącz SSL na PROFTPD w RHEL/CENTOS

Wymagania

  1. Instalowanie serwera PROFTPD na RHEL/Centos 7
  2. Włącz anonimowe konto dla serwera PROFTPD w RHEL/CENTOS 7

Ten samouczek poprowadzi Cię, w jaki sposób możesz zabezpieczyć i szyfrować Ftp komunikacja na Proftpd Serwer w Centos/RHEL 7, za pomocą Tls (Bezpieczeństwo warstwy transportowej) z wyraźnym rozszerzeniem FTPS (pomyśl w FTPS jako HTTPS dla protokołu HTTP).

Krok 1: Utwórz plik konfiguracji modułu PROFTPD TLS

1. Jak omówiono w poprzednim samouczku PROFTPD dotyczącym anonimowego konta, ten przewodnik zastosuje to samo podejście do zarządzania plikami konfiguracji PROFTPD jako modułów, z pomocą Włączone_mod I disabled_mod katalogi, które będą prowadzić rozszerzone możliwości serwera.

Utwórz nowy plik z nazwanym ulubionym edytorem tekstu tls.conf W disabled_mod PROFTPD Ścieżka i dodaj następujące dyrektywy.

# nano/etc/proftpd/disabled_mod/tls.conf 

Dodaj fragment konfiguracji pliku TLS.

 Tlsengine na tlslog/var/log/proftpd/tls.log tlsprotocol sslv23 tlsrsacertificateFile/etc/ssl/certs/proftpd.crt tlsrsertificateKeKeyFile/etc/ssl/private/profitpd.Klucz #TLSCacertificateFile/Etc/SSL/Certs/Ca.PEM tlsoptions NocerTrequest Enablediags nossessionreuseRired tlsverifyClient Off TLSrequired on tlsrenegotiate  
Utwórz konfigurację TLS

2. Jeśli używasz przeglądarków lub klientów FTP, które nie obsługują połączeń TLS, skomentuj linię Tlsrequired on Aby umożliwić połączenia TLS i innych niż TLS w tym samym czasie i uniknąć komunikatu o błędzie, jak na zrzucie ekranu poniżej.

Zezwalaj na połączenia TLS

Krok 2: Utwórz pliki certyfikatów SSL dla TLS

3. Po utworzeniu pliku konfiguracji modułu TLS. To umożliwi FTP przez TLS w PROFTPD, musisz wygenerować certyfikat SSL i klucz, aby korzystać z bezpiecznej komunikacji nad serwerem PROFTPD za pomocą Openssl pakiet.

# instalacja Yum OpenSSL 

Możesz użyć pojedynczego długiego polecenia, aby wygenerować certyfikat SSL i pary kluczy, ale aby uprościć rzeczy, możesz utworzyć prosty skrypt bash, który wygeneruje pary SSL z żądaną nazwą i przypisać prawidłowe uprawnienia do pliku klucza.

Utwórz plik bash o nazwie PROFTPD_GEN_SSL NA /usr/lokalny/bin/ lub na jakiejkolwiek innej wykonywalnej ścieżce systemowej (zdefiniowanej przez $ Ścieżka zmienny).

# nano/usr/local/bin/proftpd_gen_ssl 

Dodaj do niej następującą zawartość.

#!/bin/bash echo -e "\ nplease Wprowadź nazwę swojego certyfikatu SSL i pary kluczy:" Nazwa odczytu OpenSsl req -x509 -Newkey RSA: 1024 \ -Keyout/etc/ssl/private/$ Nazwa nazwa.klucz -ut/etc/ssl/certs/$ nazwa.crt \ -nodes -Days 365 \ chmod 0600/etc/ssl/private/$ nazwa.klucz 
Utwórz certyfikat SSL

4. Po utworzeniu powyższego pliku przypisz go z uprawnieniami do wykonania, zapewnij to /etc/ssl/prywatny Katalog istnieje i uruchom skrypt, aby utworzyć certyfikat SSL i pary kluczowe.

# chmod +x/usr/local/bin/proftpd_gen_ssl # mkdir -p/etc/ssl/private # PROFTPD_GEN_SSL 
Utwórz certyfikat i klucz PROFTPD SSL

Podaj certyfikat SSL z wymaganymi poproszonymi informacjami, które są oczywiste, ale zwróć uwagę Nazwa zwyczajowa Aby dopasować swojego gospodarza W pełni kwalifikowana nazwa domeny - Fqdn.

Krok 3: Włącz TLS na serwerze Proftpd

5. Ponieważ plik konfiguracyjny TLS utworzony wcześniej wskazuje już na właściwy certyfikat SSL i plik klucza, jedyne pozostałe jest aktywacja modułu TLS poprzez utworzenie symboliczny link z tls.conf plik do Enabled-Mod katalog i uruchom ponownie Demon PROFTPD w celu zastosowania zmian.

# ln -s/etc/proftpd/disabled_mod/tls.conf/etc/proftpd/enabled_mod/ # Systemctl restart PROFTPD 
Włącz TLS na Proftpd

6. Aby wyłączyć moduł TLS, po prostu usuń tls.conf symLink z Włączone_mod Directory i restartuj serwer PROFTPD, aby zastosować zmiany.

# rm/etc/proftpd/enabled_mod/tls.Conf # Systemctl restart PROFTPD 

Krok 4: Otwórz zaporę, aby umożliwić FTP nad komunikacją TLS

7. Aby klienci mogli uzyskać dostęp do PROFTPD i zabezpieczyć pliki transferu w Tryb pasywny musisz otworzyć cały zakres portów między 1024 I 65534 na zaporze zapory RHEL/CENTOS, używając następujących poleceń.

# firewall-cmd --add-port = 1024-65534/tcp # firewall-cmd --add-port = 1024-65534/tcp --Permanent # firewalll-cmd--liter-ports # firewall-cmd--liter- Usługi # Firewall-CMD-RELOAD 
Zezwalaj na bezpieczne połączenia PROFTPD

Otóż ​​to. Teraz Twój system jest gotowy zaakceptować komunikację FTP przez TLS od strony klienta.

Krok 5: Uzyskaj dostęp do PROFTPD przez TLS od klientów

8. Przeglądarki internetowe zwykle nie mają wbudowanej obsługi FTP przez protokół TLS, więc cała transakcja jest dostarczana przez niekreptowane FTP. Jednym z najbardziej doskonałych klientów FTP jest FileZilla, który jest całkowicie open source i może działać na prawie wszystkich głównych systemach operacyjnych.

Aby uzyskać dostęp do FTP przez TLS z FileZilla Otwórz Menedżer witryny, wybierać Ftp NA Protokół I Wymagaj wyraźnego FTP przez TLS NA Szyfrowanie menu rozwijane, wybierz Typ logowania Jak Normalna, Wprowadź poświadczenia FTP i uderz Łączyć komunikować się z serwerem.

Uzyskaj dostęp do PROFTPD przez TLS

9. Jeśli po raz pierwszy połączysz się z serwerem Proftpd, powinno pojawić się wyskakujące okienko z nowym certyfikatem, Sprawdź pudełko To mówi Zawsze ufaj certyfikatowi przyszłych sesji i uderzył OK Aby zaakceptować certyfikat i uwierzytelnić się na serwerze PROFTPD.

Zaakceptuj certyfikat PROFTPD Proftpd Secure Directory Lophing

Jeśli planujesz korzystać z innych klientów niż FileZilla, aby bezpiecznie uzyskać dostęp do zasobów FTP, upewnij się, że obsługują one FTP przez protokół TLS. Kilka dobrych przykładów dla klientów FTP, które mogą mówić FTP, to WINSCP dla platform Windows i GFTP lub LFTP (wiersz poleceń) dla Nix.