Настройка безопасного соединения HTTPS с использованием SSL ключа в CentOS

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

Для того чтобы настроить WEB-сервер с SSL шифрованием вам необходимо установить OpenSSL и mod_ssl. Для этого мы сделаем следующее:

# yum install mod_ssl openssl

Создадим самоподписанный сертификат

Нужно использовать OpenSSL для создания самоподписанного сертификата.
Чтобы создать ключ который будет использоваться в сертификате, мне понадобится права root:

Создим приватный ключ

# openssl genrsa -out ca.key 1024

Создим CSR (Certificate signing request)

# openssl req -new -key ca.key -out ca.csr

Создим самоподписанный ключ (допустим на 1 год — 365 дней)

# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

После того как ключик(и) был сгенерирован, необходимо скопировать (положить в нужное место) его/их:

# cp ca.crt /etc/pki/tls/certs
# cp ca.key /etc/pki/tls/private/ca.key
# cp ca.csr /etc/pki/tls/private/ca.csr

Поправим сейчас файлик с конфигурацией сертификатов, нам нужно найти строчку «SSLCertificateFile» в файле ssl.conf который лежит по пути /etc/httpd/conf.d/, сделать можно это так:

Если Вы фанат текстового редактора «vi»:

# vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf

Но я использую текстовый редактор «ee», по этому:

# ee /etc/httpd/conf.d/ssl.conf

В этом файлике нужно раскомментировать необходимые строки, в моем случае это:

SSLCertificateFile /etc/pki/tls/certs/ca.crt # путь к файлу ключа (Certificate Key File)
SSLCertificateKeyFile /etc/pki/tls/private/ca.key # путь к файлу приватных ключей

Сохраняемся и ребутнул Apache:

# /etc/init.d/httpd restart

Проверим работу  сертификата который использует протокол https:
https://192.168.77.113/

У вас будет другой адрес, адрес(ServerName) который Вы прописывали в конфиге апача. После того как перейдете по своему адресу вам будет показано сообщение чтобы Вы подтвердили данный сертификат.

Если вы используете виртуальные хосты, то необходимо прописать сертификаты в них:

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
# Установка сертификата SSL в CentOS
<Directory /var/www/vhosts/test.com/httpsdocs>
AllowOverride All
</Directory>
DocumentRoot /var/www/vhosts/test.com/httpsdocs
ServerName test.com
</VirtualHost>

После чего нужно ребутнуть апачик:

# /etc/init.d/httpd restart

Возможно Вам понадобится прописать в iptables (в вашем фаерволе) правило для данного порта (443), который использует https:

# iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# /sbin/service iptables save
# iptables -L -v

Установка сертификата SSL в CentOS выполнена. Коротко и понятно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.