mod_ssl модуль, при помощи протоколов SSL и TLS, дает мощные криптографические возможности Apache веб серверу. Вы можете использовать само подписанные сертификаты или SSL сертификаты третьих лиц. Этот модуль поддерживает SSL v2/v3 и TLS v1. Начнем установку с инстоляции модуля:
Создадим SSL сертификат:
openssl genrsa -des3 -out apachekey.pem 2048
Важно! Используйте сложный пароль для защиты вашего сертификата.
Теперь подпишем наш сертификат:
На выходе должно быть что-то такое:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
——
Country Name (2 letter code) [GB]:UA
State or Province Name (full name) [Berkshire]:Kiev
Locality Name (eg, city) [Newbury]:Kiev
Organization Name (eg, company) [My Company Ltd]:Eddnet
Common Name (eg, your name or your server’s hostname) []:teaseo.ru
Email Address []:[email protected]
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Вам необходимо предоставить запрашиваемую информацию и нажать Enter для подтверждения.
Для создания сертификата Web сервера вам необходимо подписать CSR:
Теперь мы можем скопировать сертификаты в отдельную папку /etc/pki/tls/http/:
cp apachekey.pem /etc/pki/tls/http/
Перейдем к настройке Apache-а. Редактируем /etc/httpd/conf.d/ssl.conf:
SSLRandomSeed startup file:/dev/urandom 1024
SSLRandomSeed connect file:/dev/urandom 1024
И добавляем виртуальный хост:
SSLEngine On
SSLCertificateFile /etc/pki/tls/http/apachecert.pem
SSLCertificateKeyFile /etc/pki/tls/http/apachekey.pem
SSLProtocol All -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:+MD5
DocumentRoot «/var/www/html/ssl»
ServerName teaseo.ru:443
</VirtualHost>
Убедитесь, что папка /var/www/html/ssl существует:
настраиваем директорию /var/www/html/ssl. Для этого откройте /etc/httpd/conf/httpd.conf и добавьте:
SSLRequireSSL
SSLOptions +StrictRequire
SSLRequire %{HTTP_HOST} eq «teaseo.ru»
ErrorDocument 403 https://teaseo.ru/sslerror.html
</Directory>
Не забудьте перезапустить Apache и открыть 443 порт на фаерволе