[Pkg-openssl-devel] broken backwards compatibility in Jessie: libssl1.0.0 (1.0.1k-3+deb8u1) doesn't allow SSLv3
Andrey Arapov
andrey.arapov at nixaid.com
Mon Jul 6 07:44:44 UTC 2015
Dear maintainers,
I came across the problem when SSLv3 simply does not work with the
current stable libssl1.0.0 (1.0.1k-3+deb8u1) in Debian Jessie (amd64).
Please find the logs below, let me know if you need more details. I
think it should be pretty self-explanatory.
root at debian:~/nginx-debug# nginx -p ~/nginx-debug -c nginx.conf
2015/07/06 03:28:39 [debug] 22474#0: epoll add event: fd:6 op:1
ev:00002001
root at debian:~/nginx-debug# openssl s_client -connect localhost:4443
-ssl3
...
SSL-Session:
Protocol : SSLv3
Cipher : 0000
...
2015/07/06 03:28:41 [debug] 22474#0: accept on 0.0.0.0:4443, ready: 0
2015/07/06 03:28:41 [debug] 22474#0: posix_memalign:
0000000001D45A10:256 @16
2015/07/06 03:28:41 [debug] 22474#0: *1 accept: 127.0.0.1 fd:3
2015/07/06 03:28:41 [debug] 22474#0: posix_memalign:
0000000001D210B0:256 @16
2015/07/06 03:28:41 [debug] 22474#0: *1 event timer add: 3:
60000:1436167781415
2015/07/06 03:28:41 [debug] 22474#0: *1 reusable connection: 1
2015/07/06 03:28:41 [debug] 22474#0: *1 epoll add event: fd:3 op:1
ev:80002001
2015/07/06 03:28:41 [debug] 22474#0: *1 http check ssl handshake
2015/07/06 03:28:41 [debug] 22474#0: *1 http recv(): 1
2015/07/06 03:28:41 [debug] 22474#0: *1 https ssl handshake: 0x16
2015/07/06 03:28:41 [debug] 22474#0: *1 SSL_do_handshake: -1
2015/07/06 03:28:41 [debug] 22474#0: *1 SSL_GET_ERROR: 1
2015/07/06 03:28:41 [crit] 22474#0: *1 SSL_DO_HANDSHAKE() FAILED (SSL:
error:14076102:SSL routines:SSL23_GET_CLIENT_HELLO:unsupported protocol)
while SSL handshaking, client: 127.0.0.1, server: 0.0.0.0:4443
2015/07/06 03:28:41 [debug] 22474#0: *1 close http connection: 3
2015/07/06 03:28:41 [debug] 22474#0: *1 SSL_shutdown: 1
2015/07/06 03:28:41 [debug] 22474#0: *1 event timer del: 3:
1436167781415
2015/07/06 03:28:41 [debug] 22474#0: *1 reusable connection: 0
2015/07/06 03:28:41 [debug] 22474#0: *1 free: 0000000001D45A10, unused:
16
2015/07/06 03:28:41 [debug] 22474#0: *1 free: 0000000001D210B0, unused:
136
root at debian:~/nginx-debug# dpkg -l libssl1.0.0
ii libssl1.0.0:amd64 1.0.1k-3+deb8u1 amd64 Secure Sockets Layer toolkit
- shared libraries
DOWNGRADING TO WHEEZY STABLE LIBSSL1.0.0 _ (OR IT IS ALSO WORKING WHEN
NGINX IS BUILD FROM SOURCE --WITH-OPENSSL=../OPENSSL-1.0.1K FOR
EXAMPLE, WHOLE LINE I WAS USING: ROOT at WWW:~/NGINX-1.6.2# ./CONFIGURE
--WITHOUT-HTTP_REWRITE_MODULE --WITHOUT-HTTP_GZIP_MODULE
--WITH-HTTP_SSL_MODULE --WITH-OPENSSL=../OPENSSL-1.0.1K --WITH-IPV6
--WITH-DEBUG)_
root at debian:~/nginx-debug# dpkg -i
downgrade/libssl1.0.0_1.0.1e-2+deb7u17_amd64.deb
root at debian:~/nginx-debug# dpkg -l libssl1.0.0
ii LIBSSL1.0.0:amd64 1.0.1E-2+DEB7U17 amd64 SSL shared libraries
root at debian:~/nginx-debug# nginx -p ~/nginx-debug -c nginx.conf
2015/07/06 03:29:35 [debug] 22514#0: epoll add event: fd:6 op:1
ev:00002001
root at debian:~/nginx-debug# nginx -p ~/nginx-debug -c nginx.conf
2015/07/06 03:30:30 [debug] 22518#0: epoll add event: fd:6 op:1
ev:00002001
root at debian:~/nginx-debug# openssl s_client -connect localhost:4443
-ssl3
...
SSL-Session:
Protocol : SSLv3
Cipher : ECDHE-RSA-AES256-SHA
...
2015/07/06 03:30:33 [debug] 22518#0: accept on 0.0.0.0:4443, ready: 0
2015/07/06 03:30:33 [debug] 22518#0: posix_memalign:
0000000002516A90:256 @16
2015/07/06 03:30:33 [debug] 22518#0: *1 accept: 127.0.0.1 fd:3
2015/07/06 03:30:33 [debug] 22518#0: posix_memalign:
00000000024F2130:256 @16
2015/07/06 03:30:33 [debug] 22518#0: *1 event timer add: 3:
60000:1436167893670
2015/07/06 03:30:33 [debug] 22518#0: *1 reusable connection: 1
2015/07/06 03:30:33 [debug] 22518#0: *1 epoll add event: fd:3 op:1
ev:80002001
2015/07/06 03:30:33 [debug] 22518#0: *1 http check ssl handshake
2015/07/06 03:30:33 [debug] 22518#0: *1 http recv(): 1
2015/07/06 03:30:33 [debug] 22518#0: *1 https ssl handshake: 0x16
2015/07/06 03:30:33 [debug] 22518#0: *1 SSL_do_handshake: -1
2015/07/06 03:30:33 [debug] 22518#0: *1 SSL_GET_ERROR: 2
2015/07/06 03:30:33 [debug] 22518#0: *1 reusable connection: 0
2015/07/06 03:30:33 [debug] 22518#0: *1 SSL handshake handler: 0
2015/07/06 03:30:33 [debug] 22518#0: *1 SSL_do_handshake: 1
2015/07/06 03:30:33 [debug] 22518#0: *1 SSL: SSLV3, cipher:
"ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1"
2015/07/06 03:30:33 [debug] 22518#0: *1 reusable connection: 1
2015/07/06 03:30:33 [debug] 22518#0: *1 http wait request handler
2015/07/06 03:30:33 [debug] 22518#0: *1 malloc: 00000000024FA040:1024
2015/07/06 03:30:33 [debug] 22518#0: *1 SSL_read: -1
2015/07/06 03:30:33 [debug] 22518#0: *1 SSL_get_error: 2
2015/07/06 03:30:33 [debug] 22518#0: *1 free: 00000000024FA040
root at debian:~/nginx-debug# cat nginx.conf
daemon off;
worker_processes 1;
events {
worker_connections 1024;
}
http {
ssl_protocols SSLV3 TLSv1.2;
ssl_certificate /root/nginx-debug/cert.pem;
ssl_certificate_key /root/nginx-debug/cert.key;
server {
listen 4443 ssl;
error_log stderr debug;
location / {
root html;
index index.html index.htm;
}
}
}
root at debian:~/nginx-debug# ls -lad cert.* logs nginx.conf
-rw------- 1 root root 1704 Jul 6 02:43 cert.key
-rw-r--r-- 1 root root 1428 Jul 6 02:43 cert.pem
drwxr-xr-x 2 root root 4096 Jul 6 03:19 logs
-rw-r--r-- 1 root root 665 Jul 6 02:43 nginx.conf
Please let me know if you are planning to fix this. There are particular
outdated apps that are still using SSLv3 and it would be wonderful to
have it for the backwards compatibility. (current stable Jessie's Nginx
by default does Not use SSLv3).
--
kind regards
ANDREY ARAPOV
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-openssl-devel/attachments/20150706/789b672b/attachment.html>
More information about the Pkg-openssl-devel
mailing list