Re: Не применятеся список разрешённых протоколов SSL.

Alex Domoradov alex.hha на gmail.com
Вт Сен 1 09:56:42 UTC 2015


Проверил на CentOS 6 и nginx-1.8.0 из репы

# openssl s_client -ssl3 -connect 46.xxx.xxx.xxx:443 -servername
www.example.net
...
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-SHA
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : SSLv3
    Cipher    : ECDHE-RSA-AES128-SHA

# nginx -v
nginx version: nginx/1.8.0

# nginx -V
nginx version: nginx/1.8.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --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-http_mp4_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-http_auth_request_module --with-mail --with-mail_ssl_module
--with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-O2 -g
-pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic'

server {
    listen       443;
    server_name  www.example.net;

    ssl on;

    ssl_certificate      /etc/pki/nginx/www.example.net.pem;
    ssl_certificate_key  /etc/pki/nginx/www.example.net.key;
    ssl_dhparam          /etc/pki/nginx/dh2048.pem;

    ssl_prefer_server_ciphers   on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv3;
    ssl_ciphers
'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:!RC4:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK';

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  5m;

location / {
        proxy_pass http://127.0.0.1:8080;
        ...
    }

}

2015-09-01 12:41 GMT+03:00 ekassir <nginx-forum на nginx.us>:

> Здравствуйте, товарищи.
>
> Критичная проблема, не могу победить уже почти 4 дня. Прошу
> квалифицированной помощи.
> Nginx используется в качестве reverse-proxy.
> Столкнулся с проблемой отсутствия реакции Nginx на конкретные параметры
> конфига:
>
> Браузер подключается по TLSv1.2, тогда как в конфиге виртуального сервера
> указано, например:
>         ssl                     on;
>         ssl_protocols           SSLv3;
>         ssl_prefer_server_ciphers Off; # данный параметр также не влияет на
> доступность выбранного протокола
>
> Следующие проверки показывают доступность только TLSv1.1 и TLSv1.2, вне
> зависимости от того, какой конфиг прописан:
> 1) https://www.ssllabs.com/ssltest/
> 2) openssl s_client -tls1_1 -connect hostname:443 < /dev/null
> 3) sslyze --regular hostname
>
> Переопределения разрешённых протоколов на уровне nginx.conf нет.
> Для каждого проксируемого сервера прописываются свои параметры шифрования,
> файлы конфигов лежат в директории sites-enabled.
> Думал, что проблема в несовместимости с версией OpenSSL:
> "The TLSv1.1 and TLSv1.2 parameters are supported starting from versions
> 1.1.13 and 1.0.12, so when the OpenSSL version 1.0.1 or higher is used on
> older nginx versions, these protocols work, but cannot be disabled."
> Собрал из исходников свежую версию. Не помогло.
>
> Вывод nginx -V
>
> nginx version: nginx/1.8.0
> built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
> built with OpenSSL 1.0.1e-fips 11 Feb 2013
> TLS SNI support enabled
> configure arguments: --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-http_mp4_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-http_auth_request_module --with-mail --with-mail_ssl_module
> --with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-O2 -g
> -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m64 -mtune=generic'
>
>
> Вывод openssl version:
> OpenSSL 1.0.1p 9 Jul 2015
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,261349,261349#msg-261349
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20150901/e66ffe3d/attachment.html>


Подробная информация о списке рассылки nginx-ru