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

vsftpd не дает действительный сертификат с использованием сертификата CA

При настройке vsftpd у нас возникают проблемы с тем, что он не обеспечивает надежное соединение с базовым контейнером сертификата pem, используя только наш закрытый ключ и сертификат.

Мы создали наш pem-файл с помощью следующих команд.

кошка somecert.com.crt >> somepem.pem
кошка somecertkey.com.key >> somepem.pem

Конфигурация SSL-сертификата vsftpd.conf

/etc/vsftpd/vsftpd.conf
ssl_enable = ДА
ssl_tlsv1 = ДА
rsa_cert_file = / и т.д. / httpd / ssl / somepem.pem

При подключении с использованием lftp в режиме отладки я увидел, что мы даем сертификат без достаточной информации, чтобы установить полную цепочку полномочий. Чтобы ему доверяли.

lftp -d -u пользователь: передать myserver.com
....
ОШИБКА: проверка сертификата: не доверено
**** Проверка сертификата: не доверяет
---- Закрытие контрольной розетки

Мне нужно получить полную цепочку полномочий и добавить ее в контейнер сертификата pem Благодаря stackExchange Есть несколько хороших решений этой проблемы.

эхо-соединение | openssl s_client -connect myserver.com:443 2> & 1 | sed -ne '/ -НАЧАТЬ СЕРТИФИКАТ - /, / - КОНЕЦ СЕРТИФИКАТА- / p'> cert.pem

Теперь мы можем обновить созданный сертификат, чтобы включить в него всю цепочку полномочий.

Нам нужно обновить конфиг vsftpd

vim /etc/vsftpd/vsftpd.conf
ssl_enable = ДА
ssl_tlsv1 = ДА
rsa_private_key_file = / и т.д. / httpd / ssl / somepem.pem
rsa_cert_file = / и т.д. / vsftpd / ssl / cert.pem

Тест с использованием lftp

lftp -d -u пользователь: передать myserver.com

Сертификат: C = США, ST = Аризона, L = Скоттсдейл, O = Starfield Technologies \, Inc., OU =http://certificates.starfieldtech.com/repository,CN=Starfield Безопасная сертификация> Центр, серийный номер = 10688435
Выдан: C = США, O = Starfield Technologies \, Inc., OU = Центр сертификации Starfield Class 2
Проверка: C = США, O = Starfield Technologies \, Inc., OU = Центр сертификации Starfield Class 2
Доверенный
Сертификат: C = США, O = Starfield Technologies \, Inc., OU = Центр сертификации Starfield Class 2
Выдан: C = США, O = Starfield Technologies \, Inc., OU = Центр сертификации Starfield Class 2
Доверенный

Важно правильно упаковать pem-файл в правильном порядке.
как-сделать-я-сделать-мой-собственный-связка-файл-из-crt-файлов

Создание .pem со всей цепочкой доверия сертификатов SSL

Войдите в консоль управления DigiCert и загрузите промежуточные (DigiCertCA.crt), корневой (TrustedRoot.crt) и первичный сертификаты (your_domain_name.crt). Откройте текстовый редактор (например, Wordpad) и вставьте все тело каждого сертификата в один текстовый файл в следующем порядке:

  1. Первичный сертификат - your_domain_name.crt
  2. Промежуточный сертификат - DigiCertCA.crt
  3. Корневой сертификат - TrustedRoot.crt

Не забудьте включить начальный и конечный теги в каждый сертификат. Результат должен выглядеть> так:

----- НАЧАТЬ СЕРТИФИКАТ -----
(Ваш основной сертификат SSL: your_domain_name.crt)
----- КОНЕЦ СЕРТИФИКАТА -----
----- НАЧАТЬ СЕРТИФИКАТ -----
(Ваш промежуточный сертификат: DigiCertCA.crt)
----- КОНЕЦ СЕРТИФИКАТА -----
----- НАЧАТЬ СЕРТИФИКАТ -----
(Ваш корневой сертификат: TrustedRoot.crt)
----- КОНЕЦ СЕРТИФИКАТА -----

Сохраните объединенный файл как your_domain_name.pem. Теперь файл .pem готов к использованию.

Вы всегда можете настроить свой ftp-клиент так, чтобы он игнорировал сертификаты. Это небезопасно, и этого следует избегать. Делайте это на свой страх и риск. http://anils-tips.blogspot.com/2011/05/lftp-fatal-error-certificate.html

lftp user@test.ftp.com: / каталог
Пароль:
cd: Неустранимая ошибка: Проверка сертификата: Не доверено

Чтобы полностью отключить проверку сертификата в lftp.
This is not a good idea if you are concerned about security

кошка ~ / .lftp / rc
установить ssl: verify-certificate no

или
Если вы просто хотите сделать это для одного конкретного хоста, вы можете.

lftp -e "установить ssl: verify-certificate no" user@test.ftp.com: / directory