Для работы защищенного протокола SSL необходимо что бы на веб-сервере имелся SSL-сертификат, для аутентификации сервера клиентом. Если этот сервер расположен в пределах Active Directory желательно использовать сертификат выданный доменным центром сертификации. Корневой сертификат этого ЦС автоматически уже установлен на всех доменных компьютерах.

Приведенный ниже способ вполне подходит для изготовления SSL-сертификатов для веб-серверов Apache, оборудования Zyxel или DLink. В примере используются:

dc-srv.mydomain.local – Windows Server 2003, контроллер домена MYDOMAIN.LOCAL, на нем же располагается центр сертификации и “служба подачи заявок на сертификат через интернет”.

web-srv.mydomain.local – CentOS 6.0, web-сервер Apache на котором располагается хотя бы один виртуальный хост с поддержкой SSL.

1. Запрос к ЦС

Подключаемся к web-серверу (web-srv.mydomain.local) и создаем запрос на выдачу сертификата:

[root@localhost ~]# openssl req -new -newkey rsa:1024 -nodes -keyout web-srv.key -out web-srv.req -subj "/CN=web-srv.mydomain.local/OU=mydomain.local/O=MyCompany/C=RU/ST=Russia/L=Moscow"
Generating a 1024 bit RSA private key
.........++++++
...++++++
writing new private key to 'web-srv.key'
-----

Параметры:

web-srv.key - ключ web-сервера
web-srv.req - запрос на сертификат в кодировке Base64
CN - имя по которому мы будем обращаться к web-серверу
OU - имя домена Active Directory
O  - название корневого центра сертификации
ST - страна
L - населенный пункт

2. Обрабатываем запрос сертификата

Открываем окне браузера ссылку http://dc-srv.mydomain.local/certsrv/ – web-форма для запроса сертификата Active Directory; и выбираем “Запрос сертификата”:

Далее выбираем “расширенный запрос сертификата”

Выбираем “Выдать запрос, используя base-64 шифрованный файл PKCS #10, или выдать запрос обновления, используя base-64 шифрованный файл PKCS #7″

В окно “Сохранный запрос” переносим содержимое созданного ранее файла web-srv.req; “Шаблон сертификата” выбираем “Веб-сервер” и нажимаем “Выдать”.

На последней странице выбираем “DER-шифрование” и “Загрузить сертификат”.

3. Конвертируем и устанавливаем сертификат

Загруженный сертификат certnew.cer нужно передать на веб-сервер любым удобным способом и положить в папку /root. Конвертируем сертификат из DER в формат PEM:

[root@localhost ~]# openssl x509 -in certnew.cer -inform DER -out web-srv.pem -outform PEM

Переносим файлы сертификата и ключа в предназначенные для них папки:

[root@localhost ~]# mv web-srv.key /etc/pki/tls/private/
[root@localhost ~]# mv web-srv.pem /etc/pki/tls/certs/

В случае использования запрещающего режима SELinux восстанавливаем контекст в папках с новыми ключем и сетрификатом:

[root@localhost ~]# restorecon -v -R /etc/pki/tls/certs/
restorecon reset /etc/pki/tls/certs/web-srv.pem context unconfined_u:object_r:admin_home_t:s0->system_u:object_r:cert_t:s0
[root@localhost ~]# restorecon -v -R /etc/pki/tls/private
restorecon reset /etc/pki/tls/private/web-srv.key context unconfined_u:object_r:admin_home_t:s0->system_u:object_r:cert_t:s0

В конфигурационных файлах apache, внутри нужного виртуального хоста с включенным SSL, меняем значение параметров:

SSLCertificateFile /etc/pki/tls/certs/web-srv.pem
SSLCertificateKeyFile /etc/pki/tls/private/web-srv.key

В моем случае сертификат относится к дефолтному хосту, теперь переходим по ссылке https://web-srv.mydomain.local.
Просматриваем сертификат:

Ура, сертификат действителен и выдан доменным удостоверяющим центром MyCompany.

 

Один комментарий : “Apache и сертификаты из Active Directory”

  1. Наш центр сертификации предлагает клиентам достаточно широкий спектр услуг в области сертификации. Благодаря нашей помощи Вы в самые короткие сроки сможете в полном объеме оформить ряд документов, а точнее:сертификат соответствия, декларацию соответствия, сертификат евро 4, сертификат пожарной безопасности, и многое другое.
    тел.+7(812)702-56-21
    http://www.sertifikat-spb.ru

Оставить комментарий