It's not all about outdated software incompatibility but more the fact, that most scripts and tutorials define a work-around for your server like: "
!SSLv2 !SSLv3". This is a WRONG solution, because it does exclude as well ciphers, which use TLSv1 and doesn't include TLSv1.1 and TLSv1.2 .
For example:
You have postfix installed and your main.cf has the definition: "smtpd_tls_protocols = SSLv3, TLSv1". A script or tutorial advice a change with "smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3".
To be detailed, your modification says: "accept SSLv3 and TLSv1" ( nothing else! ) and "forbid ALL SSLv2 and SSLv3" protocols. In fact, you are removing all excepted protocols with this modification, because the TLSv1 protocols are not listed as TLSv1, but as SSLv3 - protocols. Control this with the command:
openssl ciphers -v 'TLSv1' | sort
The correct way would be to define all acceptable protocols and then forbid the ones, you don not want to use: "
smtp_tls_protocols = TLSv1, TLSv1.1, Tlsv1.2, !SSLv2, !SSLv3" and "
smtpd_tls_mandatory_protocols = TLSv1, TLSv1.1, Tlsv1.2, !SSLv2, !SSLv3"
Another reason for failures/issues/problems is, that the ciphers definitions are not precise enough:
Some scripts and/or tutorials change the ciphers suites to be "medium", or "high" and don't define explicit WHAT should be exepted and what should be forbidden. Most of them exclude cipher suites, no matter if they are vulnerable or not, just because it is easier to configure, but don't think about that some software and/or clients just don't work with certain cipher suites at all.
Again, I post the "intermediate" solution from mozilla.org (
https://wiki.mozilla.org/Security/Server_Side_TLS ), which defines explizit what you accept and what you forbid on your server:
Code:
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256: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-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Apart from very few old browsers, this intermediate solution works for most people and their used software. The ones who still experience issues should really update to actual versions of their software and you could provide links to update sites on the web for them, instead of trying to search the issue on your server settings.