• Bezpieczny FTP – ProFTPD z SSL/TLS

    dodany przez Przemysław Sikora

    FTP choć nie należy do najbezpieczniejszych protokołów przesyłania plików, cały czas jest przez wielu używany. Bolączką wspomnianego sposobu przesyłania danych, jest brak szyfrowania, a przez to jawność loginu i hasła. Istnieje jednak sposób na poradzenie sobie z tym. Opiszę poniżej prosty sposób na włączenie szyfrowanie TLS, który zagwarantuje bezpieczeństwo transmisji. Wszystkie ustawienia będą dotyczyć Proftpd. Niezbędny jest moduł “mod_tls.c”, który normalnie nie jest integralną częścią serwera. Inaczej jest w przypadku systemów z rodziny CentOS / RHEL – tam bowiem mamy go domyślnie. Przyjmujemy, iż mamy już zainstalowany serwer ftp oraz wygenerowany certyfikat SSL. Edytujemy plik “/etc/proftpd.conf” i dopisujemy następujące linie

    TLSEngine on
    TLSLog /var/log/proftpd/tls.log # ścieżka do pliku z logami
    TLSProtocol SSLv23
    TLSOptions NoCertRequest
    TLSRSACertificateFile /etc/pki/tls/certs/centos/poczta.crt # ścieżka do certyfikatu SSL
    TLSRSACertificateKeyFile /etc/pki/tls/certs/centos/poczta.key # ścieżka do klucza
    TLSVerifyClient off # autentykacja klientów łączących się po SSL/TLS
    TLSRequired off # wymagane stosowanie bezpiecznego połączenia (SSL/TLS)

    Po zapisaniu pliku konfiguracyjnego, restartujemy serwer.

    service proftpd restart

    Jednym ze sposobów sprawdzenia poprawności działania jest wydania w konsoli na dowolnym serwerze polecenia:

    openssl s_client -connect adres_naszego_serwera:21 -starttls ftp

    Powinniśmy zobaczyć “fragment” podobny do tego poniżej:
    No client certificate CA names sent
    ---
    SSL handshake has read 1661 bytes and written 321 bytes
    ---
    New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: zlib compression
    Expansion: zlib compression
    SSL-Session:
    Protocol : TLSv1
    Cipher : DHE-RSA-AES256-SHA
    Session-ID: B62A3448A8FCD28EA660CCD962B0A084FAFF8E729A3C10E8D5672E65D7D937CA
    Session-ID-ctx:
    Master-Key: 29F728027580480F2A64314638F68DB411469D5FE4293A7470B43ABC43FEBD953AB28A0A6DAD292231DF6A4F6545B1D2
    Key-Arg : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Compression: 1 (zlib compression)
    Start Time: 1358032947
    Timeout : 300 (sec)
    Verify return code: 18 (self signed certificate)
    ---
    220 FTP Server ready

    Pamiętajmy, iż najlepszym sposobem na sprawdzenie czy wszystko jest naprawdę dobrze, jest połączenie się klientem FTP, np. Filezillą lub Total Commanderem. W razie problemów, proszę pisać.

3 komentarze do “Bezpieczny FTP – ProFTPD z SSL/TLS”

  1. michas100 pisze:

    Dziękuję za artykuł, pewnie implementacja dla vsftp ssl&tls będzie inna. Pozdrawiam.

  2. kbechler pisze:

    Witam,

    Dla vsftpd będzie to wyglądało mniej-więcej tak:
    http://konrad.bechler.pl/2010/02/bezpieczny-ftp/

    K.

  3. michas100 pisze:

    Dziękuję o to chodziło 🙂

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony