Як налаштувати HTTPS – допоможе SSL Configuration Generator

Для чого призначений SSL Configuration Generator?

При роботі з HTTPS шифрування застосовується в чотирьох випадках: під час обміну ключами, в SSL-сертифікатах, при пересиланні повідомлень і складанні хеш-суми (дайджесту).

У кожному з них використовуються різні набори алгоритмів, про які домовляються клієнт і сервер. Вони вибирають асиметричний шифр для «рукостискання», симетричний шифр для кодування повідомлень і алгоритм хешування для дайджесту.

Наприклад, шифронабір ECDHE-ECDSA-CHACHA20-POLY1305 означає, що обмін ключами відбувається по протоколу Діффі – Хеллмана на еліптичних кривих (ECDHE). При цьому використовуються ефемерні ключі (одноразові) для встановлення тільки одного з’єднання. Центр сертифікації підписав сертифікат за допомогою алгоритму ECDSA (Elliptic Curve Digital Signature Algorithm), а для шифрування повідомлень застосовується потоковий алгоритм ChaCha20. За їх цілісність відповідає POLY1305, що обчислює 16-байтний аутентифікатор.

Повний список всіх доступних комбінацій алгоритмів можна знайти на wiki-сторінці Mozilla.

Для налаштування криптографічних методів, використовуваних сервером, в мережі є спеціальні інструменти. Таку функціональність має SSL Configuration Generator, розроблений в Mozilla.

Що він собою являє

У Mozilla пропонують три рекомендовані конфігурації для серверів, що використовують TLS:

Сучасна – для роботи з клієнтами, які використовують TLS 1.3 без зворотної сумісності.
Проміжна – рекомендована конфігурація для більшості серверів.
Застаріла – доступ до сервісу здійснюється за допомогою старих клієнтів або бібліотек, таких як IE8, Java 6 або OpenSSL 0.9.8.

Наприклад, в першому випадку генератор використовує алгоритм шифрування AES128/256, алгоритм хешування SHA256/384 і режим роботи симетричних блокових шифрів GCM. Ось приклад шифронабору: TLS_AES_256_GCM_SHA384.

У другому випадку число використовуваних шифрів набагато більше, оскільки багато хто з них виключили з TLS 1.3 для підвищення безпеки. Плюс в шифронаборі TLS 1.3 не описується тип сертифікату і механізм обміну ключами. Тому в проміжній конфігурації є протокол Діффі – Хеллмана з ефемерними ключами і RSA.

З урахуванням цих вимог SSL Configuration Generator будує конфігураційний файл (OpenSSL). При побудові можна вибрати необхідне серверне програмне забезпечення: Apache, HAProxy, MySQL, nginx, PostgreSQL і ще п’ять інших. Ось приклад сучасної конфігурації для Apache:

Конфігурації, що генеруються можна використовувати в своєму проекті, потрібно лише відредагувати шляхи сертифікату й секретного ключа та завантажити налаштування. Однак, як каже один з резидентів Hacker News, важливо звернути увагу на версію серверу, щоб отримати правильні результати. Зокрема, висновок для nginx 1.0 і nginx 1.4 значно відрізняється. Також є думка, що в деяких випадках доведеться вручну підправити частину згенерованих шифронаборів, щоб зберегти сумісність і отримати високу оцінку в бенчмарках для сканування сайтів.

Які ще утиліти допоможуть із захистом сайтів

У портфоліо Mozilla є кілька утиліт, які допоможуть перевірити надійність ресурсу після конфігурації SSL.

Перша – це Mozilla Observatory. Спочатку компанія розробляла інструмент для перевірки захищеності своїх власних доменів. Тепер він доступний всім разом з вихідним кодом. Observatory сканує сайти на найпопулярніші уразливості, серед них: потенційно небезпечні cookies, XSS-уразливість і редиректи. Після сканування системи видає набір рекомендацій для підвищення безпеки інтернет-ресурсу.

Ще один корисний інструмент – Firefox Monitor. Він відстежує останні витоки даних і посилає повідомлення, якщо інформація з будь-якого сайту потрапила в руки хакерів. Таким чином, адміністратори отримують можливість оперативно вжити заходів, мінімізувати збиток і зробити так, щоб історія не повторилася в майбутньому.

Джерело: habr.com

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*