Приведу пример настройки FTPS в ProFTP, и запретим простые подключения без шифрования.
Допустим ProFTPd установлен например как я описывал в статье:
Установка и настройка ProFTPd в Ubuntu
Сертификат можно получить бесплатно от Let’s Encrypt, например как я описывал в статье:
Установка Certbot в Ubuntu
Или сгенерируем вручную, например (файл proftpd.key должен быть доступен для чтения только пользователю root):
sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 3650
Потом откроем стандартный файл с конфигурацией:
sudo nano /etc/proftpd/tls.conf
В этом файле укажем параметры:
<IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRequired yes TLSRSACertificateFile /etc/letsencrypt/live/ixnfo.com/cert.pem TLSRSACertificateKeyFile /etc/letsencrypt/live/ixnfo.com/privkey.pem TLSCACertificateFile /etc/letsencrypt/live/ixnfo.com/chain.pem </IfModule>
Если сертификат генерировали вручную, то укажем его так:
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
Откроем основной файл конфигурации ProFTPd:
sudo nano /etc/proftpd/proftpd.conf
Раскомментируем или укажем строку подключающую файл tls.conf:
Include /etc/proftpd/tls.conf
Проверим корректность конфигурации и перезапустим ProFTPd чтобы применить изменения:
sudo proftpd --configtest sudo service proftpd restart
Теперь можно подключаться к FTP серверу используя шифрованное соединение.
TLSRequired yes — запрещает подключения без шифрования.