Готовим Nginx к PCI Compliance

в 15:09, , рубрики: nginx, ssllabs, информационная безопасность, системное администрирование, метки: ,

Всем привет.

Cегодня наша цель — подготовка Nginx к прохождению PCI Compliance. Если конкретнее, то SSL протоколов и шифрования. Ну или просто поднять безопастность наших SSL соединений и избавиться от уязвимостей.Готовим Nginx к PCI Compliance

Всего то и нужно, что привести часть конфига вот в такой вид:)

        ssl_certificate       /etc/nginx/card.pem;
        ssl_certificate_key  /etc/nginx/card.key;
        ssl_ciphers      RC4:HIGH:!aNULL:!MD5:!kEDH;
        ssl_session_cache shared:SSL:10m;
        ssl_prefer_server_ciphers on;

Однако добавлю немного подробностей, рассмотрим по пунктам.

Если у вас последнии версии nginx, то скорее всего по умолчанию будут «стойкие» шифры. Но все же, мы немного поменяем дефолтные значения:

ssl_ciphers RC4:HIGH:!aNULL:!MD5:!kEDH;

Это делаем, для того, что бы шифрам с CBC-режимом предпочитался RC4-SHA, так как они подвережены уязвимостям.

Посмотреть полный лист шифров можно командой:

openssl ciphers

Исключаем возможность BEAST-атаки CVE-2011-3389:

ssl_prefer_server_ciphers on;

Подключаем кеш SSL сессий, это избавит нас от постоянных SSL handshake при повторных соединениях, и добавит несколько баллов в конечном тесте. В 1 мегабайт кэша помещается около 4000 сессий.

ssl_session_cache shared:SSL:10m;

Если версия вашего nginx ниже 1.0.5, то стоит добавить:

ssl_protocols           SSLv3 TLSv1;

Идем на тест от SSL Labs и получаем «Grade А» и «PCI Compliance Yes»:

www.ssllabs.com/ssltest/

Полезные ссылки:

Nginx.org Настройка HTTPS-серверов
SSL/TLS Deployment Best Practices
SSL Server Rating Guide

Автор: astlock

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js