A+ minősítésű SSL tanúsítvány létrehozása

Fórumok

Sziasztok,

nem tudom mennyire mérvadó ez az oldal SSL tanúsítványok tekintetében. A kérdésem pedig, hogy mitől lesz valami A+ minősítésű tanúsítvány mit kell ahhoz tenni?

Ahogyan néztem a legjobbakat nem a tanúsítvány ára a "minőség" záloga, hanem valami más.

Pl: szerintem ez "https://www.ssllabs.com/ssltest/analyze.html?d=andranat.dynu.net" teljesen ingyenes "Let's Encrypt Authority X3" tanusítványt használ és mégis A+ és nem mondjuk a több 100 USD-osak vannak az élen.

Üdv.

Kalmi

Hozzászólások

Az ssltestek nem igazán a tanusítványt tesztelnek. Illetve azt is, de azt azért kb mindenki megugorja. Sokkal fontosabb a mindenféle konfig, az meg független a tanúsitványtól.

(A qualys ráadásul hozzáértő kolléga szerint túl engedékeny :) )

Mindenképp stepbystep kövesd a leírtakat. Én próbálkoztam azzal is, hogy TLSv1.2 onlyra tettem egy szolgáltatást, de kisebb lázadás tört ki a kliensoldal miatt... További probléma, hogy ha A+ akarsz lenni, akkor jó eséllyel kizártad a WinXP+IE juzereket (igen 2018-ba is még sok helyen akut probléma..., nokomment), kérdés, hogy mennyire lehet őket kezelni.

Nem csak azokat, de a mobilosok elég nagy százalékát is nagyon könnyen ki lehet zárni 1-2 beállítással (most megnéztem, amit felkonfoltam, az még mindig A+, és Android 4.4+, IE11, XP-n csak Firefox 49 vagy Chrome 49, ezek alatt nem működik).

TLSv1.2-vel anno én is belefutottam, hogy XP, meg iPhone userek nem érték el az oldalt.

Ez az oldal alapvetően nem a tanúsítványok kibocsátójának megbízhatóságát rangsorolja, hanem a kiszolgáló beállításait - ezekről ad is egy riportot lent.
Protokoll verziókat, támogatásokat és sérülékenységeket vizsgál.
Pl. TLS sebezhető verzióinak támogatását és egyéb sebezhetőségek meglétét ellenőrzi.

A riportban ezek benne vannak.
Ha jobb minősítést szeretnél elérni, akkor végig kell menni az egyes észrevételeken és javítani őket addig, amíg nem értékeli jobb minősítéssel.

Nagyjából itt, changelog jelleggel le is írja, minek kell megfelelni az "A+" minősítéshez:

  • New grade A+ is introduced for servers with exceptional configurations. At the moment, this grade is awarded to servers with good configuration, no warnings, and HTTP Strict Transport Security support with a max-age of at least 6 months.
  • Don’t award A+ to servers that use SHA1 certificates.
  • Don’t award A+ to servers that don’t support TLS_FALLBACK_SCSV.
  • Hosts that have HPKP issues can't have A+.

Ezeket mindenképpen nézd át.

Kevered a szezont a fazonnal.
Rengeteg oka van annak, hogy egy oldal nem A+. Ezek legtöbb része a webszerver konfigurációjára vezethető vissza. Az oldal ki is írja, hogy milyen hibákat/észrevételeket talál a vizsgált oldalnál.
Milyen konkrét oldallal van problémád? Pontosabban tudunk segíteni, ha ezt elárulod.

Teszteld az oldalad (mondjuk pont az ssllabs-szal), utána nézd meg, mi nem zöld és fixáld.
Ennyi az egész, én is így csináltam.

Ha a HSTS megvan a cert mellett, megkapod az A+-t.

Mindig vannak olyan emberek, akik az hiszik, hogy bohócot csináltak belőled. Ne rontsd el a játékot azzal, hogy elárulod nekik, tiéd a cirkusz!

Azért azokban is lehet 1-2 olyan dolog, amit érdemes beállítani, ha meg azt szeretnéd, hogy frissítés után ne csapja vissza, akkor pakold ki külön konfigokba, szinte minden webszerver tud include-ot, valamint a népszerűbb cuccokhoz konfigok is vannak. Pl: https://cipherli.st/

Nekem pl. ubuntu nginx snippets.d-ben van az ssl konfig, amit szépen behúzok server blokkban (Apache virtualhost).

/etc/nginx/snippets/ssl.conf


listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/XXXX.XXX/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/XXXX.XXX/privkey.pem;

ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparam.pem; # openssl dhparam -out /etc/nginx/dhparam.pem 4096
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
#resolver $DNS-IP-1 $DNS-IP-2 valid=300s;
#resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;