Установка SSL сертификата Let’s Encrypt на CentOS 7

Введение

Вопросам безопасного посещения веб-сайтов сегодня уделяется большое внимание. Особенно это актуально при осуществлении онлайн платежей и вводе персональных данных на интернет-страницах. Защита информации при посещении сайта между компьютером пользователя и веб-сервером осуществляется при помощи SSL сертификатов. SSL сертификат - это уникальная электронно-цифровая подпись интернет сайта. SSL (Secure Sockets Layer) - это криптографический протокол, обеспечивающий шифрование трафика в интернет канале. Сайт не защищенный SSL сертификатом использует HTTP (HyperText Transfer Protocol) протокол, использующий по умолчанию 80 порт. Сайт с установленным сертификатом - HTTPS (HyperText Transfer Protocol Secure). HTTPS - это расширение протокола HTTP для обеспечения поддержки шифрования интернет соединения. Информация передается поверх криптографический протоколов. По умолчании использует 443 порт. HTTPS не является отдельным протоколом. Это все тот же HTTP, только использующий шифрование, тем самым обеспечивающий защиту от атак, основанных на перехвате трафика. Цены на SSL сертификаты, в среднем, начинаются от 1000 рублей в год. Для тех кто не готов платить такую сумму есть возможность получить бесплатный сертификат от Let’s Encrypt. Let’s Encrypt - центр сертификации, выдающий бесплатные SSL сертификаты. Осуществляет свою деятельность с 2015 года.  Сегодня мы как раз рассмотрим процесс получения и установки сертификата от Let’s Encrypt на сайты, работающие на веб-серверах Apache и NGINX под управлением операционной системы CentOS 7.

Подготовка к получению сертификата

Получать и устанавливать сертификат мы будем в автоматическом режиме с использованием Certbot. Certbot - это программное обеспечение с открытым исходным кодом для автоматического получения, установки и перевыпуска SSL сертификатов от Let’s Encrypt. Для установки Certbot на CentOS 7 сначала необходимо подключить репозиторий EPEL (Extra Packages for Enterprise Linux).

yum install epel-release

После подключения репозитория можно приступать к установке Certbot и получению сертификата. Для веб-серверов Apache и NGINX этот процесс будет незначительно отличаться.

Установка на Apache

Устанавливаем пакет Certbot для работы с Apache:

yum install certbot-apache

До установки сертификата сайт выглядит вот так:

Незащищенное HTTP соединение

Выпуск и установка сертификата осуществляется одной командой. Certbot автоматически изменит конфиг виртуального хоста и настроит его на работу с сертификатом. Выполняем:

certbot --apache -d домен.ru -d www.домен.ru

По запросу системы нужно будет указать адрес электронной почты администратора. Так же система спросит необходимо ли делать редирект с HTTP на HTTPS или нет. Отвечаем как вам необходимо.

Настройка редиректа

И дожидаемся окончания установки.

Установка сертификата завершена

После установки система сообщит пути к выпущенным сертификатам.

Теперь необходимо перезапустить Apache:

systemctl restart httpd

Переходим на сайт и проверяем установился ли наш сертификат.

Защищенное HTTPS соединение

Все в порядке, сертификат установлен, мы подключились к сайту через защищенное HTTPS соединение. Нажав на замок вверху экрана можно можно посмотреть сведения о сертификате.

Сведения о сертификате

Сертификаты от Let’s Encrypt действительны в течении трех месяцев. Перед окончанием срока действия сертификата Certbot автоматически перевыпустит его.

Установка на NGINX

Устанавливаем пакет Certbot для работы с NGINX:

yum install certbot-nginx

И получаем сертификат:

certbot --nginx -d домен.ru -d www.домен.ru

Отвечаем на вопросы так же как и в случае с Apache.

После установки перезапускаем NGINX:

systemctl restart nginx

Переходим на сайт и проверяем наличие сертификата.

Заключение

В настоящей статье мы рассмотрели процесс установки SSL сертификата на сайты работающие на веб-серверах Apache и NGINX. Как видите все очень просто, весь процесс занимает не более 5 минут. Если остались вопросы - пишите в комментариях.

Читайте также:

Оставить комментарий