Защитите Apache с помощью сертификата Let’s Encrypt в Rocky Linux
В нашем предыдущем руководстве мы рассказали вам об установке стека LAMP в Rocky Linux и приступили к настройке виртуальных хостов Apache на случай, если вам потребуется разместить несколько веб-сайтов на одном сервере.
Но на этом дело не заканчивается. Безопасность веб-сайтов в настоящее время является одной из самых серьезных проблем для большинства организаций и пользователей перед лицом растущих киберугроз. Существует несколько способов защитить ваш сайт. Одним из основных способов реализации базовой защиты от хакеров является шифрование вашего сайта с помощью сертификата SSL/TLS.
Сертификат SSL/TLS – это криптографический сертификат, который удостоверяет подлинность вашего веб-сайта и шифрует данные, которыми обмениваются браузер пользователя и веб-сервер.
По сути, ваш сайт переключается с использования протокола HTTP, который отправляет данные в виде обычного текста, на HTTPS (HTTP Secure), который шифрует данные. Без шифрования хакеры могут легко получить конфиденциальную информацию, такую как имена пользователей и пароли, перехватив данные, которыми обмениваются веб-сервер и браузер.
Некоторое время назад Google поставил перед собой задачу предупреждать пользователей, посещающих незашифрованные сайты, размещая метку «Небезопасно» в строке URL. Это делается для того, чтобы пользователи подвергались риску при просмотре сайта.
Если вы являетесь владельцем веб-сайта, вы наверняка не захотите подвергать своих клиентов и посетителей сайта риску раскрытия их личной информации хакерам. Именно по этой причине установка сертификата SSL на ваш веб-сервер является фундаментальным шагом на пути к обеспечению безопасности вашего сайта.
В этом руководстве мы покажем вам, как защитить веб-сервер Apache в Rocky Linux 8 с помощью SSL-сертификата Lets Encrypt.
Предварительные условия
Чтобы это работало, вам необходимо, чтобы ваш домен был привязан к общедоступному IP-адресу вашего сайта. Поэтому вам необходимо зайти на свой веб-хостинг и убедиться, что имя домена указывает на IP-адрес вашего веб-сервера.
Здесь у нас есть домен tecmint.info, указывающий на общедоступный IP-адрес нашего виртуального сервера.
Шаг 1. Установите репозиторий EPEL в Rocky Linux
Мы начнем с установки необходимых пакетов, которые в дальнейшем окажутся полезными. Мы установим репозиторий EPEL и пакет mod_ssl, который представляет собой модуль безопасности для HTTP-сервера Apache, обеспечивающий надежную криптографию за счет использования протоколов SSL/TLS. используя OpenSSL.
sudo dnf install epel-release mod_ssl
Шаг 2. Установите Certbot в Rocky Linux
Давайте теперь установим Certbot — клиент, который получает сертификат SSL из центра Let’s Encrypt и автоматизирует его установку и настройку. Это избавляет от боли и суеты, связанных с выполнением всего процесса вручную.
sudo dnf install certbot python3-certbot-apache
Certbot теперь полностью установлен и хорошо настроен.
Шаг 3. Установка SSL-сертификата для Apache в Rocky Linux
Последний шаг — получить и установить SSL-сертификат Let’s Encrypt. Для этого выполните команду:
sudo certbot --apache
Это запускает серию подсказок. Во-первых, вам необходимо будет указать свой адрес электронной почты. Затем просмотрите Условия обслуживания по указанному URL-адресу и нажмите Y
, чтобы согласиться с Условиями, а затем нажмите ВВОД.
Затем вас спросят, готовы ли вы поделиться своим адресом электронной почты с EFF (Electronic Frontier Foundation), которая является партнером-учредителем Let’s Encrypt.
Поделившись своим адресом электронной почты, вы подпишитесь на новости, кампании и другие обновления об организации. Если вы готовы указать свой адрес электронной почты, нажмите 'Y'
, в противном случае нажмите 'N'
и нажмите ENTER.
В следующем запросе будет предоставлен список доменов на основе конфигурации вашего веб-сервера и вас спросят, на каком из них вы предпочитаете включить HTTPS. Вы можете выбрать либо '1'
, либо '2'
. Но для единообразия просто нажмите ENTER, чтобы включить HTTPS для всех доменов.
Certbot завершит установку и настройку Let’s Encrypt и сохранит ключи безопасности в пути /etc/letsencrypt/live/yourdomain/.
Если все прошло по плану, вы увидите результат.
Шаг 4. Автоматическое продление SSL-сертификата для Apache в Rocky Linux
Certbot предоставляет сценарий для продления сертификата всего за несколько дней до истечения его срока действия. Вы можете выполнить пробный прогон, чтобы протестировать сценарий, как показано.
sudo certbot renew --dry-run
Теперь, чтобы автоматизировать обновление сертификата скриптом, отредактируйте файл crontab.
crontab -e
Укажите отображаемое задание cron и сохраните изменения.
0 * * * * /usr/sbin/certbot-auto renew
Шаг 4. Проверьте SSL-сертификат Apache в Rocky Linux
Чтобы убедиться, что ваш сайт зашифрован, просто зайдите в браузер и перезагрузите сайт. На этот раз вы должны увидеть значок замка прямо перед URL-адресом веб-сайта.
Чтобы получить более подробную информацию, нажмите на значок и выберите пункт «Сертификат» в появившемся меню.
Это заполнит все данные сертификата, как указано.
Вы можете проверить надежность своего сертификата, перейдя на страницу Тест SSL Labs. Укажите URL-адрес веб-сайта или имя домена и нажмите ВВОД.
Вы должны получить рейтинг A
, как указано здесь.
Заключение
Если вы зашли так далеко, то вы сможете зашифровать свой веб-сервер Apache с помощью Let’s Encrypt SSL Certificate, используя клиент Certbot из EFF.