
SSL-сертифікат — це не просто файл із ключами, а доказ вашої репутації як власника сайту. Він засвідчує, що саме ви контролюєте домен, а всі дані між користувачем і сервером шифруються надійним способом. Але навіть якщо сертифікат встановлений і з’єднання показує «замочок», це ще не гарантує, що все під контролем. Зловмисники можуть створити підроблені сертифікати, підмінити їх у процесі з’єднання або навіть використати вкрадені ключі. Якщо це станеться, відвідувачі бачитимуть «захищений» сайт, який насправді працює не на вашому сервері. Саме тому важливо знати, як перевірити справжність і цілісність власного SSL-сертифіката.
Чому важливо впевнитися, що сертифікат не підроблений
SSL-сертифікат містить у собі публічний ключ, який відповідає вашому приватному ключу, збереженому на сервері. Якщо приватний ключ потрапить у чужі руки, будь-хто зможе створити копію вашого сертифіката або підробити з’єднання. Це відкриває шлях для атак типу Man-in-the-Middle, коли користувачі підключаються нібито до вашого сайту, а насправді — до підставного сервера, який перехоплює весь трафік. У такому разі навіть справжній домен і HTTPS не врятують. Тому перевірка справжності сертифіката — це не формальність, а питання контролю над власною інфраструктурою.
Як перевірити, що встановлено саме ваш сертифікат
Почати варто з найпростішого — переглянути дані сертифіката, встановленого на вашому сервері, і порівняти їх із тим, що ви отримали від центру сертифікації (CA). У командному рядку це можна зробити, наприклад, через:
openssl s_client -connect ваш_домен:443 -showcerts
Команда покаже поточний сертифікат, який бачить зовнішній світ. Ви можете порівняти його відбиток (fingerprint) або серійний номер із тим, що зазначено у вихідному файлі сертифіката (.crt), який ви зберегли після видачі. Якщо вони не збігаються, це може означати, що на сервері підмінили сертифікат або конфігурацію веб-сервера.
Так само важливо перевірити ланцюжок довіри. Ваш сертифікат має бути підписаний проміжним або кореневим сертифікатом від вашого CA (наприклад, Sectigo, DigiCert, Let’s Encrypt). Якщо хтось замінив проміжний сертифікат на інший або додав власний, браузери можуть не показувати помилку, але фактично ланцюг довіри буде порушений. Для цього зручно скористатися перевіркою на SSL Labs або у вашій панелі керування сервером.
Як перевірити, що ваш приватний ключ не потрапив у чужі руки
Найважливіший елемент SSL-пари — приватний ключ, який ніколи не повинен залишати ваш сервер. Якщо ви зберігаєте його у відкритому вигляді або він був доступний іншим користувачам системи, є ризик компрометації. У такому разі навіть чинний сертифікат можна використати на сторонньому сервері — тобто підробити ваш сайт. Щоб переконатися, що все гаразд, перевірте права доступу до каталогу з приватним ключем (зазвичай /etc/ssl/private/) — доступ має бути лише у користувача root.
Також варто перевіряти, чи не відкликано ваш сертифікат самим центром сертифікації. Це можна зробити за допомогою OCSP або CRL — служб перевірки статусу сертифікатів. У командному рядку це виконується через:
openssl ocsp -issuer chain.pem -cert ваш_сертифікат.crt -url http://ocsp.ca.com
Якщо CA позначив сертифікат як відкликаний, це означає, що ключ уже не безпечний, і потрібно перевипустити новий.
Ознаки того, що сертифікат могли підмінити
Якщо сайт раптово починає показувати інший центр сертифікації, змінюється термін дії сертифіката або fingerprint, хоча ви не проводили оновлення — це привід бити на сполох. Підміна може статися через злам сервера, некоректне автоматичне оновлення чи атаку MITM. У корпоративних мережах такі атаки можуть навіть симулювати власний «внутрішній» центр сертифікації, щоб перехоплювати HTTPS-трафік. Якщо у вас виникли підозри, перевірте логи веб-сервера на зміни сертифікатів, а також скористайтеся незалежними сервісами моніторингу SSL — вони повідомлять, якщо сертифікат вашого домену було замінено.
Як забезпечити максимальну автентичність і безпеку
Справжність сертифіката — це насамперед правильна організація процесів. Зберігайте всі ключі й файли сертифікатів окремо, робіть резервні копії в зашифрованому вигляді, не передавайте їх стороннім. Якщо ви використовуєте автоматичне оновлення, перевіряйте, щоб скрипти Let’s Encrypt або Certbot працювали лише від вашого імені. Варто також встановити моніторинг змін SSL — спеціальні сервіси щодня перевіряють fingerprint вашого домену й надсилають сповіщення, якщо сертифікат змінився.
Пам’ятайте: навіть найсучасніший сертифікат не гарантує безпеки, якщо приватний ключ не під контролем. Тому перевірка, аудит і моніторинг — це частина культури кібергігієни власника сайту. На Server.UA можна отримати сертифікати лише від перевірених центрів сертифікації, а також налаштувати їхню перевірку прямо з панелі керування, щоб ви завжди були впевнені: ваш SSL справжній, захищений і належить тільки вам.
Залишити відповідь