- 2: создание ssl-сертификата
- 3: установка ssl-сертификата
- 4: активация сертификата ssl
- Apache ssl: как настроить ssl-сертификат для сервера apache
- If mod_ssl logs error ah02217
- If more than a few ssl certificates are used for the server
- If multiple ssl-enabled virtual hosts are configured and ocsp stapling should be disabled for some
- If the certificate does not point to an ocsp responder, or if a different address must be used
- If the ocsp responder is slow or unreliable
- Добавляем промежуточный сертификат, подтверждающий корректность цепочки
- Помогла статья? подписывайся на telegram канал автора
- Требования
- Установка mod_ssl в apache
- Установка ssl сертификата для apache
2: создание ssl-сертификата
Теперь веб-сервер подготовлен к шифрованию данных. Приступайте к созданию нового SSL-сертификата. Сертификат будет содержать некоторую базовую информацию о сайте; также к нему прилагается key-файл, благодаря которому сервер может обрабатывать зашифрованные данные.
Сначала нужно создать новый каталог, в котором будет храниться ключ сервера (key-файл) и сам сертификат:
3: установка ssl-сертификата
Итак, все необходимые компоненты готовы. Теперь нужно настроить виртуальный хост для отображения нового сертификата.
Откройте конфигурационный файл Apache для SSL в текстовом редакторе с привилегиями root:
4: активация сертификата ssl
На данный момент SSL-сертификат и веб-сервер готовы. Чтобы применить все изменения и запустить шифрование SSL, перезапустите сервер Apache, это обновит его конфигурации:
sudo apachectl restart
Чтобы увидеть новый сертификат в действии, посетите в браузере доменное имя или IP в таком формате:
Apache ssl: как настроить ssl-сертификат для сервера apache
Защищенное соединение между веб-браузером и сервером – гарантия того, что клиенты могут совершать безопасные транзакции, не опасаясь за кражу своих данных. Идеальный способ создать такое соединение – это воспользоваться связкой из Apache 2 (лидера в области серверного программного обеспечения для Linux) и SSL (протокола безопасной связи). В данной статье мы покажем вам, как защитить соединение между сервером Apache и пользовательским браузером c помощью SSL-сертификата.
SSL – это протокол для безопасной передачи кодированных данных между веб-браузером и веб-сервером. В большинстве случаев процесс аутентификации происходит только на стороне сервера, т.е. клиент видит, что это именно тот сервер, который был заявлен изначально. Как только соединение будет установлено, оно автоматически станет защищенным, поскольку доступ к ключевому материалу будет только у клиента и сервера, и ни у кого другого. Обычно аутентификация клиента в таком случае не требуется, однако в некоторых случаях она все же реализуется при помощи клиентских SSL-сертификатов.
Установка SSL для Apache
Установка SSL для Apache достаточно проста, в ней можно выделить несколько важных шагов.
Первый шаг – это получение сертификата. Вы всегда можете приобрести один из следующих SSL-сертификатов на сайте ЛидерТелеком:
Вне зависимости от того, какой сертификат вы выбрали для себя, вам понадобится пройти следующие шаги для его установки на сервер Apache.
После выпуска сертификата вам понадобится провести настройку Apache. Процесс настройки Apache для SSL следующий:
- Сохраняем основной и промежуточный сертификат в отдельную папку на сервере вместе с приватным ключом.
- Открываем конфигурационный файл Apache в текстовом редакторе. Конфигурационные файлы Apache обычно хранятся в /etc/httpd/ или /etc/apache2/. Основной конфигурационный файл обычно называется httpd.conf или apache2.conf. В большинстве случаев блоки <VirtualHost> будут находиться в самом низу файла httpd.conf. Иногда блоки <VirtualHost> могут располагаться в отдельных файлах в каталогах /etc/httpd/vhosts.d/ или /etc/httpd/sites/, либо в файле ssl.conf. Найти место, где располагается SSL-конфигурация в дистрибутивах Linux, можно с помощью grep:
grep -i -r “SSLCertificateFile” /etc/httpd/
В данном случае “/etc/httpd/” – это базовая директория в вашей сборке Apache.
- Если вы хотите, чтобы ваш сайт был доступен как через безопасное (https), так и через небезопасное (http) соединение, то в таком случае вам нужно будет создать виртуальный хост для каждого типа соединения. Скопируйте уже существующий виртуальный хост для http-соединения и смените порт с 80 на 443.
- Добавьте к файлу следующие строки (выделены жирным):
<VirtualHost 192.168.0.1:443>
DocumentRoot /var/www/leader_site
ServerName www.leader_site.com
SSLEngine on
SSLCertificateFile /etc/ssl/crt/bazov_cert.crt
SSLCertificateKeyFile /etc/ssl/crt/private.key
SSLCertificateChainFile /etc/ssl/crt/promejut_cert.crt
</VirtualHost>
- Измените имена файлов и путей, чтобы они соответствовали вашим файлам сертификата:
- SSLCertificateFile – файл основного сертификата для вашего домена.
- SSLCertificateKeyFile – файл с ключом, сгенерированный в процессе создания CSR.
- SSLCertificateChainFile – файл промежуточного сертификата (если он имеется), предоставленный вашим центром сертификации. Если эта директива не работает, попробуйте вместо нее использовать SSLCACertificateFile.
- Сохраняем изменения и тестируем конфигурацию Apache. Лучше всего заранее протестировать конфигурацию на наличие различных синтаксических ошибок, иначе Apache просто не запустится. Для тестирования выполняем следующую команду:
apachectl configtest
- Делаем рестарт Apache с помощью команды:
apachectl restart
Или останавливаем и вновь запускаем сервер:
apachectl stop
apachectl start
Если вы столкнулись с проблемами при установке SSL-соединения и вы не в силах самостоятельно устранить их, вы всегда можете связаться с нашими специалистами по представленным на сайте контактам. Мы поможем вам настроить SSL на Apache без лишних проблем.
If mod_ssl logs error ah02217
AH02217: ssl_stapling_init_cert: Can't retrieve issuer certificate!
In order to support OCSP Stapling when a particular server certificate is
used, the certificate chain for that certificate must be configured. If it
was not configured as part of enabling SSL, the AH02217 error will be issued
when stapling is enabled, and an OCSP response will not be provided for clients
using the certificate.
Refer to the SSLCertificateChainFile
and SSLCertificateFile for instructions
for configuring the certificate chain.
If more than a few ssl certificates are used for the server
OCSP responses are stored in the SSL stapling cache. While the responses
are typically a few hundred to a few thousand bytes in size, mod_ssl
supports OCSP responses up to around 10K bytes in size. With more than a
few certificates, the stapling cache size (32768 bytes in the example above)
may need to be increased. Error message AH01929 will be logged in case of
an error storing a response.
If multiple ssl-enabled virtual hosts are configured and ocsp
stapling should be disabled for some
Add SSLUseStapling Off to the virtual hosts for which OCSP
Stapling should be disabled.
If the certificate does not point to an ocsp responder, or if a
different address must be used
Refer to the
SSLStaplingForceURL directive.
You can confirm that a server certificate points to an OCSP responder
using the openssl command-line program, as follows:
If the ocsp responder is slow or unreliable
Several directives are available to handle timeouts and errors. Refer
to the documentation for the
SSLStaplingFakeTryLater,
SSLStaplingResponderTimeout, and
SSLStaplingReturnResponderErrors
directives.
Добавляем промежуточный сертификат, подтверждающий корректность цепочки
mcedit /etc/apache2/ssl/intermediate.crt
Пример промежуточного сертификата:——BEGIN CERTIFICATE—— MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC ——END CERTIFICATE——
4. Что того чтобы работа веб-сервера по защищенному соединению необходимо, что был включен модуль apache2 SSL
Просмотреть включен ли модуль можно выполнив следующую команду:
apache2ctl -M | grep ssl
Если вывод не пустой — модуль активирован. Если в выводе ничего нет включаем модуль:
a2enmod ssl
После выполнения команды появляется сообщение «Enabling module ssl».
Помогла статья? подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Требования
Для выполнения данного руководства нужен предварительно настроенный сервер CentOS 7 и не-рутовая учетная запись пользователя с расширенными привилегиями sudo. Подробнее об этом можно прочесть в руководстве «Начальная настройка сервера CentOS 7».
Кроме того, нужно предварительно установить Apache; для установки веб-сервера можно использовать стандартный менеджер пакетов yum:
Установка mod_ssl в apache
В качестве сервера у нас выступает apache на CentOS, хотя это не принципиально, настройка на других linux дистрибутивах будет идентичной. Рабочим web сервером является apache. Использовать ssl протокол в apache мы будем с помощью мода mod_ssl. Первым делом проверим, установлен ли он:
# rpm -qa | grep mod_ssl
Если нет, то устанавливаем:
# yum -y install mod_ssl
Установка ssl сертификата для apache
Для начала нужно установить Apache и модуль для него — mod_ssl. Если не знаете как установить apache, то можно ознакомится с материалом тут:
Установка Apache, PHP с suPHP на CentOS/RedHat/Fedora
Установка Apache mpm-itk на Unix/Linux
