Назад | Перейти на главную страницу

Nginx и openSSL conf используют новейшие протоколы TLS

Через несколько недель на моем веб-сервере Niginx возникла проблема с протоколами TLS версий 1.1 и 1.2:

ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers               AES256-SHA256:AES256-SHA;
ssl_prefer_server_ciphers on;

Версия nginx: nginx / 1.4.2 Поддержка TLS SNI включена аргументы конфигурации: --prefix = / etc / nginx --sbin-path = / usr / sbin / nginx --conf-path = / etc / nginx / nginx.conf - -error-log-path = / var / log / nginx / error.log --http-log-path = / var / log / nginx / access.log --pid-path = / var / run / nginx.pid - -lock-path = / var / run / nginx.lock --http-client-body-temp-path = / var / cache / nginx / client_temp --http-proxy-temp-path = / var / cache / nginx / proxy_temp --http-fastcgi-temp-path = / var / cache / nginx / fastcgi_temp --http-uwsgi-temp-path = / var / cache / nginx / uwsgi_temp --http-scgi-temp-path = / var / cache / nginx / scgi_temp --user = nginx --group = nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with -module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-file-cio - '-g -O2 -Wp, -D_FORTIFY_S OURCE = 2 '--with-ld-opt = --with-ipv6

OpenSSL 1.0.1e 11 февраля 2013 г.

TLS 1.2 Нет

TLS 1.1 Нет

TLS 1.0 Да

SSL 3 Нет

SSL 2 Нет

В чем моя ошибка?

Спасибо

хафлингер

Не нарушая установленную версию openssl, поставляемую с вашей системой, вы можете попробовать собрать nginx с пользовательской версией openssl. При создании пакета nginx укажите следующую опцию. Я делаю это со своим пользовательским rpm и последней версией openssl.

--with-openssl=/home/mschirrmeister/openssl-1.0.1f

После такой сборки установите на сервер только пакет nginx и попробуйте снова выполнить тест ssllabs. Теперь он должен показать поддержку большего количества версий.

Извините за мой плохой английский. У меня такая же ситуация, и мне потребовалось много времени, чтобы выяснить это. Первые ключевые слова ssl_protocol, которые читает nginx, доминируют над всем протоколом ssl сервера в nginx conf.

Измените значение «ssl_protocol» для всей конфигурации вашего сервера (на самом деле только первый в порядке), чтобы оно содержало значение «TLSv1.2», может работать.

openssl 1.0.1e в порядке. Но ваша ОС может иметь две версии libssl. (У меня 0.9.8 и 1.0.1e). Так что ваш nginx может ссылаться на libssl 0.9.8.

Попробуйте скомпилировать nginx с указанным исходным кодом openssl последней версии.

Я думаю тебе нужно использовать

ssl_protocols             TLSv1.2 TLSv1.1 TLSv1;

не

ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;

Вот что я обычно использую для настройки SSL с nginx:

ssl on;
ssl_certificate /etc/nginx/ssl/<domain>/server.crt;
ssl_certificate_key /etc/nginx/ssl/<domain>/server.key;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

Это рабочая конфигурация для прод-серверов, попробуйте:

ssl_session_timeout  10m;
ssl_ciphers      RC4:HIGH:!aNULL:!MD5:!kEDH;
ssl_session_cache shared:SSL:10m;
ssl_prefer_server_ciphers on;

Затем перезапустите Qualys ssl.