I use Webmin on a bunch of client machines. There are a few that are subject to PCI compliance scans. A couple things bother me in relation to this issue...:
- The "Only Strong Ciphers with Perfect Forward Secrecy" still includes RC4-SHA, which is now causing PCI scans to fail.
- It seems as if, and I don't know which applies here, but either Webmin OR MiniServ DOES NOT seems to support any DH, DHE, ECDH or ECDHE ciphers. I have compiled the latest version of OpenSSL (1.0.2d) and also compiled the latest version of Net::SSLeay (1.72) perl module and restarted Webmin and still am receiving or a fraction of the ciphers I should be.
Example: Cipher list string = 'HIGH:!LOW:!MEDIUM:!RC4:!DES:!DSS:!PSK:!aECDH:!DH:!SRP:!MD5:!DSS:!eNULL:!aNULL:!SSLv2:@STRENGTH'
OpenSSL Output using "openssl ciphers -v 'HIGH:!LOW:!MEDIUM:!RC4:!DES:!DSS:!PSK:!aECDH:!DH:!SRP:!MD5:!DSS:!eNULL:!aNULL:!SSLv2:@STRENGTH' | awk '{print $1}'"
What SSLScan returns when scanning against Webmin with the cipherlist set with SSLv2, SSLv3 and TLSv1.0 disabled:
Version: 1.11.0-rbsec-4-g68aaac1
OpenSSL 1.0.2e-dev xx XXX xxxx
Testing SSL server <ip address=""> on port 10000
TLS renegotiation:
Session renegotiation not supported
TLS Compression:
Compression disabled
Heartbleed:
TLS 1.2 not vulnerable to heartbleed
TLS 1.1 not vulnerable to heartbleed
TLS 1.0 not vulnerable to heartbleed
Supported Server Cipher(s):
Preferred TLSv1.2 256 bits AES256-GCM-SHA384
Accepted TLSv1.2 256 bits AES256-SHA256
Accepted TLSv1.2 256 bits AES256-SHA
Accepted TLSv1.2 256 bits CAMELLIA256-SHA
Accepted TLSv1.2 128 bits AES128-GCM-SHA256
Accepted TLSv1.2 128 bits AES128-SHA256
Accepted TLSv1.2 128 bits AES128-SHA
Accepted TLSv1.2 128 bits CAMELLIA128-SHA
Accepted TLSv1.2 112 bits DES-CBC3-SHA
Preferred TLSv1.1 256 bits AES256-SHA
Accepted TLSv1.1 256 bits CAMELLIA256-SHA
Accepted TLSv1.1 128 bits AES128-SHA
Accepted TLSv1.1 128 bits CAMELLIA128-SHA
Accepted TLSv1.1 112 bits DES-CBC3-SHA
SSL Certificate:
Signature Algorithm: sha256WithRSAEncryption
RSA Key Strength: 4096
So it isn't even ATTEMPTING to negotiate any ECDHE ciphers, which would truly provide actual forward secrecy.</ip>
Please advise.
Yeah, we recently discovered that just setting PFS ciphers isn't enough to actually enable PFS - there are more complex changes needed in Webmin :-( In fact, it may be that the Perl Net::SSLeay module for interfacing with SSL doesn't even provide the API required.
See https://sourceforge.net/p/webadmin/bugs/4415/ for more details.
I've done some research and Net::SSLeay DOES provide an interface to DHE and ECDHE ciphers via IO::Socket::SSL. See link:
http://search.cpan.org/~mikem/Net-SSLeay/lib/Net/SSLeay.pod#Low_level_API:_EC_related_functions