Ssl для windows 2003

Windows XP/2003 и SSL в текущих реалиях (на примере MDaemon)

Автор: Super User. Категория: ИТ.

Время идет, и Windows XP и Windows Server 2003 не молодеют. В то же время, стандарты безопасности развиваются независимо от этих устаревших систем. И, используя их в вашей инфраструктуре, вы не только ставите общую ИТ-систему под удар, но порой и просто теряете функционал.

Вот один из примеров, когда MDaemon не может установить SSL-соединение с другими почтовыми серверами или клиентами (как на отправку, так и на получение почты)

Если вы используете MDaemon совместно с Windows Server 2003, уже сейчас вы можете испытывать проблемы с доставой или получением почты от других почтовых серверов.

Вот выдержки из логов, которые сигнализируют о проблеме:

Еще могут встречаться ошибки типа «SSL negotiation failed, error code 0x80090326«.

Решение

Решением проблемы будет установка обновления в систему, которая добавляет поддержку AES Cipher в Windows:

  • TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA

К сожалению, существует только апдейт под Windows Server 2003, и нету для Windows XP. С этим придется смириться, поскольку поддержка XP уже завершена, и обновлений более не будет.

В некоторых случаях для Windows XP может помочь установка Service Pack 3 или (для случая 64-битной системы) KB968730.

Ssl для windows 2003

В первой части статьи я описал, как установить собственный центр сертификации.
В этой части статьи я расскажу как затребовать сертификат из CA и установить его на сайте с Exchange Server.
Итак, поехали.
Создание запроса на сертификат.

У нас уже есть установленный CA сервис — настала очередь создать запрос получения сертификата для нашего сайта.
Чтоб это сделать необходимо выполнить следующее:
1. Нажимаем Start | Administrative Tools | Internet Information Services (IIS) Manager.
2. Выбираем Web Sites, правой кнопкой мыши Default Web Site, и выбираем Properties.
3. Открываем закладку Directory Security

4. В разделе Secure Communications нажимаем кнопку Server Certificate. Появится окно установщика сертификата для Web сервера.Нажимаем кнопку Next.

5. Так как мы собираемся создавать новый сертификат, поэтому оставляем следующее окошко без изменения (Create new a certificate) и нажимаем Next.

6. В новом окне выбираем Send the request immediately и нажимаем Next. (В одной из следующих статей я опишу как подготовить запрос на сертификат и получить его используя CA в режиме offline).

7. В появившемся новом окне необходимо ввести имя сертификата в поле Name. Это имя просто описание (наименование) и не несет на себе никакой функциональной нагрузки, поэтому можно написать что угодно. По умолчанию длина ключа составляет 1024 бит — нам этого достаточно, поэтому оставляем её без изменения. Эту длинну ключа мы будем использовать в нашем 128 битном шифровании. Нажимаем Next.

Читайте также:  Кэширующий днс сервер windows

8. Далее мы выбираем нашу организацию и OU. Для простоты можно оставить все по умолчанию. Нажимаем Next.

9. В следующем окошке нам необходимо указать FQDN имя нашего сайта, к которому будут конкетится клиенты OWA из Интернет. Если у вас FQDN имя не будет совпадать с именем сайта которому выдан сертификат, клиенты OWA получат сообщение о ошибке (на самом деле это не критично). Нажимаем Next.

10. Вводим необходимую информацию в полях для заполнения такие как Country/Region, State/province, и City/locality и нажимаем Next.

11. Теперь нам предлагается выбрать порт с которым будут работать OWA клиенты при использование защищенного соединения (по какому порту они будут обращаться к нашему сайту). Т.к SSL работает по 443 порты мы оставляем все как есть (хотя при желание можно указать другой порт например 8443) и нажимаем Next.

12. Далее выбираем CA, т.к у нас CA только один, поэтому оставляем все как есть.Жмем Next.

13. Ну а теперь мы видим всю информацию, которую ввели на предыдущих шагах. Сверяем что все у нас указано верно и нажимаем Next и в следующем окне нажимаем Finish.

Важно: Т.к SSL сертификат был создан с использованием online CA, SSL соединение было включено автоматически. Если вы используете сторонние сертификаты или CA в режиме offline, вы должны включить эту опцию самостоятельно (Require secure channel (SSL) и Require 128-bit encryption) как показано на картинке ниже.

Итак SSL теперь у нас включен на нашем сайте с использованием собственного Certificate Service. Теперь настало время посмотреть, работает ли то, что мы сделали.
14. На клиенте запустим IE и наберем там имя нашего сервера в таком виде http://exchangeserver/exchange. Должно появиться окно с ошибкой такого типа как показано ниже.

15. А теперь давайте наберем https://exchangeserver/exchange. У нас сразу появится сообщение безопасности.

Примечание: Как я писал раньше — если имя не будет совпадать с FQDN именем сайта, то будет выдано сообщение о ошибке (предупреждение), что мы сейчас и видим.

16. Нажимаем Yes и увидим приглашение ввести имя пользователя и пароль для доступа к OWA.

17. Вводим имя пользователя и пароль (доменные) и увидим как у нас загрузится OWA

И заметьте желтенький замочек в правом нижнем углу. Он показывает что у нас установлено безопасное соединение с сайтом, и что работа была сделана не напрасно, и SSL работает.

В следующей части я опишу как облегчить жизнь пользователям и сделать перенаправление на безопасное соединение(отпадет необходимость учить пользователей вместо http набирать https при работе с OWA) ну и как включать и отключать OWA для пользователя или для всего сайта в целом.

2003, Exchange | Andrey Nikiforov | 01.06.2009

Exchange 2003, How to Articles, OWA, Step-by-Step

Включаем актуальные версии TLS под Windows. Часть 1

При этом не все йогурты одинаково полезны: SSL устарел полностью, TLS версии 1.0 – тоже, поэтому сегодня рекомендуется использовать лишь TLS версий 1.1 или 1.2. К слову, последняя на сегодня версия спецификации HTTPS, принятая еще в 2000 году, так и называется HTTP over TLS, про SSL там уже почти не упоминается.

Читайте также:  Well known security identifiers in windows operating systems

Но это лишь теория, на практике же TLS 1.2 до сих пор поддерживается лишь на ограниченном числе сайтов, с TLS 1.1 – уже заметно получше, но тоже не повсеместно. Проблема поддержки современных версий TLS присутствует и «на стороне клиента», об этом позже.

Итак, для того, чтобы пользоваться у себя на компьютере только актуальными версиями актуального криптографического протокола (Ну-ка, дети, напомните, как он называется? Правильно, TLS! А какой версии? Правильно, не ниже 1.1), необходимо сделать ряд нелепых телодвижений. Почему? Правильно, потому что никто за нас не включит TLS 1.1/1.2 на нашем компьютере. За нас только проверку «подлинности» Windows включат и кучу «мусора» в автозагрузку напихают. Впрочем, я отвлекся.

Лирическое отступление: я искренне убежден (и эта убежденность подтверждается практикой), что 90% пользователей компьютеров могли бы до сих пор пользоваться Windows 3.11 (была такая ОС в начале 90-х), или, в крайнем случае, Windows 98 SE – «пишущая машинка» и браузер ничего другого и не требуют, чтобы нам там не врали про новые, еще более улучшенные интерфейсы и прочие рюшечки «революционных» новых версий ОС.

Правдой также является то, что современные технологии, связанные с безопасностью, к устаревшим ОС никак не прикрутить. Не потому, что это в принципе невозможно, а потому, что их производитель этого не сделал, как не сделал и ничего для того, чтобы прикрутить их смогли сторонние производители ПО. Поэтому, все ОС семейства Windows версии ниже XP (да и та уже в обозримом будущем), увы, безнадежно устарели в аспекте сетевой безопасности.

На этом с лирикой закончим: все следующие рассуждения будут построены на том, что используется ОС Windows XP или более поздняя (Vista, 7 или 8). И на том, что мы сами себе – вовсе не злобные Буратины, а потому своевременно устанавливаем на используемую ОС все полагающиеся обновления и «заплатки».

Итак, для начала нам стоит включить поддержку TLS 1.1 и TLS 1.2 и отключить SSL и TLS 1.0 на уровне самой ОС, за что отвечает Microsoft TLS/SSL Security Provider (schannel.dll). Что нам это даст? А вот что: все программы, которые не имеют собственного модуля поддержки TLS, а используют системный, будут использовать актуальные версии TLS.

Это в теории, согласно которой так настраивается поддержка актуальных версий TLS, в том числе, в браузере Internet Explorer. На самом деле, даже его последняя версия для Windows XP – восьмая – не поддерживает TLS версий выше 1.0. Под Windows Vista – поддерживает, а под Windows XP – нет и, более того, игнорирует запрет использования TLS 1.0. Как так? Вопрос к Microsoft, а не ко мне, мы же все равно сделаем то, что от нас требуется согласно инструкции самого производителя.

А делаем мы следующее: идем в реестр по адресу
HKLM\SYSTEM\CurrentControlSet\Control\Se curityProviders\SCHANNEL\Protocols, находим там разделы PCT 1.0, SSL 2.0, SSL 3.0 и TLS 1.0, в каждом из них – подразделы Client и Server, и создаем в них ключи DisabledByDefault (тип – DWORD), которым присваиваем значение 1 (единица).

Читайте также:  Лучший антивирус для windows x64

Затем там же находим разделы TLS 1.1 и TLS 1.2 и аналогичным образом создаем в них вышеупомянутый ключ, но значение ему присваиваем другое – 0 (ноль). Там же мы отключаем слабые алгоритмы шифрования и хеширования RC2, RC4, DES, MD4 и MD5 а также запрещаем устанавливать безопасные соединения без шифрования (да, бывает и такое. в чьих-то нездоровых фантазиях), оставляя лишь относительно стойкие Triple DES и SHA.

Поскольку расписывать как, что и где менять, мне откровенно лениво, ниже будет приведено содержимое .reg файла, вносящего соответствующие изменения в реестр. Надо аккуратненько скопировать все это содержимое в буфер обмена, создать новый текстовой файл, вставить содержимое туда, сохранить этот файл с расширением .reg и запустить его, после чего – перезагрузиться.

Если случилось так, что после перезагрузки появились проблемы с сетевым соединением, ту же самую операцию надо будет проделать уже со следующим файлом – он удаляет из реестра все сделанные нами изменения, после чего (правильно, дети) снова перезагрузиться. Не обнаружив в реестре вообще никаких значений в испорченном нами разделе реестра, ОС при загрузке создаст их заново со значениями по умолчанию.

Продвинутые пользователи могут вместо полного отката изменений пошаманить с включением и отключением отдельных протоколов и алгоритмов, редактируя первый из файлов. Хозяйке на заметку: если для подключения к Интернету используется корпоративная локальная сеть, а тем более с доменом, то проблемы вероятны, и искать пути их решения рекомендуется за распитием бутылочки пива с администратором сети 😉

Также на заметку: браузеры Chrome, Firefox, Opera и Safari, т.е. все, которые не основаны на движке Internet Explorer, используют собственные модули поддержки SSL и TLS, а потому не зависят от рассмотренных нами настроек. Но это не значит, что ими можно пренебречь (в смысле, настройками). А вот о настройках самих браузеров мы поговорим в следующий раз.

Включаем TLS 1.1 и 1.2, отключаем SSL и TLS 1.0:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\PCT 1.0\Client]
«DisabledByDefault»=dword:00000001
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\PCT 1.0\Server]
«DisabledByDefault»=dword:00000001
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\SSL 2.0\Client]
«DisabledByDefault»=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\SSL 2.0\Server]
«DisabledByDefault»=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\SSL 3.0\Client]
«DisabledByDefault»=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\SSL 3.0\Server]
«DisabledByDefault»=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\TLS 1.0\Client]
«DisabledByDefault»=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\TLS 1.0\Server]
«DisabledByDefault»=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\TLS 1.1\Client]
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\TLS 1.1\Server]
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\TLS 1.2\Client]
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\P rotocols\TLS 1.2\Server]
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL]
«AllowInsecureRenegoClients»=dword:00000 000
«AllowInsecureRenegoServers»=dword:00000 000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\C iphers\DES 56/56]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\C iphers\NULL]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\C iphers\RC2 128/128]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\C iphers\RC2 40/128]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\C iphers\RC2 56/128]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\C iphers\RC4 128/128]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\C iphers\RC4 40/128]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\C iphers\RC4 56/128]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\H ashes\MD4]
«Enabled»=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro lSet\Control\SecurityProviders\SCHANNEL\H ashes\MD5]
«Enabled»=dword:00000000

Все сломалось? Удаляем сделанные изменения:

Windows Registry Editor Version 5.00

Оцените статью