opened image

Руководство по настройке серверных SSL-сертификатов

Со временем количество и разнообразие интернет-угроз значительно выросло, то же касается количества утечек БД и другой информации. Как следствие, для IT-инфраструктуры важнейшим аспектом стала защиты данных, и применение сертификатов SSL стало одним из основных механизмов гарантии безопасности на интернет-ресурсах.

Secure Sockets Layer, или SSL является протоколом безопасности, который обеспечивает защиту данных в период взаимодействия сервера и юзера, пропуская эти данные через шифрование. Опираясь на опыт работы с серверами, продемонстрируем как установить и настроить серверные сертификаты на Apache и Nginx, а также разберёмся в чём необходимость и что вообще из себя представляют сертификаты SSL.

 

Что такое сертификат SSL?

 

Использование сайтом цифровых сертификатов SSL добавляет в нашу работу с определенным веб-ресурсом слой безопасности в нашу работу с определенным веб-ресурсом, позволяя перейти сайту с HTTP на HTTPS. С помощью SSL происходит шифрование данных  передаваемых между абонентом и сервером, а также подтверждается достоверность интернет-ресурса.

Благодаря установленному сертификату на сервере протокол HTTPS позволяет браузеру  анализировать подлинность SSL, а также установить зашифрованное соединение с сервером. Этот процесс, известный как "рукопожатие SSL", помогает предотвратить атаки типа "человек посередине".

 

Какие бывают виды сертификатов SSL?

 

Domain Validation (он же DV) при помощи базовой проверки позволяет подтвердить владение доменом определенного интернет-ресурса.

Другой вид SSL-сертификата, именуемый Organization Validation (OV), помимо владения доменом позволяет проверить данные об организации (например, юридическое название организации, место нахождения юридического лица, его регистрационные данные и прочую информацию).

В заключение, Extended Validation (EV) позиционируется как самый строгий вид SSL. Веб-ресурсы с наличием EV отображаются с зеленой полосой в доменной строке браузера. Кроме того, EV тщательно анализируют и проверяют о компании всю юридическую информацию.

 

Как проверить наличие сертификата SSL на веб-ресурсах?

 

Открывая определенный веб-ресурс в браузере для определения присутствия сертификата SSL необходимо проверить адресную строку сайта на наличие символа замка. Помимо этого, существуют специализированные онлайн-сервисы (например, SSL Labs). С их помощью можно достаточно детально проанализировать SSL-сертификат веб-ресурса.

 

В чём важность использования сертификата?

 

В число главных аргументов в пользу внедрения сертификата SSL как основного гаранта защищенности интернет-ресурса, безусловно, является защита данных. Благодаря использованию шифрования, SSL делает невозможным кражу данных, которые передаются между абонентом и сервером.

Более того, наличие SSL положительно сказывается на SEO. Например, Google с 2018 года ввел за правило отмечать как «незащищенные» ресурсы, которые не используют сертификацию, существенно влияя на пользовательское доверие к таким веб-сайтам.

 

Типы SSL-сертификатов

 

На рынке доступны два основных типа сертификатов - находящиеся в свободном доступе и платные. Каждый из них имеет свои преимущества.

Let’s Encrypt является одним из самых популярных провайдеров, предоставляющим бесплатные сертификаты SSL. Этот сервис предлагает DV-сертификацию и обеспечивает автоматическое обновление и установку сертификатов. Его можно интегрировать на серверы через инструменты вроде Certbot, выполняющим обновление SSL в автоматическом порядке.

Основным плюсом таких сертификатов остаётся безвозмездность, но, к сожалению, у них часто лимитированный срок действия. Обычно он ограничен тремя месяцами, после чего необходимо обновление.

SSL-сертификаты распространяющиеся на платной основе обладают повышенным уровнем поддержки, а также предоставляют дополнительные стадии проверки. Среди примеров платных провайдеров стоит упомянуть DigiCert, Comodo, GlobalSign, Sectigo и GoDaddy.

 

Apache и Nginx: процесс установки SSL на серверах

​​​​​​​

Apache

Сперва необходимо установить Certbot и модуль для Apache:

sudo apt install certbot python3-certbot-apache

Для автонастройки SSL требуется запустить Certbot:

sudo certbot –apache

Для указанного домена будет сгенерирован и подключён сертификат с помощью Certbot. После завершения этого процесса, конфигурация Apache будет изменена для использования протокола HTTPS.

 

Nginx

Сперва необходимо установить Certbot и модуль для Nginx:

sudo apt install certbot python3-certbot-nginx

Запустите Certbot для настройки:

sudo certbot --nginx

Для правильной работы с сертификатом Certbot обновит конфигурацию Nginx.

 

Автоматизация процесса обновления SSL

SSL от Let's Encrypt ограничен всего 90 днями работы, поэтому очень важно организовать автоматическое обновление.

Для этой цели можно использовать cron для периодического выполнения команды обновления сертификатов:

sudo certbot renew --dry-run

Это cron-задание будет следить за сроком действия сертификатов и осуществлять их обновление по мере необходимости.

 

Проверка и решение проблем с SSL

После установки сертификата необходимо убедиться, что он функционирует корректно.

Для этого можно применять онлайн-ресурсы, такие как SSL Labs. Этот сервис выполнит полный анализ вашего сертификата и обнаружит возможные некорректности.

 

Типичные ошибки

1.    Ошибка сертификата возникает вследствие некорректной установки или использования устаревшей версии.

2.    Недоверенные SSL обычно связаны с применением самоподписанных сертификатов.

 

 

Заключение

Чтобы обеспечить безопасное использование сайта настройка сертификатов SSL является одним из важнейших шагов. Использование SSL позволяет увеличить доверие пользователей к вашему ресурсу благодаря защите их данных. Бесплатные сертификаты, такие как Let's Encrypt, сделали этот процесс доступным и простым для администраторов любого уровня. Однако для крупных организаций и критических сервисов может потребоваться использование платных сертификатов с расширенной проверкой. Компания Zomro в свою очередь предоставляет сертификаты бесплатно, помогает с установкой и их настройкой или просто консультацией по тем или иным вопросам. Главное — не забывать о регулярном обновлении и проверке корректности работы сертификатов, чтобы ваш сайт оставался защищенным.