heap.tech
лаборатория велосипедов
×

HTTPS: Установка SSL сертификата на IIS

28 декабря 2015
Любой сайт, у которого есть форма регистрации, авторизации или другая форма, которая подразумевает работу с персональными данными пользователя, нуждается в HTTPS.
HTTPS - это протокол, основанный на обычном HTTP, но с блекджеком и куртизанками шифрованием. Использование HTTPS позволяет надежно защитить получаемые и передаваемые данные между браузером пользователя и сервером.
То есть, злоумышленник, спрятавшийся в цепочке следования https-запроса пользователя к серверу, не сможет расшифровать перехваченные данные. Да и перехватить целостные данные будет гораздо проблематичнее. Также невозможно сказать к каким страницам сайта вы обращались и какие ресурсы вы загружали –весь трафик зашифрован. Но, понять на какой сервер вы заходили (корневой URL, например google.com), все-таки остается возможным. Но это фича, а не баг )

На этом вводная часть зачем и для чего закончена. Теперь практика - как сделать так, чтобы все было зашифровано. И получше. И бесплатно.

Вариант один. Самоподписной сертификат. Он заведомо неподходящий, поэтому спрячу его.
вариант один
Грубо говоря - вы генерируете сертификат на своем компьютере и устанавливаете его на ваш web-сервер. Передаваемые данные будут шифроваться, но КАЖДЫЙ ПОСЕТИТЕЛЬ вашего сайта увидит вот это


«Тут что-то странное» - подумает пользователь и закроет сайт.
Браузер говорит вам «я не знаю, кто выдал этот сертификат и уверен - ему нельзя доверять. Плюс, возможно, вы запрашивали другой сайт, но ваш запрос подменили и вы оказались тут». Не то, чтобы браузер сомневался в вашей честности, но и не проверить он тоже не имеет права. Жизнь такая.

Второй вариант, правильный. Сертификат выданный авторизованным центром сертификации.
Обычно сертификаты выдаются центрами сертификации не бесплатно. Но есть парочка центров, которые выдают их совершенно бесплатно! Например startssl.com

Первое – зарегистрируйтесь там. После регистрации вы должны подтвердить права владения вашим доменом. Это просто, создайте почтовый ящик типа admin@youdomain, укажите его на форме регистрации и вам придет письмо с кодом подтверждения. В итоге вы получите сертификат для доступа в toolbox на сайте startssl – добавьте его в хранилище сертификатов (двойной клик). Теперь вы сможете авторизовываться на сайте с текущего компьютера.
Для создания основного сертификата вас попросят придумать пароль (passphrase) и хорошенько запомнить его.
Далее будет создан сертификат (youdomain.crt) и зашифрованный (с помощью вашего пароля) приватный ключ (*.key), который надо где-то надежно сохранить.
Для реализации HTTPS-протокола на IIS нужно создать файл PFX-файл, который будет содержать приватный ключ и публичный сертификат. Это позволит принимать\отправлять данные и расшифровывать их.

Создание PFX-файла по шагам
1. Если вы еще не скачали ваш основной (your_domain_name.crt) сертификат - скачайте его

2. Вкладка «Decrypt private key». В большое текстовое окно скопируйте ваш приватный зашифрованный ключ. В маленькое окно скопируйте ваш пароль (passphrase)

3. Вкладка «Create PKCS#12 (PFX) File». В верхнее текстовое окно вставляйте дешифрованный приватный ключ (из шага 2), во второе окно вставляется содержимое вашего сертификата (из шага 1), в самом низу вводите passphrase

4. Именной сертификат готов!
5. PROFIT!

Добавить сертификат в IIS просто.
1. Открываете IIS-консоль управления, в основной вкладке

2. Укажите место, куда вы сохранили ваш PFX-файл

3. Теперь добавьте привязку веб-сайта к https (443 порт)

4. Готово, ваш сайт доступен по https. Теперь браузеры будут рисовать зеленый замочек напротив url.

Возможно, вам придется добавить правило в брандмауэр, которое разрешит входящие подключение на 443 (TCP, конечно же) порт.
 
2204
0

Оставлять комментарии могут только зарегистрированные пользователи

пока никто не оставлял комментариев