Назад | Перейти на главную страницу

ProFTPD: значение «TLS Verify Client» и «NoCertRequest» в конфигурации TLS.

Я знаю, что по умолчанию FTP небезопасен, потому что он не зашифрован. Чтобы избежать этого небезопасного поведения FTP, я хочу настроить шифрование TLS в моем ProFTPD. В соответствии с этим руководством здесь: https://www.howtoforge.com/tutorial/install-proftpd-with-tls-on-ubuntu-16-04/ конфигурация tls в ProFTPD должна выглядеть так:

 <IfModule mod_tls.c>
TLSEngine                  on
TLSLog                     /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSCipherSuite AES128+EECDH:AES128+EDH
TLSOptions                 NoCertRequest AllowClientRenegotiations
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient            off
TLSRequired                on
RequireValidShell          no
</IfModule>

Многие из этих директив говорят сами за себя, но я до сих пор не знаю, что означает директива TLSVerifyClient.

Согласно руководству ProFTPD:

Если выключено, модуль примет сертификат и установит сеанс SSL / TLS, но не будет проверять сертификат.

Если он включен, модуль будет проверять сертификат клиента и, кроме того, откажет во всех попытках установления связи SSL, если только клиент не представит сертификат, когда сервер запросит его.

Но я думал, что сертификат исходит от самого сервера, так почему сервер должен принимать запросы сертификатов от клиента?

и мой второй вопрос, что означает параметр «nocertrequest» в директиве TLSoption?

В соответствии с руководством ProFTPD, функция этой опции:

Известно, что некоторые FTP-клиенты дают сбой при обработке запроса сертификата сервера. Эта опция заставляет сервер не включать такой запрос во время установления связи SSL.

Здесь тот же вопрос, зачем серверу отправлять запрос сертификата клиенту, если у самого сервера есть TLS-сертификаты.

Для более безопасного протокола вы можете рассмотреть возможность использования SFTP (который поддерживает proftpd). SFTP работает через SSH, поэтому полностью зашифрован. Вы можете найти этот связанный вопрос полезно. Это руководство по настройка proftpd для использования SFTP также может помочь.

В TLSVerifyClient директива об аутентификации клиентов (т.е. "клиентская аутентификация" или "взаимная аутентификация"); он используется, чтобы определить, mod_tls будет запрашивать сертификат у клиента, и будет ли этот сертификат, предоставленный клиентом должен быть действительным (TLSVerifyClient on), или не (TLSVerifyClient optional). Некоторые сайты хотят использовать предоставленный клиентом сертификат для управления доступом; Например, будут разрешены только клиенты, представляющие сертификат от центра сертификации, которому доверяет сервер.

Оригинальная реализация mod_tls всегда будет включать запрос сертификата клиента, несмотря на из TLSVerifyClient настройка. Таким образом, был "NoCertRequest" TLSOptionдля отключения запроса сертификата клиента. Однако теперь NoCertRequest TLSOption устарел в пользу использования только TLSVerifyClient установка; видеть Ошибка # 4213.

Надеюсь это поможет!