Opened 4 years ago
Closed 4 years ago
#2250 closed defect (invalid)
nginx does not response via TLSv1 and TLSv1.1 when built with OpenSSL 3.0.0
| Reported by: | Owned by: | ||
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | nginx-module | Version: | |
| Keywords: | Cc: | ||
| uname -a: | Linux origin000 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux | ||
| nginx -V: |
# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.21.3 built by gcc 9.3.0 (Ubuntu 9.3.0-10ubuntu2) built with OpenSSL 3.0.0 7 sep 2021 TLS SNI support enabled configure arguments: --with-openssl=../openssl-3.0.0 --with-openssl-opt=enable-weak-ssl-ciphers --with-http_ssl_module |
||
Description
nginx v1.21.3 does not response via TLSv1 and TLSv1.1 when built with OpenSSL 3.0.0 even it compiled with "--with-openssl-opt=enable-weak-ssl-ciphers".
using testssl.sh.
$ ./testssl.sh tls.example.net | grep TLS TLS 1 not offered TLS 1.1 not offered TLS 1.2 offered (OK) TLS 1.3 offered (OK): final
e.g. nginx.conf
# cat /usr/local/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# HTTPS server
#
server {
listen 443 ssl;
server_name tls.example.net;
ssl_certificate tls.crt;
ssl_certificate_key tls.key;
ssl_session_cache shared:SSL:1m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_session_timeout 5m;
#ssl_ciphers HIGH:!aNULL:!MD5;
#ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
}
When I compile it with OpenSSL 1.1.1l, nginx will response over TLSv1 and TLSv1.1.
compile with openssl 1.1.1l.
# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.21.3 built by gcc 9.3.0 (Ubuntu 9.3.0-10ubuntu2) built with OpenSSL 1.1.1l 24 Aug 2021 TLS SNI support enabled configure arguments: --with-openssl=../openssl-1.1.1l --with-openssl-opt=enable-weak-ssl-ciphers --with-http_ssl_module
use same nginx.conf
$ ./testssl.sh tls.example.net | grep TLS TLS 1 offered (deprecated) TLS 1.1 offered (deprecated) TLS 1.2 offered (OK) TLS 1.3 offered (OK): final
Note:
See TracTickets
for help on using tickets.

They are no longer enabled by default, see OpenSSL 3.0 CHANGES.md:
The security strength of SHA1 and MD5 based signatures in TLS has been reduced.This means older protocols versions such as TLS 1.1 no longer work.
It may still be re-enabled by lowering the security level, e.g.:
ssl_ciphers DEFAULT:@SECLEVEL=0;