Як включити TLS 1.2 в Nginx?


17

Як увімкнути TLS 1.1 та 1.2 для підключень SSL на сервері Ubuntu 12.04? Я використовую наступну версію бібліотеки nginx і openssl.

$ ./nginx -v
nginx version: nginx/1.2.3

$ openssl version -a
OpenSSL 1.0.1 14 Mar 2012
built on: Tue Jun  4 07:26:06 UTC 2013
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

Ви ще нічого не знайшли?
BigSack

Ви вирішили це? Версія nginx, яку ви використовуєте, дуже стара. Ви можете вважати корисною конфігурацію SSL у цій статті Ars Technica .
Пол

Відповіді:


14

Спочатку потрібно активувати SSL / TLS у вашому nginx.conf:

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name example.org;

    ssl_certificate /etc/ssl/example.org.crt;
    ssl_certificate_key /etc/ssl/private/example.org.key;

Дві listenлінії вмикають SSL на вашому з'єднанні IPv4 та IPv6. Якщо у вас немає IPv6, ви можете залишити другий listenрядок.

Я припускаю, що ваш сертифікат сервера є /etc/ssl. Якщо ви використовуєте інший шлях, ви зміните два останні рядки.

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

Це дозволяє використовувати різні версії TLS. Усі поточні браузери можуть використовувати TLS1.2. Для старих веб-переглядачів я написав невеликий як увімкнути захищені налаштування .

ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_prefer_server_ciphers on;

Перший рядок задає шифри, якими повинен користуватися ваш nignx. Другий рядок віддає перевагу набору шифрів на стороні сервера (а не клієнта). Таким чином, ви можете використовувати сильні (ер) шифри.

Якщо ви закінчите, ваш nginx повинен використовувати TLS1.2. Якщо ви хочете, ви можете додати свій сайт до зали слави TLS1.2 та пишатися. ;)

Однак існує кілька методів поліпшення налаштувань. Я дотримуюся цього німецького керівництва для безпечної конфігурації nginx .


Ubuntu 12 відключає TLS 1.1 та TLS 1.2 з міркувань взаємодії. Я думаю, що нещодавно вони включили TLS 1.1, але я вважаю, що TLS 1.2 ще не вистачає. Дивіться версію нижчого рівня OpenSSL - 1.0.0 та не підтримує TLS 1.2 .

1

Існують численні рекомендації щодо безпеки, які були розглянуті в наступних версіях nginx. Якщо ви все ще знаходитесь (6 місяців застарілої посади?) У цій ситуації, серйозно подумайте про оновлення; Налаштування TLS не матиме значення, якщо сам веб-сервер незахищений. Докладні відомості див. У розділі http://nginx.org/en/security_advisories.html .

Якщо з якоїсь причини ОБОВ'ЯЗКОВО запустити цю версію nginx, наявна інформація про включення сильних пакетів шифрів з nginx (або Apache) тут, ймовірно, допоможе: https://community.qualys.com/blogs/securitylabs/2013/08/ 05 / налаштування-apache-nginx-і-openssl-for-forward-secret


0

Як увімкнути TLS 1.1 та 1.2 для підключень SSL на сервері Ubuntu 12.04?

Я вважаю, що є три варіанти.

По-перше, нічого не робіть і використовуйте версію OpenSSL Ubuntu 12. Я вважаю, TLS 1.1 зараз підтримується, але у вас все одно не буде TLS 1.2.

По-друге, створити та підтримувати свій власний договір . Є кілька інструкцій щодо цього в Override Distro Package з користувацьким пакетом? Для повноти немає існуючих архівів персонального пакета для Ubuntu та OpenSSL, які пропонують повний протокол.

Третє - це оновлення до більш пізньої версії Ubuntu, як Ubuntu 14. Я намагаюся визначити, чи дозволяє Ubuntu 14 їх усіх на даний момент. Дивіться протоколи Ubuntu 14, OpenSSL та TLS? .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.