Вопрос или проблема
У меня есть экземпляр Windows Server 2012 R2 в Azure. Для нового веб-сайта я заказал сертификат у GlobalSign. Получив сертификаты от них, я завершил запрос сертификата в IIS и установил корневой сертификат.
Я переместил веб-сайт на новый экземпляр, поэтому я экспортировал сертификат с приватным ключом и импортировал его на новом экземпляре.
Это была моя установка, и, казалось, все работало довольно хорошо.
Теперь я получаю множество ошибок SChannel. Они следующие:
Была сгенерирована фатальная ошибка и отправлена на удаленную конечную точку. Это может привести к завершению соединения. Определенный протоколом TLS фатальный код ошибки равен 40. Состояние ошибки Windows SChannel равно 1205.
Была сгенерирована фатальная ошибка и отправлена на удаленную конечную точку. Это может привести к завершению соединения. Определенный протоколом TLS фатальный код ошибки равен 20. Состояние ошибки Windows SChannel равно 960.
Запрос на установление соединения SSL 3.0 был получен от удаленного клиентского приложения, но ни один из поддерживаемых клиентским приложением шифров не поддерживается сервером. Запрос соединения SSL завершился неудачей.
Впервые я использую SSL, и, если честно, не имею представления, что я делаю. Для меня выглядит нормально, когда я запрашиваю веб-сайт (http://laola.biz).
Я уже использовал проверку SSL от GlobalSign, которая дала мне оценку C. https://sslcheck.globalsign.com/en_US/sslcheck?host=laola.biz#191.233.85.240-cert-ssl
Вот список сертификатов из mmc (мой веб-сайт laola.biz
):
Промежуточный
Корневой
Личный
Есть ли идеи, что я мог сделать не так?
Когда разные люди (с благими намерениями и иначе) пытаются получить доступ к вашему сайту с различных устройств, работающих на различных браузерах и операционных системах, в зависимости от протокола, который они выбирают для защиты этой связи, вы будете видеть сообщения от источника schannel.
Следующий блог должен помочь вам понять некоторые из сообщений, которые вы видите в своих журналах. http://blogs.msdn.com/b/kaushal/archive/2012/10/06/ssl-tls-alert-protocol-amp-the-alert-codes.aspx
Полученная вами оценка вызывает небольшую озабоченность. У вас бы не был включен SSL3, если бы вы опубликовали сайт напрямую на Azure Websites.
Вы можете отключить SSL3, следуя руководству здесь
http://blogs.msdn.com/b/kaushal/archive/2014/10/22/poodle-vulnerability-padding-oracle-on-downgraded-legacy-encryption.aspx
Если вы сможете переместить сайт с виртуальной машины на само Azure Website, это будет лучше. Это позволит вам избежать необходимости обновлять и защищать виртуальные машины, используемые для хостинга веб-сайта. Вместо этого вы полагаетесь на Azure PaaS для предоставления платформы для хостинга веб-сайта. Вы заботитесь о коде веб-сайта, пока Azure защищает и поддерживает IIS/платформу.
Грядущие изменения в платформе с точки зрения TLS отражены в https://testsslclient.trafficmanager.net/. Вы можете протестировать это, чтобы увидеть оценку, которую ваш веб-сайт мог бы получить, если бы вы решили переместить сайт на Azure Website напрямую.
Ответ или решение
Анализ ошибок SChannel после включения SSL на Windows Server 2012 R2
Настройка SSL-сертификатов может стать вызовом для системных администраторов, особенно без должного опыта. Рассмотрим вашу ситуацию более детально, чтобы понять причины возникновения ошибок SChannel и возможности их устранения.
1. Описание ситуации
Вы установили SSL-сертификат от GlobalSign на вашем Windows Server 2012 R2 в Azure. Судя по всему, сертификат был успешно экспортирован и импортирован на новый экземпляр. Однако после реализации SSL возникают ошибки протокола, а именно:
- Ошибка 40: "A fatal alert was generated and sent to the remote endpoint" (Код ошибки TLS 40, состояние SChannel 1205)
- Ошибка 20: "A fatal alert was generated and sent to the remote endpoint" (Код ошибки TLS 20, состояние SChannel 960)
- Ошибка SSL 3.0: Сообщение о том, что запрос соединения SSL 3.0 не поддерживается сервером.
Эти ошибки указывают на проблемы совместимости между клиентом и сервером, отражая несовпадение шифров и протоколов.
2. Причины ошибок
-
Несоответствие шифров: Ошибки могут быть вызваны отсутствием поддерживаемых шифров на сервере или их несовместимостью с клиентами. Убедитесь, что шифры, поддерживаемые вашим сервером, соответствуют тем, которые используют клиенты.
-
Поддержка протоколов: Если ваш сервер настроен на работу только с TLS 1.1 и TLS 1.2, это может вызвать проблемы с клиентами, которые пытаются использовать устаревший SSL 3.0. Изменения в протоколах TLS и отключение SSL 3.0 необходимы для обеспечения безопасности.
-
Ошибки в цепочке сертификатов: Обратите внимание на установленную цепочку сертификатов. Убедитесь, что промежуточные и корневые сертификаты корректно установлены и доступны, поскольку это критично для корректной работы SSL.
3. Рекомендации по решению
-
Отключение SSL 3.0: Для повышения безопасности следует отключить поддержку SSL 3.0. Вы можете сделать это, отредактировав реестр Windows. Создайте ключи для отключения SSL 3.0 по следующему пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client
Добавьте DWORD значение
Enabled
и установите его равным0
. -
Обновление шифров: Проверьте настройки шифров в IIS. Убедитесь, что сервер поддерживает современные и безопасные шифры, перекрывающие старые, уязвимые варианты.
-
Проверка цепочки сертификатов: Убедитесь, что для вашего сертификата установлены все необходимые промежуточные и корневые сертификаты. Ошибки в цепочке могут вызвать отказ от подключения.
-
Мониторинг и тестирование: Регулярно проверяйте работу вашего SSL-сертификата с помощью инструментов, таких как SSL Labs или GlobalSign SSL Check. Это поможет выявить любые проблемы с сертификатами и конфигурацией протоколов.
-
Переход на платформу Azure PaaS: Если вы впервые работаете с SSL, возможно, стоит рассмотреть возможность переноса сайта на Azure App Services. Это свяжет ваш веб-сайт с мощностями Azure, где управление безопасностью и поддержку протоколов обеспечит платформа, освободив вас от необходимости самостоятельно управлять сервером.
Заключение
Устранение ошибок SChannel требует внимательного подхода к настройкам SSL и анализу шифров. Проверяйте совместимость шифров, отключайте уязвимые протоколы и следите за цепочками сертификатов. Если вам нужны дополнительные ресурсы или помощь, не стесняйтесь обращаться к профессионалам. Безопасность вашего веб-сайта должна быть вашим приоритетом, и грамотная настройка SSL — это ключевой шаг на этом пути.