Skip to main content

Forward Secrecy для nginx



У сучасному світі шифрування даних є не просто примхою, а прямою необхідністю. Зокрема - шифрування http трафіку має величезне значення для всіх сайтів, де проводиться обробка будь-яких персональних даних. А також для захисту від mitm-атак.

Таким чином, використання Forward Secrecy на веб-серверах стає обов'язковим для кожного сайту, який працює за https протоколу і дозволяє поліпшити якість шифрування інформації.



Forward secrecy можна відповідним чином налаштувати в nginx.

Припустимо, у вас є якийсь сайт який повинен підтримувати роботу по https. Перш за все необхідно створити ключ Діффі-Хеллмана.

  # Openssl dhparam -out /etc/nginx/ssl/dh-2048.pem 2048 

І виставити відповідні права доступу для нього.


  # Chmod 0600 /etc/nginx/ssl/dh-2048.pem 

Далі слід налаштувати nginx. Ось приклад конфігурації для сайту, що працює на ssl.

 server {server_name example.com;  listen 80;  listen 443 ssl;  ssl_certificate /etc/nginx/ssl/example.com_crt.pem;  ssl_certificate_key /etc/nginx/ssl/example.com_key.pem;  ssl_dhparam ssl / dh-2048.pem;  ssl_ciphers ECDH: DH:! ADH:! AECDH:! SEED:! DES:! 3DES:! RC4:! NULL;  ...} 

Розглянемо кожну змінну.

ssl_dhparam - шлях до файлу з ключем Діффі-Хеллмана. Можна вказати шлях, щодо директорії з файлами nginx.



ssl_ciphers - шифри, які будуть використовуватися для ssl з'єднань. У мене вказані шифри, підібрані для prosody . Мінімальна довжина ключа становить 128 біт. Всі підтримують forward secrecy.

Після настройки nginx слід перезапустити командою service nginx restart.

Для тестування налаштувань скористайтесь сервісом https://www.ssllabs.com/ssltest/index.html . У результатах тесту, в параграфі «Protocol Details», повинен бути ось такий результат:

Результаты теста ssl



Як ви оціните статтю?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оцінок, середнє: 5,00 з 5)
Завантаження ...

” Коментар "Forward Secrecy для nginx"

  1. А як на рахунок зворотної сумісності?

    Рекомендую такий наборчик: ECDH: DH: EECDH: + AES256: -3DES: RSA + AES: RSA + 3DES:! NULL:! RC4;

Додати коментар

Ваш e-mail не буде опублікований.