Hello everyone,

I'm doing a few tests on a dockerized service for stunnel under Alpine.

stunnel -version

stunnel 5.60 on x86_64-alpine-linux-musl platform
Compiled with OpenSSL 1.1.1k  25 Mar 2021
Running  with OpenSSL 1.1.1l  24 Aug 2021
Threading:PTHREAD Sockets:POLL,IPv6 TLS:ENGINE,OCSP,PSK,SNI

If I set a wrong certificate on client side, my server logs get spammed with these lines :

2021.09.28 07:43:52 LOG5[66]: Service [***] accepted connection from ***
2021.09.28 07:43:52 LOG4[66]: CERT: Pre-verification error: unable to get local issuer certificate 2021.09.28 07:43:52 LOG4[66]: Rejected by CERT at depth=2: C=***, O=***, CN=*** 2021.09.28 07:43:52 LOG3[66]: SSL_accept: ssl/statem/statem_srvr.c:3711: error:1417C086:SSL routines:tls_process_client_certificate:certificate verify failed 2021.09.28 07:43:52 LOG5[66]: Connection reset: 0 byte(s) sent to TLS, 0 byte(s) sent to socket

The cpu usage goes up to 35% and it seems there is no way to set a timeout before trying to reconnect on client side (which is not the perfect fix by the way).

On server side, I don't know if we are supposed to be able to do something about that (for example rate limiting the requests ?).

Even the fail2ban filter doesn't seem to support this case. And anyway it seems it requires manual patching on stunnel source code for the logs.

Would it be possible to put on the same line the client IP and a message about the connection which has been rejected ?

fail2ban filter : https://github.com/fail2ban/fail2ban/blob/master/config/filter.d/stunnel.conf

What would be appreciated -> a log line in this format :

2021.09.28 07:43:52 LOG4[66]: HOST has been rejected by CERT at depth=2: C=***, O=***, CN=***

Of course, I don't have in mind the other possible cases (missing cert, etc...).

Thank you in advance,

Robin KERDILES
_______________________________________________
stunnel-users mailing list -- stunnel-users@stunnel.org
To unsubscribe send an email to stunnel-users-le...@stunnel.org

Reply via email to