Проверка сайта на соответствие РКН и 152-ФЗ

Как создать и выпустить SSL-сертификат для сайта

Браузер показывает замок в адресной строке — или красный предупреждающий значок. Разница между этими двумя состояниями определяется одним компонентом: SSL-сертификатом. Без него сайт помечается как небезопасный, данные пользователей передаются в открытом виде, а поисковые системы понижают такие страницы в выдаче.

Разбираемся, как выпустить сертификат самостоятельно — от выбора типа до проверки готовой установки.

Как создать и выпустить SSL-сертификат для сайта

Что такое SSL-сертификат и зачем он нужен сайту

SSL-сертификат — это цифровой документ, который подтверждает: сайт принадлежит тому, кем он представляется, а соединение между браузером и сервером зашифровано. Именно он обеспечивает работу протокола HTTPS.

Когда пользователь вводит данные в форму на сайте без сертификата, эта информация передаётся в открытом виде. Любой, кто находится между пользователем и сервером — например, оператор публичной Wi-Fi-сети — может её перехватить. С HTTPS данные шифруются и становятся нечитаемыми для третьих лиц.

Помимо защиты данных, SSL-сертификат влияет на ранжирование в поисковых системах: Google и Яндекс учитывают наличие HTTPS как один из факторов качества сайта. Сайты без сертификата браузеры Chrome, Firefox и Safari помечают явным предупреждением «Небезопасно».

Основные виды сертификатов: какой выбрать

Сертификаты различаются по двум параметрам: кто их подписал и насколько глубоко проверен владелец домена.

Самоподписанный vs. доверенный

Самоподписанный сертификат можно выпустить самостоятельно — технически это несложно. Но браузер не доверяет таким сертификатам: он всё равно покажет предупреждение, потому что никто независимый не подтвердил подлинность сайта. Такие сертификаты используют только во внутренних сетях. Для публичного сайта нужен сертификат от доверенного центра сертификации (CA — Certificate Authority).

DV

Domain Validation — проверка домена

Центр сертификации проверяет только то, что заявитель управляет доменом. Выпускается за несколько минут. Подходит для большинства сайтов: блогов, лендингов, корпоративных страниц, интернет-магазинов.

OV

Organization Validation — проверка организации

Дополнительно проверяется существование юридического лица: документы, телефон, адрес. Занимает несколько дней. Используется компаниями, которым важно показать название организации в сведениях о сертификате.

EV

Extended Validation — расширенная проверка

Самый строгий уровень: центр сертификации тщательно проверяет компанию. Раньше браузеры показывали зелёную строку с названием организации, но сейчас большинство браузеров отказались от этой визуализации. Актуален для банков и финансовых сервисов.

Для большинства сайтов достаточно DV-сертификата. Он обеспечивает полноценное шифрование и убирает предупреждения браузера — этого достаточно для защиты пользователей и доверия поисковых систем.

Подготовительный этап: генерация CSR-запроса

CSR (Certificate Signing Request) — это файл с запросом на выпуск сертификата. Он содержит информацию о домене и публичный ключ. Центр сертификации использует CSR, чтобы выпустить сертификат именно для вашего сервера.

CSR генерируется на сервере или через панель управления хостингом. При генерации создаётся пара: CSR-запрос (отправляется в центр сертификации) и приватный ключ (остаётся на сервере, никуда не передаётся).

Генерация CSR через OpenSSL

Выполняется в командной строке на сервере. Команда создаёт приватный ключ и CSR одновременно.

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

После выполнения команды система задаст несколько вопросов: страна (RU), регион, город, название организации, и главное — Common Name, то есть доменное имя (например, example.ru). Для сертификата с поддержкой поддоменов указывают *.example.ru.

Если сервер управляется через панель хостинга

В cPanel, ISPmanager и других панелях управления есть раздел SSL/TLS, где CSR генерируется через форму. Вводить команды вручную не нужно — панель делает то же самое в несколько кликов.

Где получить сертификат: центры сертификации и бесплатные решения

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

1

Let's Encrypt — бесплатно и автоматически

Некоммерческий центр сертификации, который выдаёт DV-сертификаты бесплатно. Сертификаты действуют 90 дней и продлеваются автоматически через утилиту Certbot. Поддерживается большинством хостингов — часто достаточно одной кнопки в панели управления. Подробнее о бесплатных SSL-сертификатах для разных задач.

2

Коммерческие центры: Sectigo, DigiCert, GlobalSign

Платные сертификаты актуальны, если нужен OV или EV, Wildcard (для всех поддоменов сразу), или гарантия с компенсацией в случае проблем. Стоимость — от нескольких тысяч рублей в год. В России сертификаты можно купить у реселлеров — Reg.ru, Timeweb, Selectel и других хостингов.

3

Сертификаты от хостинга

Большинство современных хостингов подключают SSL прямо из панели управления — как правило, это Let's Encrypt с автопродлением. Для большинства владельцев сайтов это самый простой вариант: не нужно разбираться с командной строкой и CSR.

Процедура подтверждения прав на домен

Прежде чем выпустить сертификат, центр сертификации проверяет, что заявитель действительно управляет доменом. Есть три способа подтверждения.

Способ Как работает Когда удобен
Email На адрес admin@, webmaster@ или из WHOIS-записи домена приходит письмо со ссылкой для подтверждения Когда есть доступ к почте домена
HTTP-файл Нужно разместить на сервере специальный файл по указанному пути. Центр сертификации проверяет его наличие Когда есть доступ к файлам сервера
DNS-запись В DNS-зону домена добавляется TXT-запись с уникальным значением. Центр сертификации проверяет её наличие Для Wildcard-сертификатов и когда нет доступа к файлам сервера

Для большинства случаев удобнее HTTP-метод или DNS. Email-подтверждение требует, чтобы у домена была настроена почта — это есть не у всех.

Выпуск и скачивание готовых файлов сертификата

После подтверждения прав на домен центр сертификации выпускает сертификат. Обычно это происходит автоматически — от нескольких минут до нескольких часов (для OV/EV — дольше).

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

1

Сертификат домена (.crt или .pem)

Основной файл сертификата. Содержит публичный ключ и подпись центра сертификации.

2

Цепочка промежуточных сертификатов (ca-bundle или chain)

Связывает сертификат домена с корневым сертификатом центра сертификации. Без неё браузер может не распознать сертификат как доверенный.

3

Приватный ключ (.key)

Был создан на этапе генерации CSR и остался у вас. Никуда не отправляется и не публикуется. Это секретный файл — если он попадёт к третьим лицам, сертификат нужно отозвать и перевыпустить.

Особенности установки на разные типы серверов

Установка сертификата — это добавление полученных файлов в конфигурацию веб-сервера. Для Nginx и Apache процедура немного отличается. Подробная инструкция для каждого типа сервера описана в полном руководстве по установке и настройке SSL-сертификата.

Nginx

В конфигурационный файл виртуального хоста добавляются три директивы:

ssl_certificate /etc/ssl/yourdomain.crt;
ssl_certificate_key /etc/ssl/yourdomain.key;
ssl_trusted_certificate /etc/ssl/ca-bundle.crt;

После изменения конфигурации нужно перезагрузить Nginx: nginx -t (проверка), затем systemctl reload nginx.

Apache

В конфигурацию VirtualHost добавляются директивы SSLEngine:

SSLEngine on
SSLCertificateFile /etc/ssl/yourdomain.crt
SSLCertificateKeyFile /etc/ssl/yourdomain.key
SSLCertificateChainFile /etc/ssl/ca-bundle.crt

После изменений: apachectl configtest, затем systemctl reload apache2.

Если сайт на конструкторе или общем хостинге

Доступа к конфигурационным файлам нет, но это не нужно. В панели управления хостингом (cPanel, ISPmanager, Plesk) есть раздел для управления SSL, куда вставляются содержимое файлов сертификата, ключа и цепочки — через обычную форму.

Проверка корректности работы и настройка переадресации на HTTPS

После установки нужно убедиться, что сертификат работает правильно. Быстрый способ — открыть сайт в браузере и посмотреть на замок в адресной строке. Клик по замку показывает информацию о сертификате: кем выдан, до какой даты действует.

Для детальной проверки используют онлайн-инструменты. SSL Labs (ssllabs.com/ssltest) анализирует конфигурацию и показывает оценку от A до F, а также выявляет уязвимости.

1

Настроить редирект с HTTP на HTTPS

Сам по себе сертификат не переводит сайт на HTTPS. Нужно настроить редирект, чтобы все запросы по HTTP автоматически перенаправлялись на HTTPS-версию. Для Nginx: директива return 301 https://$host$request_uri; в блоке server с портом 80. Для Apache — правила в .htaccess через RewriteRule.

2

Проверить наличие смешанного контента

Если на HTTPS-странице есть ссылки на HTTP-ресурсы (картинки, скрипты, стили), браузер блокирует их или показывает предупреждение. Это называется смешанным контентом (mixed content). Все внутренние ссылки нужно привести к относительным или явно заменить HTTP на HTTPS.

3

Обновить адрес сайта в системах аналитики

В Google Search Console, Яндекс Вебмастере и настройках систем аналитики нужно указать новый основной адрес — с https://. Это важно для корректного сбора статистики и индексации.

Что делать, если срок действия сертификата истекает

Срок действия большинства сертификатов — 1 год (коммерческие) или 90 дней (Let's Encrypt). Когда сертификат истекает, браузеры начинают показывать предупреждение, которое фактически блокирует доступ для обычных пользователей.

Если на сайте уже появилось предупреждение об истёкшем сертификате, это типичная ошибка SSL-сертификата — она решается перевыпуском и переустановкой.

1

Автопродление через Certbot

Если сертификат выдан Let's Encrypt и установлен через Certbot, можно настроить автоматическое продление через cron или systemd timer. Команда certbot renew проверяет срок действия и продлевает, если осталось меньше 30 дней.

2

Напоминания на email

Коммерческие центры сертификации и хостинги отправляют письма о скором истечении сертификата — обычно за 30, 14 и 7 дней. Важно, чтобы email был актуальным и не уходил в спам.

3

Мониторинг через внешние сервисы

Сервисы мониторинга SSL (например, SSL Shopper или UptimeRobot) периодически проверяют срок действия и присылают уведомления. Полезно для проектов, где истечение сертификата критично — интернет-магазины, сервисы с авторизацией.

Риски работы сайта без SSL-сертификата серьёзнее, чем кажется: помимо предупреждений браузера, это прямая угроза для данных пользователей и репутации сайта. Настроенное автопродление полностью снимает вопрос своевременности — это один раз настроить и не возвращаться.

Частые вопросы

Можно ли выпустить сертификат бесплатно для коммерческого сайта?

expand_more
Да. Let's Encrypt выдаёт бесплатные DV-сертификаты без ограничений по типу сайта. Для большинства коммерческих проектов — интернет-магазинов, сайтов услуг, корпоративных страниц — бесплатного сертификата достаточно. Платные варианты нужны только при необходимости OV/EV-уровня проверки или расширенных гарантий.

Нужен ли отдельный сертификат для каждого поддомена?

expand_more
Зависит от типа сертификата. Обычный DV-сертификат выдаётся для конкретного домена и не распространяется на поддомены. Wildcard-сертификат (*.example.ru) покрывает все поддомены первого уровня. Let's Encrypt также поддерживает мультидоменные сертификаты — в одном сертификате можно указать несколько доменов и поддоменов.

Что будет, если приватный ключ попадёт к посторонним?

expand_more
Нужно немедленно отозвать сертификат через центр сертификации и выпустить новый. Компрометация приватного ключа означает, что злоумышленник теоретически может расшифровать трафик или выдать себя за ваш сайт. Хранить приватный ключ нужно только на сервере, не передавать его по почте и не публиковать.

Влияет ли SSL-сертификат на скорость сайта?

expand_more
Незначительно. Установление HTTPS-соединения требует дополнительного «рукопожатия» (TLS handshake), что добавляет несколько миллисекунд. На практике этот эффект компенсируется тем, что HTTPS открывает доступ к HTTP/2 — более быстрому протоколу, который поддерживает параллельную загрузку ресурсов. Итоговая скорость на HTTPS обычно не хуже, а нередко лучше.

Как выпустить сертификат, если нет доступа к серверу?

expand_more
Через панель управления хостинга. В большинстве современных хостингов есть раздел SSL, где сертификат выпускается и устанавливается в несколько кликов — без командной строки и ручной работы с файлами. Если хостинг не поддерживает SSL через панель, это повод рассмотреть смену провайдера.

Главное

Выпуск SSL-сертификата — это последовательность из нескольких шагов: выбор типа сертификата, генерация CSR-запроса, подтверждение прав на домен, получение файлов и их установка на сервер. Для большинства сайтов весь процесс занимает от нескольких минут до получаса.

Бесплатный Let's Encrypt закрывает потребности большинства проектов. Настроенное автопродление снимает вопрос мониторинга срока действия.

После установки важно проверить редирект с HTTP на HTTPS и убедиться в отсутствии смешанного контента — только тогда замок в браузере будет зелёным без оговорок.