11 instrumente gratuite de depanare SSL/TLS pentru webmasteri

În activitatea unui inginer web, webmaster sau administrator de sistem, depanarea problemelor legate de SSL/TLS este o necesitate frecventă.

Deși există o varietate de instrumente online dedicate verificării certificatelor SSL și testării vulnerabilităților SSL/TLS, acestea se dovedesc adesea insuficiente în cazul testării adreselor URL, VIP-urilor sau IP-urilor specifice rețelelor intranet.

Pentru a diagnostica problemele din rețelele intranet, este necesar să folosiți software sau instrumente autonome, instalate în rețea, care să permită efectuarea testelor necesare.

Situațiile în care aceste instrumente sunt indispensabile pot fi diverse, incluzând:

  • Dificultăți întâmpinate în timpul implementării unui certificat SSL pe un server web.
  • Dorința de a verifica utilizarea celor mai recente protocoale.
  • Necesitatea de a confirma configurația după implementare.
  • Identificarea riscurilor de securitate în urma testelor de penetrare.

În continuare, vă prezentăm o selecție de instrumente care se vor dovedi extrem de utile pentru a diagnostica și rezolva astfel de probleme.

DeepViolet

DeepViolet este un instrument de scanare SSL/TLS bazat pe Java, disponibil atât sub formă binară, cât și ca cod sursă care poate fi compilat.

Reprezintă o alternativă viabilă la SSL Labs pentru uz intern. DeepViolet este capabil să scaneze:

  • Cifruri expuse care prezintă vulnerabilități.
  • Algoritmi de semnare cu grad scăzut de securitate.
  • Statusul revocării certificatelor.
  • Valabilitatea certificatelor.
  • Lanțul de încredere, evidențiind certificatele auto-semnate.

Diagnosticare SSL

Acest instrument permite evaluarea rapidă a securității SSL a unui site web. Diagnosticare SSL analizează protocolul SSL, suitele de criptare și vulnerabilități precum Heartbleed și BEAST.

Diagnosticarea nu se limitează la HTTPS, acoperind și protocoalele SMTP, SIP, POP3 și FTPS.

SSLyze

SSLyze este o bibliotecă Python și un instrument de linie de comandă care testează punctele finale SSL și identifică eventualele erori de configurare SSL/TLS.

Scanările realizate de SSLyze se efectuează rapid datorită distribuirii testelor pe mai multe procese. Pentru dezvoltatori sau pentru cei care doresc să integreze funcționalitatea în aplicații existente, este disponibilă opțiunea de a salva rezultatele în format XML sau JSON.

SSLyze este inclus și în distribuția Kali Linux. Pentru cei noi în Kali, există ghiduri disponibile pentru instalarea Kali Linux pe VMWare Fusion.

OpenSSL

Nu subestimați puterea OpenSSL, un instrument autonom foarte eficient, disponibil atât pe Windows, cât și pe Linux. OpenSSL oferă o gamă variată de funcții legate de SSL, precum verificarea și generarea CSR-urilor, sau conversia certificatelor.

Scanare SSL Labs

Qualys SSL Labs este un instrument foarte apreciat de mulți, inclusiv de mine.

Dacă sunteți în căutarea unui instrument de linie de comandă care să extindă funcționalitatea SSL Labs pentru testări automate sau în masă, Scanare SSL Labs este soluția ideală.

Scanare SSL

Scanare SSL este compatibil cu Windows, Linux și macOS. Acest instrument identifică rapid următoarele:

  • Cifruile SSLv2/SSLv3/CBC/3DES/RC4.
  • Cifruile slabe (cu mai puțin de 40 de biți) sau nule/anonime.
  • Compresia TLS și vulnerabilitatea Heartbleed.
  • și multe altele.

Scanarea SSL se dovedește a fi un instrument eficient și rapid pentru depanarea problemelor de criptare.

tipstrick.ro TLS Scanner API

O altă soluție inteligentă pentru webmasteri este tipstrick.ro TLS Scanner API.

Acesta reprezintă o metodă eficientă de a verifica protocolul TLS, CN, SAN și alte detalii ale certificatelor într-un timp foarte scurt. Serviciul poate fi testat gratuit cu un abonament care permite până la 3000 de solicitări pe lună.

Planul premium de bază oferă o rată mai mare de solicitări și 10.000 de apeluri API pentru un cost de doar 5 dolari pe lună.

TestSSL

După cum sugerează și numele, TestSSL este un instrument de linie de comandă compatibil cu Linux și macOS. Acesta evaluează toți parametrii esențiali și raportează starea acestora (bună sau rea).

Exemplu:

Testing protocols via sockets except SPDY+HTTP2

SSLv2 not offered (OK)
SSLv3 not offered (OK)
TLS 1 offered
TLS 1.1 offered
TLS 1.2 offered (OK)
SPDY/NPN h2, spdy/3.1, http/1.1 (advertised)
HTTP2/ALPN h2, spdy/3.1, http/1.1 (offered)

Testing ~standard cipher categories

NULL ciphers (no encryption) not offered (OK)
Anonymous NULL Ciphers (no authentication) not offered (OK)
Export ciphers (w/o ADH+NULL) not offered (OK)
LOW: 64 Bit + DES encryption (w/o export) not offered (OK)
Weak 128 Bit ciphers (SEED, IDEA, RC[2,4]) not offered (OK)
Triple DES Ciphers (Medium) not offered (OK)
High encryption (AES+Camellia, no AEAD) offered (OK)
Strong encryption (AEAD ciphers) offered (OK)

Testing server preferences

Has server cipher order? yes (OK)
Negotiated protocol TLSv1.2
Negotiated cipher ECDHE-ECDSA-CHACHA20-POLY1305-OLD, 256 bit ECDH (P-256)
Cipher order
TLSv1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA DES-CBC3-SHA 
TLSv1.1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA 
TLSv1.2: ECDHE-ECDSA-CHACHA20-POLY1305-OLD ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-CHACHA20-POLY1305-OLD
ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256 AES128-GCM-SHA256 AES128-SHA AES128-SHA256
ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES256-SHA384 AES256-GCM-SHA384
AES256-SHA AES256-SHA256

Testing vulnerabilities

Heartbleed (CVE-2014-0160) not vulnerable (OK), no heartbeat extension
CCS (CVE-2014-0224) not vulnerable (OK)
Ticketbleed (CVE-2016-9244), experiment. not vulnerable (OK)
Secure Renegotiation (CVE-2009-3555) not vulnerable (OK)
Secure Client-Initiated Renegotiation not vulnerable (OK)
CRIME, TLS (CVE-2012-4929) not vulnerable (OK)
BREACH (CVE-2013-3587) potentially NOT ok, uses gzip HTTP compression. - only supplied "/" tested
Can be ignored for static pages or if no secrets in the page
POODLE, SSL (CVE-2014-3566) not vulnerable (OK)
TLS_FALLBACK_SCSV (RFC 7507) Downgrade attack prevention supported (OK)
SWEET32 (CVE-2016-2183, CVE-2016-6329) not vulnerable (OK)
FREAK (CVE-2015-0204) not vulnerable (OK)
DROWN (CVE-2016-0800, CVE-2016-0703) not vulnerable on this host and port (OK)
make sure you don't use this certificate elsewhere with SSLv2 enabled services
https://censys.io/ipv4?q=EDF8A1A3D0FFCBE0D6EA4C44DB5F4BE1A7C2314D1458ADC925A30AA6235B9820 could help you to find out
LOGJAM (CVE-2015-4000), experimental not vulnerable (OK): no DH EXPORT ciphers, no DH key detected
BEAST (CVE-2011-3389) TLS1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA
AES256-SHA DES-CBC3-SHA 
VULNERABLE -- but also supports higher protocols (possible mitigation): TLSv1.1 TLSv1.2
LUCKY13 (CVE-2013-0169) VULNERABLE, uses cipher block chaining (CBC) ciphers
RC4 (CVE-2013-2566, CVE-2015-2808) no RC4 ciphers detected (OK)

După cum se observă, TestSSL acoperă un spectru larg de vulnerabilități, preferințe de criptare, protocoale, etc. TestSSL.sh este disponibil și ca imagine docker.

Pentru a realiza scanări la distanță folosind testssl.sh, se poate apela la tipstrick.ro TLS Scanner.

Scanare TLS

Puteți compila TLS-Scan din sursă sau descărca binarul pentru Linux/OSX. Acesta extrage informații despre certificatul serverului și afișează datele sub formă JSON, incluzând:

  • Verificările numelui de gazdă.
  • Verificările compresiei TLS.
  • Verificările versiunilor de cifrare și TLS.
  • Verificările reutilizării sesiunii.

Instrumentul suportă protocoalele TLS, SMTP, STARTTLS și MySQL, iar rezultatele pot fi integrate într-un sistem de analiză de tip Splunk sau ELK.

Scanare cifrată

Acest instrument permite analizarea rapidă a cifrurilor suportate de un site web HTTPS. Scanare cifrată oferă opțiunea de a afișa rezultatele și în format JSON, fiind în esență un wrapper pentru comanda OpenSSL.

Audit SSL

Audit SSL este un instrument open-source util pentru verificarea certificatelor, suportului de protocol și a cifrurilor, furnizând evaluări bazate pe metodologia SSL Labs.

Sperăm că instrumentele open-source prezentate vă vor ajuta să integrați scanările continue cu sistemul vostru de analiză a jurnalelor și să eficientizați procesul de depanare.