- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Курс по сетям
- Что такое Active Directory и LDAP?
- URL и URI — в чем различие?
- Погружение в Iptables – теория и настройка
- Telegram чат для сисадминов
- Виртуализация сетевых функций (NVF)
- Как рассчитать требования к пропускной способности веб-сайта или веб-приложения
- Что такое Big Data?
- Установка SSL сертификата на IIS – сервере
- Создание и установка самоподписанного сертификата
- Импорт сертификата .pfx
- Полезно?
- Почему?
- Как установить сертификат на WIndows Server (IIS 7.x)
- Как установить сертификат на WIndows Server (IIS 7.x)
- Установка импортируемых сертификатов на веб-сервер в Windows Server 2003
- Установка сертификатов
- Импорт сертификата в хранилище локального компьютера
- Назначение импортируемого сертификата веб-сайту
- Как создать самоподписанный сертификат в Windows?
- New-SelfSignedCertificate: командлет PowerShell для генерации самоподписанного сертификата
- Создать самоподписанный сертфикат типа Code Signing для подписывания кода
- Использование самоподписанного SSL сертификата SHA-256 в IIS
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Популярное и похожее
Курс по сетям
Что такое Active Directory и LDAP?
URL и URI — в чем различие?
Погружение в Iptables – теория и настройка
Telegram чат для сисадминов
Виртуализация сетевых функций (NVF)
Как рассчитать требования к пропускной способности веб-сайта или веб-приложения
Что такое Big Data?
Еженедельный дайджест
Установка SSL сертификата на IIS – сервере
Простой способ сделать HTTPS
2 минуты чтения
Подключение по HTTPS – признак надежности и безопасной передачи данных. Чтобы реализовать безопасное подключение по HTTPS, нужно иметь SSL сертификат. В статье расскажем, как сгенерировать самоподписанный сертификат (self signed), а также как импортировать файл сертификата в формате .pfx. После, покажем установку и применение сертификатов к сайту в веб – сервере Microsoft IIS (Internet Information Services).
Обучайся в Merion Academy
Пройди курс по сетевым технологиям
Начать
В статье мы используем IIS (Internet Information Services) версии 10.0.14393.0
Создание и установка самоподписанного сертификата
Открываем IIS Manager. Далее, в меню слева (раздел Connections) нажимаем на корень (как правило это хостнейм вашей машины) и в открывшейся в центральной части рабочей области дважды кликаем левой кнопкой на Server Certificates:
IIS так же можно запустить из под Administrative Tools
В правом меню видим меню навигации Actions. Нажимаем на Create Self-Signed Certificate…. Открывается следующее окно:
Указываем имя для нашего сертификата и нажимаем «OK». Далее, выбираем наш сайт в меню слева:
Как только нажали на наш сайт, выбираем в правом поле меню Bindings, далее, редактируем текущее HTTPS подключение (по 443 порту) нажав Edit и выбираем сгенерированный самоподписанный SSL сертификат.
Нажимаем ОК. После, открываем командную строку cmd и перезагружаем IIS сервер командой:
Кстати, для рестарта, можно использовать просто команду iisreset без ключа restart
Импорт сертификата .pfx
Аналогично как и с самоподписанным сертификатом (раздел Connections) нажимаем на корень и кликаем на Server Certificates. Далее, справа, нажимаем Import:
Открываем на .pfx файл:
Когда для вас создавали .pfx, на него установили пароль – введите этот пароль в поле ниже и нажмите OK.
Далее, все стандартно – выбираем сайт слева → Bindings → редактируем текущее подключение по 443 порту → выбираем сертификат, который только что сделали в разделе SSL certificate → нажимаем OK.
По окончанию, снова рестартуем IIS:
Обучайся в Merion Academy
Пройди курс по сетевым технологиям
Начать
Полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
Как установить сертификат на WIndows Server (IIS 7.x)
Как установить сертификат на WIndows Server (IIS 7.x)
Добавляем сертификат на сервер.
Для того, чтобы загрузить сертификат перейдите в Диспетчер серверов ( “Пуск” — “Администрирование” — “Диспетчер серверов” ).
Затем откройте “Диспетчер служб IIS” (“Средства” — “Диспетчер служб IIS”) и кликните на “Сертификаты сервера”.
Далее способ установки зависит от того где вы генерировали CSR:
Сертификат загружен. В обоих вариантах, после добавления файла, сертификат будет доступен в разделе “Сертификаты сервера”. Осталось настроить доменное имя.
Подключение SSL-сертификата на домен.
Переходим в настройки сайта. В меню “Подключения” выберете сайт и кликните на пункт “Привязки”.
В открывшемся окне нажимаем “Добавить” и заполняем информацию:
Установка импортируемых сертификатов на веб-сервер в Windows Server 2003
В этой статье описывается импорт сертификата веб-сайта в хранилище сертификатов локального компьютера и назначение сертификата веб-сайту.
Исходная версия продукта: Windows Server 2003
Исходный номер КБ: 816794
Установка сертификатов
Windows 2003 Internet Information Server (IIS) 6.0 поддерживает SSL-подключения. Для всего веб-сайта, папки на веб-сайте или отдельного файла, расположенного в папке на сайте, может потребоваться безопасное SSL-подключение. Однако прежде чем веб-сервер сможет поддерживать сеансы SSL, необходимо установить сертификат веб-сайта.
Для установки сертификата в IIS 6.0 можно использовать один из следующих методов:
- Сделайте сетевой запрос с помощью мастера сертификатов веб-сервера IIS и установите сертификат во время запроса.
- Сделайте автономный запрос с помощью мастера сертификатов веб-сервера IIS и получите и установите сертификат позже.
- Запрос сертификата без использования мастера сертификатов веб-сервера IIS.
При использовании второго или третьего метода необходимо установить сертификат вручную.
Чтобы установить сертификат веб-сайта, необходимо выполнить следующие задачи:
- Импорт сертификата в хранилище сертификатов компьютера.
- Назначьте установленный сертификат веб-сайту.
Импорт сертификата в хранилище локального компьютера
Чтобы импортировать сертификат в хранилище локального компьютера, выполните следующие действия.
- На веб-сервере IIS 6.0 выберите «Начните» и выберите «Выполнить».
- В поле «Открыть» введите MMC и выберите «ОК».
- В меню «Файл» выберите «Добавить или удалить оснастку».
- В диалоговом окне «Добавление и удаление оснастки» выберите «Добавить».
- В диалоговом окне «Добавление автономных оснастки» выберите «Сертификаты» и выберите «Добавить».
- В диалоговом окне оснастки «Сертификаты» выберите «Учетная запись компьютера» и выберите «Далее».
- В диалоговом окне «Выбор компьютера» выберите «Локальный компьютер: (компьютер, на который запущена консоль) и выберите «Готово».
- В диалоговом окне «Добавление автономных оснастки» выберите «Закрыть».
- В диалоговом окне «Добавление и удаление оснастки» выберите «ОК».
- В левой области консоли дважды щелкните сертификаты (локальный компьютер).
- Щелкните правой кнопкой мыши «Личные», выберите пункт «Все задачи» и выберите пункт «Импорт».
- На странице «Мастер импорта сертификатов» выберите «Далее».
- На странице «Импортируемый файл» выберите «Обзор», найдите файл сертификата и выберите «Далее».
- Если у сертификата есть пароль, введите пароль на странице «Пароль» и выберите «Далее».
- На странице «Хранилище сертификатов» выберите «Разместить все сертификаты в следующем хранилище», а затем выберите «Далее».
- Выберите «Готово» и «ОК», чтобы подтвердить успешное импорт.
Назначение импортируемого сертификата веб-сайту
- Выберите «Начните» и выберите пункт «Администрирование», а затем выберите диспетчер служб IIS.
- В левой области выберите сервер.
- В правой области дважды щелкните веб-сайты.
- В правой области щелкните правой кнопкой мыши веб-сайт, на который нужно назначить сертификат, и выберите «Свойства».
- Выберите «Безопасность каталога» и выберите сертификат сервера.
- На странице «Мастер веб-сертификатов» выберите «Далее».
- На странице «Сертификат сервера» выберите «Назначить существующий сертификат», а затем выберите «Далее».
- На странице «Доступные сертификаты» выберите установленный сертификат, который необходимо назначить этому веб-сайту, а затем выберите «Далее».
- На странице «Порт SSL» настройте номер порта SSL. Порт по умолчанию 443 подходит для большинства ситуаций.
- Нажмите кнопку Далее.
- На странице «Сводка по сертификату» просмотрите сведения о сертификате и выберите «Далее».
- На странице «Завершение работы мастера сертификатов веб-сервера» выберите «Готово» и выберите «ОК».
Теперь можно настроить элементы веб-сайта для использования безопасных коммуникаций.
Как создать самоподписанный сертификат в Windows?
Большинству администраторов Windows, знакомых с темой PKI, известна утилита MakeCert.exe, с помощью которой можно создать самоподписанный сертификат. Эта утилита включена в состав Microsoft .NET Framework SDK и Microsoft Windows SDK. В современых версиях Windows 10/8.1 и Windows Server 2016/2012R2 вы можете создать самоподписанный сертификат с помощью PowerShell без использования дополнительных утилит.
New-SelfSignedCertificate: командлет PowerShell для генерации самоподписанного сертификата
Для создания самоподписанного сертификата в PowerShell нужно использовать командлет New-SelfSignedCertificate, входящий в состав модуля PKI (Public Key Infrastructure).
Чтобы вывести список всех доступных командлетов в модуле PKI, выполните команду:
Get-Command -Module PKI
Самоподписанные сертификаты рекомендуется использовать в тестовых целях или для обеспечения сертификатами внутренних интранет служб (IIS, Exchange, Web Application Proxy, LDAPS, ADRMS, DirectAccess и т.п.), в тех случая когда по какой-то причине приобретение сертификата у внешнего провайдера или разворачивание инфраструктуры PKI/CA невозможны.
Для создания сертификата нужно указать значения –DnsName (DNS имя сервера, имя может быть произвольным и отличаться от имени localhost) и —CertStoreLocation (раздел локального хранилища сертификатов, в который будет помещен сгенерированный сертификат). Командлет можно использовать для создания самоподписанного сертификата в Windows 10 (в нашем примере), Windows 8/8.1 и Windows Server 2019/2016/2012 R2.
Чтобы создать новый SSL сертификат типа SSLServerAuthentication (по умолчанию) для DNS имени test.contoso.com (указывается FQDN имя) и поместить его в список персональных сертификатов компьютера, выполните команду:
New-SelfSignedCertificate -DnsName test.contoso.com -CertStoreLocation cert:\LocalMachine\My
Directory: Microsoft.PowerShell.Security\Certificate::LocalMachine\My
Thumbprint Subject
———- ——-
2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 CN=test.contoso.com
Если вы указали нестандартный криптографический провайдер CSPs (например, с помощью параметров -KeyAlgorithm «ECDSA_secP256r1» -Provider ‘Microsoft Smart Card Key Storage Provider’ ), убедитесь, что он установлен на компьютере (по умолчанию используется CSP Microsoft Enhanced Cryptographic Provider). Иначе появится ошибка:
По-умолчанию генерируется самоподписанный сертификат со следующим параметрами:
- Криптографический алгоритм: RSA;
- Размер ключа: 2048 бит;
- Допустимые варианты использования ключа: Client Authentication и Server Authentication;
- Сертификат может использоваться для: Digital Signature, Key Encipherment ;
- Срок действия сертификата: 1 год.
Данная команда создаст новый сертификат и импортирует его в персональное хранилище компьютера. Откройте оснастку certlm.msc и проверьте, что в разделе Personal хранилища сертификатов компьютера появился новый сертификат.
С помощью командлета Get-ChildItem можно вывести все параметры созданного сертификата по его отпечатку (Thumbprint):
Get-ChildItem -Path «Cert:\LocalMachine\My» | Where-Object Thumbprint -eq DC1A0FDE0120085A45D8E14F870148D1EBCB82AE | Select-Object *
$todaydate = Get-Date
$add3year = $todaydate.AddYears(3)
New-SelfSignedCertificate -dnsname test.contoso.com -notafter $add3year -CertStoreLocation cert:\LocalMachine\My
Можно создать цепочку сертфикатов. Сначала создается корневой сертификат (CA), а на основании него генерируется SSL сертификат сервера:
$rootCert = New-SelfSignedCertificate -Subject «CN=TestRootCA,O=TestRootCA,OU=TestRootCA» -KeyExportPolicy Exportable -KeyUsage CertSign,CRLSign,DigitalSignature -KeyLength 2048 -KeyUsageProperty All -KeyAlgorithm ‘RSA’ -HashAlgorithm ‘SHA256’ -Provider «Microsoft Enhanced RSA and AES Cryptographic Provider» `
New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -DnsName «test2.contoso.com» -Signer $rootCert -KeyUsage KeyEncipherment,DigitalSignature
Для экспорта полученного сертификата c закрытым ключом в pfx файл, защищенный паролем, нужно получить его отпечаток (Thumbprint). Сначала нужно указать пароль защиты сертификата и преобразовать его в формат SecureString. Значение Thumbprint нужно скопировать из результатов выполнения команды New-SelfSignedCertificate.
$CertPassword = ConvertTo-SecureString -String “YourPassword” -Force –AsPlainText
Export-PfxCertificate -Cert cert:\LocalMachine\My\2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 -FilePath C:\test.pfx -Password $CertPassword
Можно экспортировать открытый ключ сертификата:
Export-Certificate -Cert Cert:\LocalMachine\My\2779C0490D558B31AAA0CEF2F6EB1A5C2CA83B30 -FilePath C:\testcert.cer
Проверьте, что в указанном каталоге появился cer(PFX)файл сертификата. Если щелкнуть по нему правой клавишей и выбрать пункт меню Install Certificate, можно с помощью мастера импорта сертификатов добавить сертификат в корневые доверенные сертификаты компьютера.
Выберите Store location -> Local Machine, Place all certificates in the following store -> Trusted Root Certification Authorities.
Полученный открытый ключ или сам файл сертификата можно распространить на все компьютеры и сервера в домене с помощью GPO (пример установки сертификата на компьютеры с помощью групповых политик).
Одной из полезных возможностей командлета New-SelfSignedCertificate является возможность создать сертификат с несколькими различными именами Subject Alternative Names (SAN).
Если создается сертификат с несколькими именами, первое имя в параметре DnsName будет использоваться в качестве CN (Common Name) сертификата. К примеру, создадим сертификат, у которого указаны следующие имена:
- Subject Name (CN): adfs1.contoso.com
- Subject Alternative Name (DNS): web-gw.contoso.com
- Subject Alternative Name (DNS): enterprise-reg.contoso.com
Команда создания сертификата будет такой:
New-SelfSignedCertificate -DnsName adfs1.contoso.com,web_gw.contoso.com,enterprise_reg.contoso.com -CertStoreLocation cert:\LocalMachine\My
Также можно сгенерировать wildcard сертификат для всего пространства имен домена, для этого в качестве имени сервера указывается *.contoso.com.
New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname *.contoso.com
Создать самоподписанный сертфикат типа Code Signing для подписывания кода
В PoweShell 3.0 командлет New-SelfSifgnedCertificate позволял генерировать только SSL сертификаты, которые нельзя было использоваться для подписывания кода драйверов и приложений (в отличии сертификатов, генерируемых утилитой MakeCert).
В версии PowerShell 5 новая версия командлета New-SelfSifgnedCertificate теперь может использоваться для выпуска сертификатов типа Code Signing.
Для создания самоподписанного сертфиката для подписывания кода приложений, выполните команду:
$cert = New-SelfSignedCertificate -Subject «Cert for Code Signing” -Type CodeSigningCert -CertStoreLocation cert:\LocalMachine\My
Set-AuthenticodeSignature -FilePath C:\PS\test_script.ps1 -Certificate $cert
Если при выполнении команды появится предупреждение UnknownError, значит этот сертификат недоверенный, т.к. находится в персональном хранилище сертификатов пользователя.
Move-Item -Path $cert.PSPath -Destination «Cert:\CurrentUser\Root»
После этого вы можете подписать свой PowerShell скрипт с помощью данного самоподписанного сертификата.
Использование самоподписанного SSL сертификата SHA-256 в IIS
Обратите внимание, что при создании самоподписанный сертификат для IIS через консоль Internet Information Manager (пункт меню Create Self-Signed Certificate), создается сертификат с исопльзованием алгоритма шифрования SHA-1. Такие сертификаты многими браузерами считаются недоверенными, поэтому они могут выдавать предубеждение. Командлет New-SelfSignedCertificate позволяет создать более популырный тип сертификата с помощью алгоритма шифрования SHA-256.
Вы можете привязать самоподписанный сертификат SHA-256, созданный в PowerShell, к сайту IIS. Если вы с помощью PowerShell создали SSL сертификат и поместили его в хранилище сертификатов компьютера, он будет автоматически доступен для сайтов IIS.
Запустите консоль IIS Manager, выберите ваш сайт, затем в настройке Site Binding, выберите созданный вами сертификат и сохраните изменения.