Гид по технологиям

Установка SSL в IIS: пошаговое руководство

• 8 min read • DevOps • Обновлено 29 Oct 2025
Установка SSL в IIS — пошаговое руководство
Установка SSL в IIS — пошаговое руководство

Схема процесса выпуска и установки SSL сертификата на IIS

Быстрая навигация

  • Что такое SSL-сертификат и зачем он нужен
  • Генерация CSR в IIS
  • Заказ сертификата и отправка CSR в удостоверяющий центр
  • Установка сертификата в IIS
  • Привязка сертификата к сайту (binding)
  • Проверка сертификата и отладка
  • Дополнительно: чек-листы, PowerShell сниппеты, откат, часто встречаемые ошибки

Что такое SSL-сертификат и зачем он нужен

Определение: SSL/TLS‑сертификат — это электронный сертификат, который подтверждает подлинность сервера и позволяет установить зашифрованное HTTPS‑соединение между браузером клиента и веб‑сервером.

Зачем нужен: сертификат шифрует трафик (например, логины, номера карт) и подтверждает владельца домена, что защищает пользователей от атак «человек посередине» и повышает доверие к сайту.

Краткая примечание: HTTPS не делает сайт полностью безопасным — это компонент защиты канала передачи данных. Приватность и соответствие требованиям (например, GDPR) требуют дополнительной работы на уровне данных и приложений.

Генерация запроса на подпись сертификата (CSR) в IIS

  1. Откройте IIS Manager на сервере Windows.
  2. В дереве слева выберите уровень сервера и дважды кликните Server Certificates.

Окно Server Certificates в IIS Manager

  1. Справа выберите Create Certificate Request.
  2. Заполните поля организации. Если у вас нет юридического наименования, укажите ваше имя как владельца.

Важно: в поле Common Name указывайте полное доменное имя в том виде, в котором пользователи будут заходить на сайт. Если вы хотите одновременно защищать и example.com, и www.example.com, используйте SAN‑сертификат или включите www в сертификат. Если в Common Name указать только example.com, сертификат по умолчанию не покроет www.example.com, и наоборот.

  1. Выберите длину ключа (Bit Length) — обычно 2048 бит (минимум для современной совместимости). Нажмите Next и сохраните файл CSR на рабочем столе, например yourdomain.csr.txt.

Ниже приведён пример CSR фрагмента, который вы будете копировать в форму регистратора:

-----BEGIN CERTIFICATE REQUEST-----
``` MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBFV0YWgxDzANBgNV BAcMBkxpbmRvbjEWMBQGA1UECgwNRGlnaUNlcnQgSW5jLjERMA8GA1UECwwIRGln aUNlcnQxHTAbBgNVBAMMFGV4YW1wbGUuZGlnaWNlcnQuY29tMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8+To7d+2kPWeBv/orU3LVbJwDrSQbeKamCmo wp5bqDxIwV20zqRb7APUOKYoVEFFOEQs6T6gImnIolhbiH6m4zgZ/CPvWBOkZc+c 1Po2EmvBz+AD5sBdT5kzGQA6NbWyZGldxRthNLOs1efOhdnWFuhI162qmcflgpiI WDuwq4C9f+YkeJhNn9dF5+owm8cOQmDrV8NNdiTqin8q3qYAHHJRW28glJUCZkTZ wIaSR6crBQ8TbYNE0dc+Caa3DOIkz1EOsHWzTx+n0zKfqcbgXi4DJx+C1bjptYPR BPZL8DAeWuA8ebudVT44yEp82G96/Ggcf7F33xMxe0yc+Xa6owIDAQABoAAwDQYJ KoZIhvcNAQEFBQADggEBAB0kcrFccSmFDmxox0Ne01UIqSsDqHgL+XmHTXJwre6D hJSZwbvEtOK0G3+dr4Fs11WuUNt5qcLsx5a8uk4G6AKHMzuhLsJ7XZjgmQXGECpY Q4mC3yT3ZoCGpIXbw+iP3lmEEXgaQL0Tx5LFl/okKbKYwIqNiyKWOMj7ZR/wxWg/ ZDGRs55xuoeLDJ/ZRFf9bI+IaCUd1YrfYcHIl3G87Av+r49YVwqRDT0VDV7uLgqn 29XI1PpVUNCPQGn9p/eX6Qo7vpDaPybRtA2R7XLKjQaF9oXWeCUqy1hvJac9QFO2 97Ob1alpHPoZ7mWiEuJwjBPii6a9M9G30nUo39lBi1w= -----END CERTIFICATE REQUEST-----

Скопируйте содержимое CSR в форму регистратора, как требует выбранный CA.

Заказ SSL и отправка CSR удостоверяющему центру

  1. Выберите CA: коммерческие варианты — DigiCert, GlobalSign, Namecheap, Sectigo/Comodo; бесплатный вариант — Let’s Encrypt (подходит для автоматизированных сценариев и частых обновлений).
  2. В форме заказа вставьте CSR. Если CA требует подтверждения владения доменом, выполните один из методов: email‑верификация на администратора домена, запись DNS TXT с кодом или размещение файла на сайте по специфичному URL.
  3. После проверки CA выдаст вам сертификат в формате .cer, .crt или .pem. Скачайте файл и сохраните на сервере.

Примечание о SAN и wildcard: если вы хотите защищать несколько поддоменов, спросите у CA SAN (Subject Alternative Name) или wildcard (.example.com). Wildcard не покрывает домен второго уровня без подстановки (например, .example.com не покрывает example.com без отдельной записи).

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

  1. В IIS Manager вернитесь в Server Certificates и выберите Complete Certificate Request.
  2. Укажите путь к файлу сертификата, полученному от CA, и задайте Friendly Name (удобное имя, например yourdomain.com или yourdomain.com-01).
  3. Оставьте хранилище Personal (Личное) по умолчанию.

Окно Complete Certificate Request в IIS

После успешной установки сертификат появится в списке Server Certificates и в хранилище сертификатов Windows.

Привязка сертификата к веб‑сайту (binding)

  1. В IIS Manager выберите нужный сайт в списке Sites.
  2. Справа нажмите Bindings….
  3. Добавьте binding с Type: https, Port: 443, IP address: All Unassigned или конкретный IP, и в поле SSL certificate выберите установленный сертификат по Friendly Name.
  4. Повторите для версии с www, если используете отдельный сертификат или отдельный binding.

Окно Site Bindings в IIS

После привязки откройте в браузере https://yourdomain.com и проверьте отсутствие предупреждений.

Проверка сертификата и отладка

  1. Простой тест: откройте https://yourdomain.com и посмотрите детали сертификата в браузере.
  2. Онлайн‑проверка: используйте SSL Checker, например https://www.sslshopper.com/ssl-checker.html — введите адрес и посмотрите цепочку сертификатов, сроки действия, версию TLS, поддерживаемые шифры.

Результат проверки SSL в онлайн сервисе

  1. Частая проблема — смешанный контент: часть ресурсов (изображения, скрипты, стили) загружаются по http:// вместо https://. Проверяйте консоль браузера и исправляйте URL в шаблонах/конфигурации.
  2. Чтобы принудительно перенаправлять трафик с HTTP на HTTPS, добавьте правило перенаправления в IIS URL Rewrite или настройте правило на уровне приложения/Reverse Proxy.

Полезные команды PowerShell для обработки сертификатов и биндинга в IIS

Примеры ниже пригодятся для автоматизации. Меняйте пути, пароли, имена сайтов и шаблоны предмета (subject) под свой случай.

# Импорт PFX в хранилище LocalMachine\My
$password = ConvertTo-SecureString -String 'P@ssw0rd' -AsPlainText -Force
Import-PfxCertificate -FilePath 'C:\certs\yourdomain.pfx' -CertStoreLocation Cert:\LocalMachine\My -Password $password

# Найти отпечаток (thumbprint) сертификата по Subject
$thumb = (Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Subject -like '*yourdomain.com*' } | Select-Object -First 1).Thumbprint

# Подключить модуль и создать binding для сайта в IIS
Import-Module WebAdministration
# Создаём привязку https на 443 (если нужная привязка уже есть, используйте Set-Item вместо New-Item)
New-WebBinding -Name 'Default Web Site' -Protocol https -Port 443 -IPAddress '*' -HostHeader 'yourdomain.com'
Push-Location IIS:\SslBindings
New-Item '0.0.0.0!443!yourdomain.com' -Thumbprint $thumb -SSLFlags 1
Pop-Location

Примечание: использование PFX предполагает наличие приватного ключа; IIS при использовании CSR, сгенерированного на этом сервере, уже хранит приватный ключ в магазине, и вам может потребоваться импортировать только .cer. Если вы переносите сертификат на другой сервер, экспортируйте его в PFX с приватным ключом.

Чек-листы по ролям

Администратор сервера

  • Сгенерировать CSR и сохранить копию.
  • Убедиться в длине ключа (рекомендуется 2048 бит).
  • Установить сертификат через Complete Certificate Request.
  • Привязать сертификат к сайту и протестировать.
  • Резервная копия приватного ключа (если переносите — экспорт в PFX).

Разработчик/DevOps

  • Проверить, что все ресурсы загружаются по HTTPS.
  • Настроить редиректы http → https.
  • Автоматизировать обновление/проверку сроков действия сертификата.

Специалист по безопасности

  • Проверить цепочку доверия и актуальность алгоритмов (RSA 2048+, SHA-2).
  • Проверить поддержку современных версий TLS (TLS 1.2 и 1.3 при возможности).
  • Настроить HSTS, если сайт полностью на HTTPS.

Стандарт работы (SOP) для установки SSL в IIS

  1. Подготовка: проверить, что у вас есть доступ администратора к серверу и к панели управления доменом (для DNS‑валидации).
  2. CSR: сгенерировать CSR в IIS, сохранить файл и заметить, где находится приватный ключ.
  3. Заказ: отправить CSR в CA, пройти валидацию владения доменом.
  4. Получение сертификата: скачать .cer/.crt и сохранить в защищённом каталоге.
  5. Установка: Complete Certificate Request в IIS. Проверить, что сертификат появился в Server Certificates.
  6. Биндинг: добавить https binding для всех нужных хостов и портов.
  7. Тестирование: браузер, SSL Checker, проверки на смешанный контент.
  8. Мониторинг: настроить оповещения о сроке окончания действия сертификата (за 30/14/7 дней).
  9. Документирование: записать Friendly Name, thumbprint, дату установки.

Критерии приёмки

  • Сайт открывается по HTTPS без предупреждений в браузере.
  • SSL Checker показывает корректную цепочку и срок действия.
  • Нет смешанного контента на основных страницах.
  • Перенаправление с HTTP на HTTPS работает корректно.

План отката и экстренного восстановления

Если после установки сертификата сайт перестал отвечать по HTTPS:

  1. Откат binding: в IIS временно удалите https binding для проблемного сайта.
  2. Вернуть старый сертификат: если у вас был рабочий сертификат, привяжите его обратно.
  3. Проверить журнал событий Windows и лог IIS на ошибки TLS/SSL.
  4. Если приватный ключ повреждён, восстановите сертификат из PFX-резервной копии.
  5. Если ничего не помогает — временно поставить самоподписанный сертификат для восстановления доступа и продолжить отладку.

Частые ошибки и решения

  • Проблема: «сертификат не доверен» — решение: убедитесь, что на сервере установлена полная цепочка (intermediate CA). Установите промежуточные сертификаты в Personal или Intermediate Certification Authorities в зависимости от инструкций CA.
  • Проблема: «много предупреждений для поддоменов» — решение: используйте SAN или wildcard, или покупайте отдельные сертификаты.
  • Проблема: «смешанный контент» — решение: изменить все жестко прописанные http:// URL на относительные или https://.
  • Проблема: «старые версии TLS» — решение: в системе Windows отключите устаревшие версии TLS/SSL через реестр или групповые политики и включите TLS 1.2/1.3 где поддерживается.

Дополнительные рекомендации по безопасности

  • Используйте ключи не короче 2048 бит; для особо чувствительных сервисов рассматривайте 3072 или лучше ECDSA.
  • Предпочитайте SHA‑2 подписанные сертификаты.
  • Включите HSTS на уровне сайта, если готовы: это запрещает загрузку по HTTP в браузерах.
  • Отключите старые шифры и протоколы (SSLv3, TLS 1.0, TLS 1.1).
  • Настройте мониторинг срока действия сертификатов и автоматические уведомления о истечении.

Безопасность приватного ключа: храните экспортированные PFX-файлы в защищённом месте и с сильными паролями, ограничьте доступ к ним.

Примечания по приватности и соответствию (GDPR)

SSL защищает канал передачи и помогает предотвратить перехват персональных данных в пути. Однако наличие HTTPS не освобождает от требований GDPR: хранение, обработка и передача персональных данных должны соответствовать правилам, включая правовую основу, минимизацию данных и обеспечения прав субъектов данных.

Метод принятия решения при выборе типа сертификата

flowchart TD
  A[Нужно защитить один домен?] -->|Да| B[Один домен: стандартный сертификат]
  A -->|Нет| C[Нужно защитить несколько поддоменов?]
  C -->|Да| D[Wildcard '*.example.com' или SAN]
  C -->|Нет| E[Много разных доменов → SAN сертификат с перечислением всех доменов]
  B --> F[Проверить: нужен ли EV или OV?]
  F --> G[EV если требуется зелёная строка/подтверждённая компания]
  F --> H[OV если нужна проверка организации]

Короткое руководство по миграции на другой сервер

  1. Экспортируйте сертификат с приватным ключом в формате PFX с исходного сервера.
  2. Передайте PFX безопасно (SFTP/защищённо) и импортируйте на новый сервер через Import-PfxCertificate.
  3. Проверьте отпечаток и повторно сделайте привязки в IIS.
  4. Тестируйте сайт и удалите PFX после импорта из рабочего каталога.

FAQ

Q: Нужно ли отдельно защищать www и non‑www?

A: Либо укажите оба варианта в сертификате (SAN), либо используйте wildcard, либо сделайте отдельные сертификаты и биндинги. Без www в сертификате доступ к www.example.com вызовет предупреждение в браузере.

Q: Как часто нужно обновлять сертификат?

A: Срок действия сертификата зависит от CA и типа cert; многие сертификаты действуют год или два, Let’s Encrypt — 90 дней. Настройте автоматические напоминания.

Q: Поможет ли SSL защитить сайт от XSS или уязвимостей в приложении?

A: Нет. SSL защищает канал передачи. XSS и другие уязвимости надо исправлять в коде и настройках приложения.

Заключение

Установка SSL в IIS — рутинная, но критически важная задача для безопасности сайта. Процесс включает генерацию CSR, заказ у CA, установку и привязку сертификата, а также тестирование и мониторинг. Следуйте чек‑листам, автоматизируйте проверку сроков действия и защищайте приватные ключи.

Ключевые шаги:

  • Сгенерировать CSR в IIS;
  • Отправить CSR в CA и пройти валидацию;
  • Установить сертификат и привязать к сайту;
  • Протестировать HTTPS и исправить смешанный контент;
  • Настроить мониторинг и резервное копирование PFX при необходимости.

В приложении к этой статье вы найдёте готовые PowerShell‑команды и SOP для быстрой установки и отката.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро