Як перевірити SSL-сертифікат сайту й поштового сервера
Для перевірки SSL-сертифіката потрібні ім’я сервера й порт. У сайту це зазвичай 443, у пошти порт залежить від протоколу та способу початку TLS. Перевірте ім’я, строк і ланцюжок сертифікатів, а потім зіставте результат із попередженням браузера чи поштової програми. Перевірка сайту не замінює перевірки пошти на тому самому домені.
Як перевірити SSL-сертифікат сайту
- Відкрийте перевірку SSL-сертифіката. Введіть ім’я з адреси сайту, наприклад example.com, і порт 443. Якщо сайт працює також із www, перевірте www.example.com окремо.
- Зіставте ім’я зі списком адрес у SAN сертифіката. Перевірте початок і закінчення строку дії. Сертифікат для example.com не обов’язково покриває www.example.com; *.example.com не покриває сам example.com та a.shop.example.com.
- Прочитайте результат перевірки ланцюжка й довіри. Збережіть дату закінчення та назву видавця. Якщо адресу обслуговує CDN, результат описує сертифікат зовнішнього вузла CDN, а не обов’язково сертифікат сервера, де зберігається сайт.
Сервіс щоразу встановлює нове з’єднання. Він також показує підтримувані версії TLS і зауваження щодо переходу на HTTPS. Збережіть точний код помилки браузера: він допоможе відрізнити проблему сертифіката від збою самого TLS-з’єднання.
Як перевірити сертифікат поштового сервера
Візьміть ім’я сервера вхідної або вихідної пошти з налаштувань програми, наприклад mail.example.com. Воно може відрізнятися від адреси сайту. Перевіряйте саме ім’я й порт, до яких підключається програма. Різні служби на одному поштовому сервері теж можуть віддавати різні сертифікати.
| Порт | Служба | Як починається TLS |
|---|---|---|
| 443 | HTTPS: сайт | Одразу після підключення |
| 25 | SMTP: обмін між серверами | STARTTLS, якщо сервер його підтримує |
| 587 | SMTP: надсилання з поштової програми | STARTTLS |
| 143 | IMAP: вхідна пошта | STARTTLS |
| 110 | POP3: вхідна пошта | STLS |
| 465 | SMTP: надсилання з поштової програми | TLS одразу після підключення |
| 993 | IMAP: вхідна пошта | TLS одразу після підключення |
| 995 | POP3: вхідна пошта | TLS одразу після підключення |
За STARTTLS з’єднання починається з поштового протоколу, а потім переходить на TLS. За неявного TLS шифрування починається одразу. Відмінність описано в RFC 8314. Наш інструмент визначає спосіб за портом. Запис mail.example.com:993 має пріоритет над окремим полем порту.
- Перевірте вхідну пошту з іменем і портом, указаними в програмі. Потім окремо перевірте вихідну: її ім’я чи сертифікат можуть бути іншими.
- Якщо ім’я не визначається або поштовий порт недоступний, перегляньте запропоновані MX домену. MX указує шлях вхідної пошти, але не обов’язково адресу SMTP-сервера для надсилання з вашої програми.
- Зіставте SAN, строк і ланцюжок із результатом сайту. Якщо 443 проходить перевірку, а 993 ні, перевіряйте поштову службу та її налаштування сертифіката.
Помилки SSL: ім’я, строк, неповний ланцюжок і довіра
Ланцюжок пов’язує сертифікат сайту чи пошти з центром сертифікації через проміжні сертифікати. Перевірка має дійти до довіреного кореневого сертифіката. Якщо встановити лише сертифікат служби без потрібних проміжних, частина клієнтів може підключатися, а інші показуватимуть помилку.
| Результат | Що перевірити | Наступна дія |
|---|---|---|
| Строк закінчився / expired | Дати сертифіката й годинник пристрою | Продовжити або перевипустити сертифікат та встановити його в потрібну службу. |
| Ім’я не збігається | Ім’я підключення та SAN | Використати передбачене ім’я або сертифікат, що його покриває. |
| Неповний ланцюжок / chain incomplete | Проміжні сертифікати на сервері | Встановити ланцюжок за інструкцією центру сертифікації для свого сервера. |
| Самопідписаний сертифікат | Видавця сертифіката | Для публічної служби встановити сертифікат відповідного довіреного центру. |
| Недовірений кореневий / not trusted | Приватний центр і сховище довіри клієнта | Уточнити політику довіри; не замінювати виправлення вимкненням перевірки. |
ERR_SSL_PROTOCOL_ERROR не називає єдиної причини: TLS-узгодження могло зірватися через протокол, конфігурацію сервера або втручання мережі. Це пояснює Cloudflare. Спочатку перевірте ім’я, порт і режим TLS, потім перегляньте журнал сервера. Успішна зовнішня перевірка не виключає проблеми лише на вашому пристрої чи у вашій мережі.
Перевірка сертифіката через OpenSSL у Linux
Для докладного результату виконайте команди нижче в оболонці Linux з актуальним OpenSSL і налаштованим сховищем довірених центрів. Замініть умовні імена власними. Перша команда перевіряє сайт, друга SMTP із STARTTLS на порту 587.
openssl s_client -connect example.com:443 -servername example.com \
-verify_hostname example.com -verify_return_error -showcerts </dev/null
openssl s_client -connect mail.example.com:587 -starttls smtp \
-servername mail.example.com -verify_hostname mail.example.com \
-verify_return_error -showcerts </dev/null
Параметр -servername передає ім’я в SNI, -verify_hostname перевіряє його збіг, а -verify_return_error зупиняє перевірку за помилки довіри. Сам -showcerts лише показує надіслані сертифікати та не підтверджує справності ланцюжка. Призначення параметрів наведено в документації OpenSSL.
Що перевірити після виправлення
Повторіть перевірку кожної потрібної адреси й порту, потім відкрийте сайт або підключіться поштовою програмою. Якщо старий сертифікат досі видно, з’ясуйте, яка служба завершує TLS і чи перечитала вона файли. Один успішний результат не підтверджує однакової конфігурації всіх зовнішніх вузлів.
Якщо потрібен новий сертифікат, спочатку складіть список імен сайту й поштових служб, потім виберіть відповідний варіант на сторінці SSL-сертифікатів. Замовлення сертифіката ще не означає, що його встановлено на кожному потрібному порту.