Про установку ProFTPD и базовую настройку мы писали в предыдущей статье. Продолжим разбираться дальше. И начнем конечно с безопасности. Настроим соединение через SSL/TLS.
TLS ( Transport Layer Security — безопасность транспортного уровня), как и его предшественник SSL (Secure Sockets Layer — уровень защищённых сокетов) — криптографические протоколы, обеспечивающие защищённую передачу данных между узлами в сети Интернет.
Первым делом с генерируем сертификат стандарта x509. Не забывайте что это самоподписанный сертификат и у вас может выскочить предупреждение при подключении.
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
req команда создать сертификат.
-newkey rsa:1024 создать новый ключ длиной 1024 бита(к стати я не знаю можно ли использовать больше для FTP) rsa шифрование.
-keyout путь куда записать ключ.
-days 365 время действия сертификата.
Не забывайте выставить права на файлы:
chmod 0600 /etc/ssl/private/proftpd.key
chmod 0640 /etc/ssl/private/proftpd.key
Теперь настроим ProFTPD , а конкретней файл /etc/proftpd/tls.conf
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 # SSLv23 Compatibility mode, used to allow both SSLv3 and TLSv1 TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key TLSOptions NoCertRequest AllowClientRenegotiations #NoCertRequest- Некоторые FTP клиенты, как известно, глючит при обработке запроса сертификата сервера. Эта опция заставляет сервер не включать такой запрос во время SSL рукопожатия. TLSVerifyClient off # Не аутентифицировать клиентов, которые хотят использовать FTP через TLS.Обратите внимание, что сервер может быть настроен не запрашивать сертификат клиента через параметр директивы TLSOptions в «NoCertRequest». TLSRequired on #Требует использовать только защищены режим. </IfModule>
Теперь добавим поддержку TLS/SSL в файл настройки сервера /etc/proftpd/proftpd.conf
Include /etc/proftpd/tls.conf
Теперь перезагружаем сервер FTP
/etc/init.d/proftpd restart
Denian/Ubuntu. На других Linux дистрибутивах установка может отличаться.