Как включить TLS 1.2 в Nginx?


17

Как включить TLS 1.1 и 1.2 для SSL соединений в моем 12.04 сервере Ubuntu? Я использую следующую версию библиотеки 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. Для более старых браузеров , я написал небольшой HOWTO включить безопасные параметры .

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. Вторая строка предпочитает наборы шифров на стороне сервера (а не клиента). Таким образом, вы можете использовать сильные (ER) шифры.

Если вы сделали, ваш nginx должен использовать TLS1.2. Если вы хотите, вы можете добавить свой сайт в зал славы TLS1.2 и гордиться. ;)

Однако существует несколько способов , чтобы улучшить настройки. Я следую этому немецкому руководству по безопасной настройке nginx .


Ubuntu 12 отключает TLS 1.1 и TLS 1.2 по причинам взаимодействия. Я думаю , что они в последнее время включен TLS 1.1, но я считаю , TLS 1.2 до сих пор отсутствует. См OpenSSL Downlevel версия 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-для-вперед-секретности


0

Как включить TLS 1.1 и 1.2 для SSL соединений в моем 12.04 сервере Ubuntu?

Я считаю, что есть три варианта.

Во-первых, ничего не делайте и используйте версию OpenSSL для Ubuntu 12. Я считаю, что TLS 1.1 теперь поддерживается, но у вас все равно не будет TLS 1.2.

Во- вторых, строить и поддерживать свой PPA . Есть некоторые инструкции по выполнению так в Override Distro пакете с пользовательским пакетом? Для полноты, не существует существующих архивов личных пакетов для Ubuntu и OpenSSL, которые предлагают полные протоколы.

В-третьих, это обновление до более поздней версии Ubuntu, например, Ubuntu 14. Я пытаюсь определить, поддерживает ли Ubuntu 14 их все в данный момент. См Ubuntu 14, OpenSSL и TLS протоколы? ,

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.