Настраиваем ProSFTPD для работы FTP через TLS

Безопасность прежде всего!!! Поэтому поехали…

По умолчанию модуль mod_sftp уже подключен
проверим в modules.conf строка LoadModule mod_sftp.c

Если нет openssl ставим (на 99% уже есть, куда в наше время без него)
apt-get install proftpd openssl

Файл с настроичками
/etc/proftpd/proftpd.conf

Желательно, что бы было так:
UseIPv6 off
DefaultRoot ~
IdentLookups off
ServerIdent on «My SFTP server»

При желании и для доп. безопасаности можно поменять порт Port 123

Рожаем SSL сертификат
openssl req -x509 -newkey rsa:1024 \
-keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt \
-nodes -days 365

Отвечаем на глупые вопросы, своими умными ответами.
Сертификат должен быть читабельным:
chmod 0640 /etc/ssl/private/proftpd.key

В конфиге раскомментируем строку:
Include /etc/proftpd/tls.conf
Далее редактируем этот конфиг, там уже есть заготовочка.
В итоге должно выйти как-то так

<IfModule mod_tls.c>
TLSEngine                  on
TLSLog                     /var/log/proftpd/tls.log
TLSProtocol                SSLv23
TLSOptions                 NoCertRequest EnableDiags
TLSRSACertificateFile      /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile   /etc/ssl/private/proftpd.key
TLSVerifyClient            off
TLSRequired                on
</IfModule>

Или не совсем так
TLSVerifyClient off не дает заходить под FTP, включаем, если хотим и так и эдак.

ВНИМАНИЕ: файлы конфига чувствительны к виндовой кодировке (за другими конфигами такой ерунды не замечал), при restart ругается warning: handling possibly truncated configuration data at line …, либо потом перекодируем под линукс, либо редактируем непосредственно на сервере чем-то в духе nano или vi и др.(пожалуй совет для ламеров, но все же, мало ли кому пригодится)

Что бы не было ошибки «Не могу получить список каталогов! (Failed to retrieve directory listing)»
открываем порты (если есть firewall) 49152:65534 а на нет и суда нет
И раскомментируем в конфиге соответствующую строку
PassivePorts 49152 65534

 

Перезагружаем ProFTPD
/etc/init.d/proftpd restart

И firewall… у кого, что…

И последний момент, при подключении не забываем, что у нас теперь не FTP, а  FTP через TLS
Т.е. при подключении, например, в FileZilla в пунктике шифрование выбираем Requir explicit FTP over TLS

Наслаждаемся защищенным соединением.

Удачи!