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

Как включить 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"
17
задан 13 April 2014 в 19:19

3 ответа

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

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

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

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

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

0
ответ дан 13 April 2014 в 19:19

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

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

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

0
ответ дан 13 April 2014 в 19:19

Существует множество рекомендаций по безопасности, которые были рассмотрены в последующих версиях nginx. Если вы все еще (6 месяцев на прежнем посту?) В этой ситуации, серьезно подумайте об обновлении; Настройки TLS не имеют значения, если сам веб-сервер небезопасен. Подробнее см. http://nginx.org/en/security_advisories.html .

Если по какой-то причине вы ДОЛЖНЫ запустить эту версию nginx, информация, доступная о включении надежных наборов шифров с nginx (или Apache), здесь, вероятно, поможет: https://community.qualys.com/blogs/ SecurityLabs / 2013/08/05 / конфигурированию-апачский-Nginx-и-OpenSSL-для-вперед-тайна

0
ответ дан 13 April 2014 в 19:19
  • 1
    Missing separator обычно средствам, Вы расположили строку с отступом с пробелами вместо того, чтобы использовать символ табуляции (make настаивает на вкладках - иногда текстовые редакторы, нравится заменять их). – steeldriver 18 November 2014 в 14:37
  • 2
    Missing separator обычно средствам, Вы расположили строку с отступом с пробелами вместо того, чтобы использовать символ табуляции (make настаивает на вкладках - иногда текстовые редакторы, нравится заменять их). – steeldriver 18 November 2014 в 14:37
  • 3
    Missing separator обычно средствам, Вы расположили строку с отступом с пробелами вместо того, чтобы использовать символ табуляции (make настаивает на вкладках - иногда текстовые редакторы, нравится заменять их). – steeldriver 18 November 2014 в 14:37
  • 4
    Missing separator обычно средствам, Вы расположили строку с отступом с пробелами вместо того, чтобы использовать символ табуляции (make настаивает на вкладках - иногда текстовые редакторы, нравится заменять их). – steeldriver 18 November 2014 в 14:37
  • 5
    Missing separator обычно средствам, Вы расположили строку с отступом с пробелами вместо того, чтобы использовать символ табуляции (make настаивает на вкладках - иногда текстовые редакторы, нравится заменять их). – steeldriver 18 November 2014 в 14:37
  • 6
    Missing separator обычно средствам, Вы расположили строку с отступом с пробелами вместо того, чтобы использовать символ табуляции (make настаивает на вкладках - иногда текстовые редакторы, нравится заменять их). – steeldriver 18 November 2014 в 14:37

Другие вопросы по тегам:

Похожие вопросы: