Собственно в эту заметку буду собирать инфу о сертификатах. Покупать доверенные сертификаты на все хосты как-то не судьба (особенно для обслуживания небольшого офиса на 5-10 рабочих мест), поэтому генерировать их будем сами.
Все сертификаты на сервере будут размещаться в одной директории, соответственно необходимо создать ее:
# mkdir /etc/ssl/certs |
ВАЖНО: При создании сертификатов обращаем внимание на поле "Common Name" - сюда необходимо вписать действительное DNS-имя сервера (FQDN), иначе сертификат не будет приниматься, в связи с недоверием к этому сертификату!
Exim
Почтовики, по определению, настраиваю с поддержкой SSL, соответственно необходим сертификат. В конфигурационном файле exim, например, за сертификат отвечают следующие строки:
tls_certificate = /etc/ssl/certs/mail.pem tls_privatekey = /etc/ssl/certs/mail.pem |
Перейдем в каталог сертификатов:
# cd /etc/ssl/certs |
Сгенерируем сертификат. В процессе нужно будет ответить на несколько вопросов. Но ведь это нас не пугает?
# openssl req -new -x509 -days 3653 -nodes -out /etc/ssl/certs/mail.pem -keyout /etc/ssl/certs/mail.pem Generating a 1024 bit RSA private key |
Apache
Довольно часто необходимо на web-сервере организовать работу через https, а для этого соответственно нужно настроить поддержку SSL для Apache.
Перейдем в каталог сертификатов:
# cd /etc/ssl/certs |
Генерируем сертификат (пароль вводим несложный, учитывая то, что скоро мы от него откажемся):
# openssl genrsa -out apache.key -rand randfile -des3 2048 0 semi-random bytes loaded # openssl req -new -x509 -key apache.key -out apache.crt -days 3653 |
Для избежания проблем в дальнейшем, значение "Common Name" необходимо "привязать" к имени домена.
Избавляемся от пароля в сертификате:
# openssl rsa -in apache.key -out apache.key Enter pass phrase for apache.key: writing RSA key |
Обезопасим систему:
# chmod 400 apache.key |
На этом действия с сертификатом заканчиваются. Следующий шаг - добавить поддержку созданного сертификата в конфигурационный файл Apache. Достигается это внесением следующих строк в httpd.conf:
Listen 443 NameVirtualHost *:443
<VirtualHost *:443> DocumentRoot /usr/local/www/apache22/data ErrorLog /var/log/apache/domain.com-error.log SSLEngine on <Directory "/usr/local/www/apache22/data"> </VirtualHost> |
Проверяем конфигурацию Apache, и если все в порядке, перезапускаем службу:
# apachectl configtest Syntax OK # apachectl graceful |
Теперь можно подключаться к серверу по протоколу HTTPS.
Последние комментарии
21 неделя 6 дней назад
46 недель 20 часов назад
2 года 46 недель назад
3 года 16 недель назад
3 года 39 недель назад
4 года 2 недели назад
4 года 3 недели назад
4 года 6 недель назад
4 года 18 недель назад
4 года 22 недели назад