Бүгінгі әлемде деректерді шифрлау - бұл тек құмарлық емес, тікелей қажеттілік. Атап айтқанда, http трафигін шифрлау кез келген жеке деректер өңделетін барлық сайттар үшін өте маңызды. Сондай-ақ митма шабуылдарынан қорғау үшін.
Осылайша, веб-серверлерде Forward Secrecy пайдалану https хаттамасының шеңберінде жұмыс істейтін әрбір сайт үшін міндетті болып табылады және ақпаратты шифрлау күшін жақсартуға мүмкіндік береді.
Алдын-ала құпиялылық nginx-те дұрыс конфигурациялануы мүмкін.
Сізде https жұмысын қолдау қажет сайт бар дейік. Ең алдымен, Diffie-Hellman кілтін жасау керек.
# openssl dhparam -out /etc/nginx/ssl/dh-2048.pem 2048
Және оған қол жеткізу құқығын орнатыңыз.
# chmod 0600 /etc/nginx/ssl/dh-2048.pem
Бұдан әрі nginx теңшеу керек. Мұнда ssl арқылы жұмыс істейтін сайт үшін мысал конфигурациясы берілген.
сервер {server_name example.com; 80 тыңдаңыз; 443 ссл тыңдау; 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 - Diffie-Hellman кілтімен файлға жол. Nginx конфигурация файлдарымен каталогқа қатысты жолды көрсетуге болады.
ssl_ciphers - ssl қосылымдары үшін қолданылатын шифрлар. Менің продюсерім үшін таңдалған шифрларым бар. Ең кілт ұзындығы 128 бит. Барлық бұрынғы құпияны қолдайды.
Nginx теңшелгеннен кейін, service nginx restart командасымен қайта іске қосыңыз .
Параметрлерді тексеру үшін https://www.ssllabs.com/ssltest/index.html қызметін пайдаланыңыз. Сынақ нәтижелері бойынша «Хаттама туралы мәліметтер» параграфында осындай нәтиже болуы керек:
Алдыңғы үйлесімділік туралы не айтасыз?
Мен бұл жиынды ұсынамын: ECDH: DH: EECDH: + AES256: -3DES: RSA + AES: RSA + 3DES:! NULL:! RC4;