SSL/TLS сертификаты в cPanel: различия между версиями
TTK (обсуждение | вклад) Новая страница: «= SSL/TLS сертификаты в cPanel = SSL/TLS сертификаты обеспечивают защищенное HTTPS соединение между браузером посетителя и вашим сайтом, шифруя передаваемые данные. == Зачем нужен SSL == === Преимущества HTTPS === # '''Безопасность''' #* Шифрование данных (пароли, платежная и...» |
TTK (обсуждение | вклад) |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 613: | Строка 613: | ||
* [https://docs.cpanel.net/cpanel/security/ssl-tls/ cPanel SSL/TLS Documentation] | * [https://docs.cpanel.net/cpanel/security/ssl-tls/ cPanel SSL/TLS Documentation] | ||
* [https://caniuse.com/tls1-3 Browser TLS Support] | * [https://caniuse.com/tls1-3 Browser TLS Support] | ||
* [https://www.ssllabs.com/ssltest/ SSL Server Test] | |||
--- | --- | ||
Текущая версия от 16:30, 27 января 2026
SSL/TLS сертификаты в cPanel
SSL/TLS сертификаты обеспечивают защищенное HTTPS соединение между браузером посетителя и вашим сайтом, шифруя передаваемые данные.
Зачем нужен SSL
Преимущества HTTPS
- Безопасность
- Шифрование данных (пароли, платежная информация)
- Защита от перехвата трафика (man-in-the-middle атаки)
- Подтверждение подлинности сайта
- SEO
- Google повышает рейтинг HTTPS сайтов
- Лучшая видимость в поисковой выдаче
- Доверие пользователей
- Зеленый замочек в адресной строке
- Нет предупреждений "Небезопасно"
- Увеличение конверсии
- Требования
- Обязателен для ecommerce
- Необходим для современных API
- Требуется для HTTP/2 и HTTP/3
Типы SSL сертификатов
По уровню проверки
| Тип | Проверка | Время выдачи | Стоимость | Когда использовать |
|---|---|---|---|---|
| DV (Domain Validation) | Только домен | Минуты | Бесплатно/дешево | Блоги, личные сайты, большинство сайтов |
| OV (Organization Validation) | Домен + организация | Дни | Средняя | Корпоративные сайты |
| EV (Extended Validation) | Полная проверка компании | Недели | Высокая | Банки, магазины, финансы |
По покрытию доменов
- Single Domain
- Один домен (example.com)
- Wildcard
- Домен и все поддомены (*.example.com)
- Multi-Domain (SAN)
- Несколько разных доменов в одном сертификате
Let's Encrypt (бесплатный SSL)
Let's Encrypt - бесплатный центр сертификации, поддерживаемый cPanel.
Установка Let's Encrypt SSL
- Войдите в cPanel
- В разделе SECURITY выберите SSL/TLS Status
- Найдите ваш домен в списке
- Если статус "Not Secure", нажмите Run AutoSSL
- Или отметьте домен и нажмите Run AutoSSL внизу
- Дождитесь завершения (обычно 1-5 минут)
- Статус изменится на "Secure" (зеленая галочка)
Что включает AutoSSL
AutoSSL выпускает сертификаты для:
- Основной домен (example.com)
- WWW версия (www.example.com)
- Поддомены
- Почтовый сервер (mail.example.com)
- cPanel (cpanel.example.com)
- Webmail (webmail.example.com)
Проверка статуса AutoSSL
- SSL/TLS Status
- Просмотрите статусы:
- Secure (зеленая галочка) - сертификат установлен
- Not Secure (красный крест) - нет сертификата
- Partially Secure (желтый треугольник) - смешанный контент
Автоматическое продление
AutoSSL автоматически:
- Проверяет сертификаты каждые 24 часа
- Продлевает за 30 дней до истечения
- Отправляет уведомления о проблемах
Проверка:
- Перейдите в AutoSSL
- Просмотрите:
- Last Run - последний запуск
- Next Run - следующий запуск
- Status - статус
Решение проблем AutoSSL
Ошибка: Domain control validation failed
Причины:
- DNS не указывает на сервер
- Файрвол блокирует проверку
- Сайт защищен паролем
Решение:
- Проверьте A-запись домена
- Временно отключите защиту паролем (.htaccess)
- Убедитесь, что порт 80 открыт
Ошибка: CAA records prevent issuance
CAA (Certification Authority Authorization) запись блокирует выдачу.
Решение:
- Перейдите в Zone Editor
- Найдите CAA записи
- Добавьте Let's Encrypt:
example.com CAA 0 issue "letsencrypt.org" example.com CAA 0 issuewild "letsencrypt.org"
Некоторые поддомены не получили сертификат
Причины:
- Поддомен не имеет A-записи
- Поддомен указывает на другой сервер
- Превышен лимит (100 поддоменов на сертификат)
Решение:
- Проверьте DNS записи
- Создайте отдельный сертификат для поддомена
- Используйте wildcard сертификат
Установка собственного SSL
Если у вас есть коммерческий SSL сертификат:
Получение SSL сертификата
- Приобретите у провайдера (Comodo, DigiCert, Sectigo и др.)
- Или получите от корпоративного CA
- Сгенерируйте CSR (Certificate Signing Request)
Генерация CSR в cPanel
- Перейдите в SSL/TLS
- Выберите Generate, view, or delete SSL certificate signing requests
- Заполните форму:
Обязательные поля:
- Key Size: 2048 bits (рекомендуется) или 4096
- Domain(s): example.com или *.example.com для wildcard
- Common Name: полное доменное имя (FQDN)
- Email: ваш email
- Company Name: название компании (для OV/EV)
- Company Division: отдел
- City: город
- State: область/штат
- Country: код страны (RU для России)
- Нажмите Generate
- Скопируйте CSR (блок -----BEGIN CERTIFICATE REQUEST-----)
- Отправьте CSR в центр сертификации
Установка SSL сертификата
После получения сертификата от CA:
- Перейдите в SSL/TLS
- Выберите Manage SSL sites
- Выберите домен
- Вставьте компоненты сертификата:
Certificate (CRT):
-----BEGIN CERTIFICATE----- MIIFazCCBFOgAwIBAgIRAIIQz7DSQ... -----END CERTIFICATE-----
Private Key:
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAusI/V52eqLb... -----END RSA PRIVATE KEY-----
Certificate Authority Bundle (CA Bundle):
-----BEGIN CERTIFICATE----- MIIENjCCAx6gAwIBAgIBATANBgkq... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEFzCCAv+gAwIBAgIBADANBgkq... -----END CERTIFICATE-----
- Нажмите Install Certificate
- Сертификат будет активирован
Автоматическая установка (AutoSSL)
Некоторые сертификаты можно установить автоматически:
- Вставьте сертификат в Install and Manage SSL
- cPanel автоматически определит домен
- Автозаполнит поля
- Нажмите Install
Управление SSL сертификатами
Просмотр установленных сертификатов
- SSL/TLS → Manage SSL sites
- Список всех доменов с SSL
- Информация:
- Issuer (издатель)
- Expires (срок действия)
- Domains Covered (покрытые домены)
Информация о сертификате
- SSL/TLS → Manage SSL sites
- Нажмите Browse Certificates
- Выберите сертификат
- Просмотрите детали:
- Subject (владелец)
- Issuer (издатель)
- Valid From/To (срок действия)
- Serial Number
- Signature Algorithm
- Public Key
Удаление SSL сертификата
- Manage SSL sites
- Найдите домен
- Нажмите Uninstall
- Подтвердите удаление
Перенаправление HTTP на HTTPS
После установки SSL настройте автоматическое перенаправление:
Метод 1: .htaccess (рекомендуется)
- Откройте File Manager
- Перейдите в public_html
- Редактируйте .htaccess (или создайте новый)
- Добавьте в начало файла:
# Перенаправление на HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Или для конкретного домена
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
Метод 2: Через Redirects
- Перейдите в Domains → Redirects
- Тип: Permanent (301)
- От:
http://example.com - На:
https://example.com - Отметьте Wild Card Redirect
- Нажмите Add
Метод 3: WordPress
В wp-config.php добавьте:
// Принудительный HTTPS для админ-панели
define('FORCE_SSL_ADMIN', true);
// Принудительный HTTPS для всего сайта
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';
Проверка SSL конфигурации
Онлайн инструменты
- SSL Labs Test: SSL Server Test
- Оценка от F до A+
- Детальный анализ конфигурации
- Проверка уязвимостей
- Why No Padlock: Why No Padlock
- Поиск смешанного контента
- SSL Checker: SSL Checker
- Проверка валидности сертификата
- Проверка цепочки сертификатов
Проверка в браузере
- Откройте сайт в Chrome/Firefox
- Нажмите на замочек в адресной строке
- Connection is secure → Certificate is valid
- Просмотрите информацию:
- Issued to (кому выдан)
- Issued by (кем выдан)
- Valid from/to (срок действия)
Проверка через командную строку
# OpenSSL
openssl s_client -connect example.com:443 -servername example.com
# Проверка срока действия
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
# Проверка цепочки
openssl s_client -connect example.com:443 -showcerts
Исправление смешанного контента
"Mixed Content" - когда HTTPS страница загружает HTTP ресурсы.
Типы смешанного контента
- Passive Mixed Content
- Изображения, видео, аудио
- Показывается предупреждение в консоли
- Active Mixed Content
- Скрипты, стили, iframe, AJAX
- Блокируется браузером!
Поиск смешанного контента
- Откройте сайт по HTTPS
- Откройте Dev Tools (F12)
- Вкладка Console
- Ищите предупреждения:
Mixed Content: The page at 'https://example.com/' was loaded over HTTPS, but requested an insecure image 'http://example.com/image.jpg'
Исправление
Метод 1: Относительные URL
Замените абсолютные URL на относительные:
Было:
<img src="http://example.com/image.jpg">
<script src="http://example.com/script.js"></script>
Стало:
<img src="/image.jpg">
<script src="/script.js"></script>
Метод 2: Protocol-relative URL
Было:
<script src="http://external.com/script.js"></script>
Стало:
<script src="//external.com/script.js"></script>
Метод 3: Content Security Policy
В .htaccess:
Header always set Content-Security-Policy "upgrade-insecure-requests;"
Автоматически обновляет HTTP запросы к HTTPS.
Метод 4: Поиск и замена в БД (WordPress)
Используйте плагин Better Search Replace или SQL:
UPDATE wp_posts
SET post_content = REPLACE(post_content,
'http://example.com',
'https://example.com');
UPDATE wp_options
SET option_value = REPLACE(option_value,
'http://example.com',
'https://example.com');
Wildcard SSL сертификаты
Wildcard сертификаты покрывают домен и все его поддомены.
Покрытие
Сертификат для *.example.com покрывает:
- sub1.example.com ✅
- sub2.example.com ✅
- any.example.com ✅
- example.com ❌ (нужен отдельно)
- sub.sub1.example.com ❌ (многоуровневые не покрываются)
Установка Wildcard через AutoSSL
Let's Encrypt wildcard требует DNS-01 challenge:
- Перейдите в AutoSSL
- Проверьте, поддерживает ли хостинг DNS-01
- Или установите вручную через:
- certbot certonly --manual --preferred-challenges=dns
- Добавьте TXT запись в DNS
- Завершите проверку
Wildcard от коммерческого CA
- Сгенерируйте CSR для *.example.com
- Приобретите wildcard сертификат
- Установите через Manage SSL sites
Продвинутые настройки
HSTS (HTTP Strict Transport Security)
Заставляет браузер использовать только HTTPS:
В .htaccess:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Параметры:
- max-age - срок запоминания (в секундах)
- includeSubDomains - применять к поддоменам
- preload - добавление в список preload браузеров
OCSP Stapling
Ускоряет проверку статуса сертификата:
Обычно настраивается на уровне сервера хостинг-провайдером.
Проверка:
openssl s_client -connect example.com:443 -status
Должно быть:
OCSP response: ====================================== OCSP Response Status: successful (0x0)
Certificate Transparency
Автоматически логируется для Let's Encrypt.
Проверка:
- crt.sh
- Введите домен
- Просмотрите выпущенные сертификаты
TLS версии
Современные конфигурации должны поддерживать:
- TLS 1.3 ✅ (рекомендуется)
- TLS 1.2 ✅ (минимум)
- TLS 1.1 ❌ (устарел)
- TLS 1.0 ❌ (небезопасен)
- SSL 3.0 ❌ (критически уязвим)
Настраивается хостинг-провайдером в конфигурации Apache/Nginx.
Мониторинг срока действия
Получение уведомлений
- Let's Encrypt отправляет email за 20, 10, 1 день до истечения
- Проверяйте контактный email в Contact Information
Мониторинг сервисы
- SSL Monitor
- SSL Shopper Monitor
- SSL Labs (ручная проверка)
Проверка через cPanel
- SSL/TLS Status
- Просмотр срока действия для всех доменов
- Статусы обновляются ежедневно
Решение проблем
Предупреждение "Небезопасное подключение"
Причины:
- Сертификат истек
- Сертификат выдан для другого домена
- Самоподписанный сертификат
- Проблема с цепочкой сертификатов
Решение:
- Проверьте срок действия в SSL/TLS Status
- Убедитесь, что домен совпадает с Common Name
- Установите корректный CA Bundle
- Перевыпустите сертификат
Ошибка "NET::ERR_CERT_COMMON_NAME_INVALID"
Домен не соответствует сертификату.
Решение:
- Проверьте, для какого домена выдан сертификат
- Установите wildcard для поддоменов
- Или выпустите отдельный сертификат
Ошибка "NET::ERR_CERT_AUTHORITY_INVALID"
Браузер не доверяет издателю сертификата.
Причины:
- Самоподписанный сертификат
- Отсутствует промежуточный сертификат
- Внутренний корпоративный CA
Решение:
- Установите полную цепочку (CA Bundle)
- Используйте сертификат от доверенного CA
- Добавьте корневой сертификат в браузер (для внутреннего CA)
AutoSSL не продлевает сертификат
Проверьте:
- Логи AutoSSL в cPanel
- DNS записи актуальны
- Сайт доступен по HTTP (для проверки)
- Нет блокировки файрволом
- Квота Let's Encrypt не превышена (50 сертификатов/неделю)
Ручное продление:
- SSL/TLS Status
- Run AutoSSL
Сайт недоступен после установки SSL
Проверьте:
- Порт 443 открыт на файрволе
- Apache/Nginx слушает на 443
- VirtualHost настроен для SSL
- Перезапустите веб-сервер
Обычно настраивается автоматически, но может требовать вмешательства хостера.
Лучшие практики
- Используйте только HTTPS
- Перенаправляйте весь HTTP трафик
- Включите HSTS
- Мониторьте сроки действия
- Настройте уведомления
- Проверяйте ежемесячно
- Регулярно проверяйте конфигурацию
- SSL Labs тест раз в квартал
- Цель: оценка A или A+
- Обновляйте TLS
- Отключите старые версии (TLS 1.0, 1.1)
- Используйте современные шифры
- Защищайте приватные ключи
- Не храните в публичных репозиториях
- Ограничьте доступ (chmod 600)
- Регулярно меняйте при компрометации
См. также
- Настройка редиректов на HTTPS
- Исправление Mixed Content
- Оптимизация SSL производительности
- Общая безопасность веб-сайта
Внешние ссылки
---
Последнее обновление: 30 январь 2026
