SSL – это веб-протокол, который используется для безопасного обмена трафиком между сервером и клиентом.
Он обеспечивает безопасные и зашифрованные транзакции между браузером и веб-сайтами.
Этот протокол генерирует сертификат, который конечный пользователь должен аутентифицировать самостоятельно.
В этой статье объясняется установка SSL-сертификата на OpenSUSE для запуска безопасного сеанса.
Создание SSL-сертификата
Чтобы начать создание SSL-сертификата, создайте пару ключей, выполнив следующую команду.
# openssl genrsa -des3 -out server.key -rand random
0 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
.
.
.
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
Подпишите созданный открытый ключ и создайте цифровой сертификат, выполнив следующую команду.
# openssl req -new -x509 -key server.key -out server.crt
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
.
Затем скопируйте открытый ключ и цифровой сертификат в указанные ниже папки.
# cp server.key /etc/apache2/ssl.key/
# cp server.crt /etc/apache2/ssl.crt
Настройте OpenSSL в файле конфигурации Apache, как показано ниже.
# vim /etc/sysconfig/apache2
APACHE_SERVER_FLAGS="SSL"
APACHE_START_TIMEOUT="10"
Скопируйте файл vhost-ssl.template в папку назначения, выполнив следующую команду.
# cp /etc/apache2/vhosts.d/vhost-ssl.template /etc/apache2/vhosts.d/vhost-ssl.conf
Отредактируйте файл default-server.conf, выполнив следующую команду.
# vim /etc/apache2/default-server.conf
Include /etc/apache2/conf.d/*.conf
Include /etc/apache2/vhosts.d/*.conf
Затем настройте vhost-ssl.conf, выполнив редактор vim и введите следующее в файл следующим образом. Сохраните и выйдите из файла.
# vim /etc/apache2/vhosts.d/vhost-ssl.conf
<IfDefine SSL>
<IfDefine !NOSSL>
<VirtualHost _default_:443>
DocumentRoot "/srv/www/htdocs"
ServerName localhost:443
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile /etc/apache2/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
<FilesMatch ".(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/srv/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]"
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
CustomLog /var/log/apache2/ssl_request_log ssl_combined
</VirtualHost>
</IfDefine>
</IfDefine>
Теперь перезапустите службу Apache и выполните сетевой сетевой инструмент netstat для проверки службы TCP.
# systemctl restart apache2.service
Enter SSL pass phrase for localhost:443 (RSA): **********
Check the https port listening .
# netstat -an | grep 443
tcp 0 0 :::443 :::* LISTEN
Откройте браузер и проверьте выход SSL, запустив IP-адрес целевой системы.
Ниже приведено сообщение.