После долгого перерыва, возобновляю публикацию заметок. В черновиках скопилась куча всего, но лень было аккуратно все разобрать и структурировать, но надо! Один из клиентов после установки ISPmanager v5 Lite на CentOS 6 64 bit столкнулся со следующей проблемой при подключении к FTP- серверу В FileZilla красовались следующие ошибки
Статус: Соединение установлено, ожидание приглашения...
Статус: Инициализирую TLS...
Ошибка: От сервера получено TLS оповещение: Handshake failed (40)
Ошибка: Невозможно подключиться к серверу
Статус: Ожидание повтора...
В качестве FTP- сервера по дефолту был proftpd. В его логе были найдены признаки преступления:
Oct 27 12:40:30 mod_tls/2.4.2[25607]: using default OpenSSL verification locations (see $SSL_CERT_DIR environment variable)
Oct 27 12:40:30 mod_tls/2.4.2[25607]: TLS/TLS-C requested, starting TLS handshake
Oct 27 12:40:30 mod_tls/2.4.2[25607]: unable to accept TLS connection: protocol error:
(1) error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher
Oct 27 12:40:30 mod_tls/2.4.2[25607]: TLS/TLS-C negotiation failed on control channel
Oct 27 12:40:35 mod_tls/2.4.2[25608]: using default OpenSSL verification locations (see $SSL_CERT_DIR environment variable)
Oct 27 12:40:35 mod_tls/2.4.2[25608]: TLS/TLS-C requested, starting TLS handshake
Oct 27 12:40:35 mod_tls/2.4.2[25608]: unable to accept TLS connection: protocol error:
(1) error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher
Oct 27 12:40:35 mod_tls/2.4.2[25608]: TLS/TLS-C negotiation failed on control channel
Решение было найдено на оф.форуме
1. Генерируем сертификат для TLS шифрования. Если используем кошерный сертификат (к примеру Let’s Encrypt вполне подойдет), то данный пункт пропускаем.
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem -days 1825
В конфиге – /etc/proftpd.conf раскомментируем строки:
TLSEngine on
#TLSRequired on
TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest
TLSVerifyClient off
TLSLog /var/log/proftpd/tls.log
Примечание: Если вы указали опцию TLSRequired on, то для подключения к FTP возможен только доступ с использованием TLS (другие пользователи с старыми FTP клиентами не поддерживающими TLS подключиться не смогут); но закомментировав эту опцию или установим значение в TLSRequired off к FTP можно будет подключаться и используя TLS и обычным способом. 3. Далее перезапускаем proftpd и радуемся жизни
service proftpd restart
Также, в теории эту проблему можно обойти создав в FileZilla обычное подключение без шифрования
UPD от 9 апреля 2018: Можно вообще отключить TLS закомментировав строку
TLSEngine on
Be First to Comment