Konfigurowanie bezpiecznego serwera FTP za pomocą SSL/TLS na Ubuntu

Konfigurowanie bezpiecznego serwera FTP za pomocą SSL/TLS na Ubuntu

W tym samouczku opiszemy, jak zabezpieczyć Ftp serwer (VSFTPD oznacza "Bardzo bezpieczny demon ftp") za pomocą SSL/TLS W Ubuntu 16.04/16.10.

Jeśli chcesz skonfigurować bezpieczny serwer FTP dla dystrybucji opartych na CentOS, możesz odczytać - zabezpieczyć serwer FTP za pomocą SSL/TLS na CentOS

Po wykonaniu różnych kroków w tym przewodniku poznamy podstawy umożliwienia usług szyfrowania na serwerze FTP dla bezpiecznych transferów danych.

Wymagania

  1. Musisz zainstalować i skonfigurować serwer FTP w Ubuntu

Zanim przejdziemy dalej, upewnij się, że wszystkie polecenia w tym artykule będą uruchamiane jako konto uprzywilejowane root lub sudo.

Krok 1: Generowanie certyfikatu SSL/TLS dla FTP na Ubuntu

1. Zaczniemy od utworzenia podlokdrektory pod: /etc/ssl/ do przechowywania SSL/TLS Pliki certyfikatu i kluczowe, jeśli nie istnieje:

$ sudo mkdir/etc/ssl/prywatny 

2. Teraz wygenerujmy certyfikat i klucz w jednym pliku, uruchamiając poniższe polecenie.

$ sudo openssl req -x509 -nodes -keyout/etc/ssl/private/vsftpd.PEM -OUT/etc/ssl/private/vsftpd.PEM -DAYS 365 -NEWKEY RSA: 2048 

Powyższe polecenie poprosi o odpowiedź na poniższe pytania, nie zapomnij o wprowadzeniu wartości dotyczących scenariusza.

Nazwa kraju (2 -literowy kod) [xx]:W Nazwa stanu lub prowincji (pełna nazwa) []:Niższy Parel Nazwa lokalizacji (np. Miasto) [Domyślne miasto]:Bombaj Nazwa organizacji (np. Firma) [Domyślna firma Ltd]:Tecmint.com Nazwa jednostki organizacyjnej (np. Sekcja) []:Linux i open source Nazwa zwyczajowa (np. Nazwa lub nazwa hosta twojego serwera) []:Tecmint Adres e -mail []:[chroniony e -mail] 

Krok 2: Konfigurowanie VSFTPD do użycia SSL/TLS na Ubuntu

3. Zanim wykonamy jakieś VSFTPD Konfiguracje dla tych, którzy mają włączoną zaporę UFW, musisz otworzyć porty 990 I 40000-50000 Aby umożliwić połączenia TLS i zakres portów portów pasywnych odpowiednio w pliku konfiguracyjnym VSFTPD:

$ sudo ufw zezwolić 990/tcp $ sudo UFW zezwolić 40000: 50000/tcp $ sudo UFW status 

4. Teraz otwórz plik konfiguracji VSFTPD i zdefiniuj w nim szczegóły SSL:

$ sudo vi/etc/vsftpd/vsftpd.conf lub $ sudo nano/etc/vsftpd/vsftpd.conf 

Następnie dodaj lub zlokalizuj opcję ssl_enable i ustaw swoją wartość TAK Aby aktywować użycie SSL, ponownie, ponieważ TLS jest bezpieczniejszy niż SSL, ograniczymy VSFTPD do używania TLS, włączając SSL_TLSV1 opcja:

ssl_enable = tak ssl_tlsv1 = tak ssl_sslv2 = nie ssl_sslv3 = nie 

5. Następnie skomentuj poniższe wiersze za pomocą # postać w następujący sposób:

#rsa_cert_file =/etc/ssl/private/ssl-cert-snakeil.PEM #rsa_private_key_file =/etc/ssl/private/ssl-cert-snakeil.klucz 

Następnie dodaj poniższe linie, aby zdefiniować lokalizację certyfikatu SSL i pliku klucza:

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

6. Teraz musimy również uniemożliwić anonimowym użytkownikom korzystanie z SSL, a następnie wymusić wszystkie nieanonimiczne loginy do korzystania z bezpiecznego połączenia SSL do przesyłania danych i wysyłania hasła podczas logowania:

Zezwalaj_anon_ssl = brak Force_Local_Data_SSL = Tak Force_Local_Logins_SSL = Tak 

7. Ponadto możemy użyć poniższych opcji, aby dodać więcej funkcji bezpieczeństwa na serwerze FTP. Z opcją wymaga_ssl_reuse = tak, Wszystkie połączenia danych SSL są zobowiązane do wystawienia ponownego użycia sesji SSL; udowadniając, że znają ten sam sekret mistrzów, co kanał kontrolny. Więc powinniśmy to wyłączyć.

wymaga_ssl_reuse = nie 

Ponadto możemy ustawić, które szyfr SSL VSFTPD pozwoli na zaszyfrowane połączenia SSL z SSL_CIPHERS opcja. Pomoże to sfrustrować wszelkie wysiłki atakujących, którzy próbują wymusić określony szyfr, w którym prawdopodobnie odkryli luki w:

SSL_CIPHERS = HIGH 

8. Następnie zdefiniujmy zakres portów (min i maksymalny) portów pasywnych.

PASV_MIN_PORT = 40000 PASV_MAX_PORT = 50000 

9. Aby włączyć debugowanie SSL, oznacza to, że diagnostyka połączenia Openssl jest rejestrowana na pliku dziennika VSFTPD, możemy użyć debug_ssl opcja:

debug_ssl = tak 

Wreszcie zapisz plik i zamknij go. Następnie ponownie uruchom usługę VSFTPD:

$ Systemctl restart vsftpd 

Krok 3: Sprawdź FTP z połączeniami SSL/TLS na Ubuntu

10. Po przeprowadzeniu wszystkich powyższych konfiguracji sprawdź, czy VSFTPD używa teraz połączeń SSL/TLS, próbując użyć FTP z wiersza poleceń, jak poniżej.

Z wyników poniżej istnieje komunikat o błędzie informujący, że VSFTPD może pozwolić tylko użytkownikom (nieanonimowi) logować od bezpiecznych klientów, którzy obsługują usługi szyfrowania.

$ ftp 192.168.56.10 Połączone z 192.168.56.10 (192.168.56.10). 220 Witamy w Tecmint.Usługa com ftp. Imię (192.168.56.10: Root): Sesje nieanonimowe Ravi 530 muszą używać szyfrowania. Logowanie nie powiodło się. 421 Usługa niedostępna, zdalny serwer ma zamknięte połączenie FTP> 

Wiersz poleceń nie obsługuje usług szyfrowania. Dlatego, aby bezpiecznie połączyć się z serwerem FTP z włączonymi usługami szyfrowania, potrzebujemy klienta FTP, który domyślnie obsługuje połączenia SSL/TLS, takie jak FileZilla.

Krok 4: Zainstaluj FileZilla na klientach, aby bezpiecznie połączyć FTP

FileZilla jest potężnym, powszechnie używanym klientem FTP, który obsługuje FTP przez SSL/TLS. Aby zainstalować FileZilla na komputerze klienckim Linux, użyj następującego polecenia.

--------- Na Debian/Ubuntu --------- $ sudo apt-get instaluj filezilla --------- Na Centos/Rhel/Fedora --------- # Yum Zainstaluj epel-release filezilla --------- Na Fedorze 22+ --------- $ sudo dnf instaluj filezilla 

12. Po zakończeniu instalacji otwórz ją i przejdź do File => Sites Manager lub (prasa Ctrl+s) aby uzyskać Menedżer witryny interfejs poniżej.

FileZilla Site Manager

13. Teraz zdefiniuj nazwę hosta/witryny, dodaj adres IP, zdefiniuj protokół do użycia, szyfrowania i logowania, jak w poniższym ujęciu ekranu (użyj wartości, które mają zastosowanie do scenariusza):

Kliknij Nowa strona przycisk do skonfigurowania nowego połączenia witryny/hosta.

Gospodarz: 192.168.56.10 Protokół: FTP - protokół przesyłania plików Szyfrowanie: Wymagaj wyraźnego FTP #zalecany typ logowania: Poproś o hasło #zalecany użytkownik: nazwa użytkownika 
Skonfiguruj nową witrynę FTP w FileZilla

14. Następnie kliknij Łączyć z powyższego interfejsu, aby wprowadzić hasło, a następnie sprawdź certyfikat używany dla SSL/TLS połączenie i kliknij OK Jeszcze raz połączyć się z serwerem FTP:

Sprawdź certyfikat FTP SSL

15. Teraz powinieneś pomyślnie zalogować się do serwera FTP przez połączenie TLS, sprawdź sekcję Status połączenia, aby uzyskać więcej informacji z interfejsu poniżej.

Podłączony do serwera Ubuntu FTP

16. Wreszcie, przenieśmy pliki z komputera lokalnego do FTP Sever w folderze plików, spójrz na dolny koniec interfejsu FileZilla, aby wyświetlić raporty dotyczące przelewów plików.

Bezpieczne przesyłanie pliku FTP za pomocą plikuzilli

To wszystko! Zawsze pamiętaj, że zainstalowanie serwera FTP bez włączania usług szyfrowania ma pewne implikacje bezpieczeństwa. Jak wyjaśniliśmy w tym samouczku, możesz skonfigurować serwer FTP do korzystania z połączeń SSL/TLS do wdrożenia bezpieczeństwa w Ubuntu 16.04/16.10.

Jeśli napotykasz jakiekolwiek problemy związane z konfiguracją SSL/TLS na serwerze FTP, użyj poniższego formularza komentarza, aby podzielić się swoimi problemami lub przemyśleniami dotyczącymi tego samouczka/tematu.