A+ w Qualys SSLLABS z certyfikatem LetsEncrypt (luty 2020)
Wynik 80% w https://www.ssllabs.com/ zapewnia już ocenę A, ale żeby dostać A+ trzeba dokonać kilku modyfikacji w samym certyfikacie oraz ustawieniach apache
Po pierwsze klucz musi mieć minimum 4096 bity:
certbot-3.7 certonly --standalone --rsa-key-size 4096 -d pro-it.rocks -d www.pro-it.rocks
Po drugie trzeba opublikować w DNS rekord CAA (https://en.wikipedia.org/wiki/DNS_Certification_Authority_Authorization):
pro-it.rocks. IN CAA 0 issue "letsencrypt.org"
Po trzecie trzeba użyć HSTS co możemy zrobić w konfiguracji vhosta w Apache:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Po czwarte trzeba wymusić wysoki "Key Exchange Rate" poprzez dyrektywy:
SLOpenSSLConfCmd Curves secp521r1:secp384r1:prime256v1
SSLOpenSSLConfCmd ECDHParameters Automatic
Po piąte trzeba użyć tylko silnych protokołów szyfrowania:
SLCipherSuite "HIGH;!aNULL;!MD5;!3DES;!CAMELLIA;!AES128;!RSA"
SSLProtocol -all +TLSv1.2
I na koniec pomocne mogą być opcje:
SSLCompression Off
SSLSessionTickets Off
SSLHonorCipherOrder on
Podsumowując, taka konfiguracja w vhost odnośnie SSLa, po poprawnym wygenerowaniu klucza 4096 bitowego powinna zapewnić ocenę A+:
SSLEngine on
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
SSLCertificateFile /usr/pkg/etc/letsencrypt/live/pro-it.rocks/fullchain.pem
SSLCertificateKeyFile /usr/pkg/etc/letsencrypt/live/pro-it.rocks/privkey.pem
SSLOpenSSLConfCmd Curves secp521r1:secp384r1:prime256v1
SSLOpenSSLConfCmd ECDHParameters Automatic
SSLCipherSuite "HIGH;!aNULL;!MD5;!3DES;!CAMELLIA;!AES128;!RSA"
SSLProtocol -all +TLSv1.2
SSLCompression Off
SSLSessionTickets Off
SSLHonorCipherOrder on