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

Обновление сертификата для FTP-сайта для IIS 10 - FTP-клиент не видит недавно обновленный сертификат при основном подключении

У меня есть веб-сайт, который использует FTP-сервер IIS 10, и я настроил его на использование явного FTP через TLS, и он отлично работал в течение последнего года. Я купил сертификат сервера через Digicert.

Срок действия сертификата сервера истек 4 января 2019 г. Я продлил сертификат в Digicert, который действителен до 2021 года. Затем я установил его на сервере Windows и обновил FTP-сайт, чтобы использовать новый сертификат.

Однако, когда я пытаюсь подключиться к FileZilla Client, журнал сообщает следующее:

Status: Connecting to xxx.xxx.xxx.xxx:21...
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...

Но затем появляется предупреждение о том, что срок действия сертификата истек 4 января 2019 года.

Если я нажму «ОК», он продолжится, но затем появится сообщение: «Сертификаты основного подключения и подключения к данным не совпадают». Вот журнал после «Инициализации TLS ...»

Status: Verifying certificate...
Status: TLS connection established.
Status: Logged in
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I.
Command:    PASV
Response:   227 Entering Passive Mode (38,101,199,155,19,46).
Command:    LIST
Response:   150 Opening BINARY mode data connection.
Error:  Primary connection and data connection certificates don't match.
Error:  Transfer connection interrupted: ECONNABORTED - Connection aborted
Response:   226 Transfer complete.
Error:  Failed to retrieve directory listing
Status: Disconnected from server: ECONNABORTED - Connection aborted

Это похоже на то, как логика инициализации TLS каким-то образом захватывает СТАРЫЙ сертификат, но как только он подключается, он захватывает НОВЫЙ сертификат и видит, что они не совпадают.

Если я обновлю FTP-сервер IIS, чтобы использовать СТАРЫЙ сертификат и повторить попытку подключения, я получаю такое же предупреждение об истекшем сертификате при инициализации TLS, но затем, когда я нажимаю ОК, он подключается, и я могу передавать файлы без проблем (хотя я должен подтвердить, что срок действия сертификата истекает при каждой передаче).

Что тут происходит? Кэширует ли клиент FileZilla сертификат инициализации TLS? Есть ли какие-то другие настройки или действия, которые мне нужно предпринять в конфигурации FTP IIS, чтобы «принять новый сертификат»? (Я попытался перезагрузить веб-сервер после обновления сертификата - по-прежнему нет кубиков, та же проблема.)

РЕДАКТИРОВАТЬ 2019-01-13: Я пошел дальше и удалил просроченный сертификат из хранилища сертификатов Windows, и теперь, когда я пытаюсь подключиться через FTP, он не выполняет команду AUTH TLS:

Status: Connecting to ...
Status: Connection established, waiting for welcome message...
Response:   220 Microsoft FTP Service
Command:    AUTH TLS
Response:   431 Failed to setup secure session.
Command:    AUTH SSL
Response:   431 Failed to setup secure session.
Error:  Could not connect to server

Это говорит мне, что это проблема на стороне сервера. А именно, сервер пытается найти просроченный сертификат, но не может. Я не понимаю, почему FTP IIS все еще пытается использовать старый сертификат.

Если я загляну %WinDir%\System32\Inetsrv\Config\applicationHost.config, Я вижу эти настройки для раздела FTP-сервера:

<ftpServer>
    <security>
        <ssl serverCertHash="E10..." serverCertStoreName="My" ssl128="false" controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow" />
        <authentication>
            <basicAuthentication enabled="true" />
        </authentication>
    </security>
</ftpServer>

В serverCertHash сообщается, это отпечаток ток сертификат (не с истекшим сроком действия), поэтому я не понимаю, как / где / почему IIS FTP использует просроченный сертификат для AUTH TLS.

РЕДАКТИРОВАТЬ 2019-02-13:

К сожалению, мне не удалось заставить это работать. В конце концов, я установил FileZilla Server и создал самозаверяющий сертификат для использования FileZilla Server.

Спасибо

Я был в недоумении по этому поводу и наткнулся на исправление (теперь у меня работает).

  1. Выберите корневой узел сервера IIS в диспетчере IIS
  2. Выберите настройки FTP SSL на правой панели.
  3. Выберите и примените новый сертификат к корневому узлу

Теперь это работает для меня с несколькими хостами ftp. Ранее я просто применил сертификат к каждому узлу хоста ...