A+ w Qualys SSLLABS z certyfikatem LetsEncrypt (luty 2020)

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

Read more