11 ZDARMA SSL/TLS nástrojů pro odstraňování problémů pro webmastery

Photo of author

By etechblogcz

Během práce webového inženýra, administrátora webu nebo správce systémů se často setkáváme s nutností řešit problémy spojené s SSL/TLS.

Ačkoli je k dispozici mnoho online nástrojů pro kontrolu SSL certifikátů a testování zranitelností SSL/TLS, při zkoumání intranetových URL, VIP adres nebo IP adres se tyto nástroje stávají nepoužitelnými.

Pro řešení potíží s intranetovými zdroji je nezbytné používat specifický software či nástroje, které lze instalovat přímo ve vaší síti a provádět potřebné testy.

Mohou nastat různé scénáře:

  • Potíže při zavádění SSL certifikátu na webový server
  • Snaha ověřit, zda je používán nejnovější či konkrétní šifrovací protokol
  • Potřeba validovat konfiguraci po implementaci
  • Identifikace bezpečnostních rizik zjištěných při penetračním testu

Následující nástroje vám mohou být nápomocné při řešení těchto výzev.

DeepViolet

DeepViolet je skenovací nástroj pro SSL/TLS, který je založen na Javě. K dispozici je buď v binární podobě, nebo si ho můžete sami zkompilovat ze zdrojového kódu.

Pokud hledáte alternativu k SSL Labs pro použití ve vnitřní síti, DeepViolet je skvělá volba. Zaměřuje se na vyhledávání:

  • Odhalených slabých šifer
  • Slabých podpisových algoritmů
  • Stavu odvolání certifikátu
  • Stavu expirace certifikátu
  • Vizualizaci řetězce důvěry, včetně kořenových certifikátů s vlastním podpisem

Diagnostika SSL

Umožňuje rychlé vyhodnocení síly SSL vašeho webu. Diagnostika SSL extrahuje informace o SSL protokolu, šifrovacích sadách a také ověřuje zranitelnosti jako Heartbleed a BEAST.

Kromě HTTPS umožňuje otestovat sílu SSL pro další protokoly jako SMTP, SIP, POP3 a FTPS.

SSLyze

SSLyze je knihovna v Pythonu a nástroj příkazové řádky, který se připojuje k SSL endpointu a skenuje ho, aby detekoval jakékoli chybné konfigurace SSL/TLS.

Skenování pomocí SSLyze probíhá rychle díky distribuci testu mezi více procesů. Pokud jste vývojář nebo chcete integrovat nástroj do vaší stávající aplikace, máte možnost uložit výsledek ve formátu XML nebo JSON.

SSLyze je také dostupný v Kali Linuxu. Pokud jste nováčky v Kali, můžete se podívat, jak nainstalovat Kali Linux na VMWare Fusion.

OpenSSL

Nepodceňujte OpenSSL, jeden z mocných samostatných nástrojů, který je k dispozici pro Windows i Linux. Můžete s ním provádět různé úlohy související se SSL, jako je ověřování, generování CSR, převod certifikátů a další.

SSL Labs Scan

Máte rádi Qualys SSL Labs? Nejste sami; je oblíbený i u nás.

Pokud hledáte nástroj příkazové řádky pro SSL Labs pro automatické nebo hromadné testování, pak SSL Labs Scan vám může být velmi užitečný.

SSL skenování

SSL skenování je kompatibilní s Windows, Linuxem a macOS. SSL Scan rychle pomůže identifikovat následující klíčové metriky:

  • Upozorní na šifry SSLv2/SSLv3/CBC/3DES/RC4/
  • Nahlásí slabé (<40bit) šifry a null/anonymní šifry
  • Ověří komprese TLS, zranitelnost Heartbleed
  • A mnoho dalšího…

Pokud se potýkáte s problémy souvisejícími se šifrováním, SSL skenování vám poslouží jako užitečný nástroj pro rychlé odhalení příčin a nápravu potíží.

etechblog.cz TLS Scanner API

Dalším užitečným řešením pro webmastery může být API pro TLS skener od etechblog.cz.

Jedná se o robustní metodu pro rychlou kontrolu protokolu TLS, CN (Common Name), SAN (Subject Alternative Name) a dalších detailů certifikátu. K dispozici je i bezplatné předplatné až pro 3000 požadavků měsíčně.

Základní prémiová úroveň pak nabízí větší objem požadavků, konkrétně 10 000 API volání za pouhých 5 USD měsíčně.

TestSSL

Jak už název napovídá, TestSSL je nástroj příkazového řádku kompatibilní s Linuxem nebo macOS. Testuje všechny základní metriky a udává stav, ať už je dobrý, nebo špatný.

Příklad:

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)

Jak vidíte, pokrývá značné množství zranitelností, preferencí šifrování, protokolů atd. TestSSL.sh je dostupný i jako Docker image.

Pro provádění vzdáleného skenování pomocí testssl.sh můžete zkusit etechblog.cz TLS Scanner.

TLS skenování

Můžete si buď sestavit TLS-Scan ze zdrojového kódu, nebo si stáhnout binární soubor pro Linux/macOS. Extrahují se informace o certifikátu ze serveru a výpis je proveden ve formátu JSON.

  • Kontroly validace jména hostitele
  • Kontroly TLS komprese
  • Kontroly výčtu šifer a verzí TLS
  • Kontroly opětovného použití relace

Podporuje protokoly TLS, SMTP, STARTTLS a MySQL. Výsledný výstup lze integrovat i do protokolovacích analyzátorů jako Splunk nebo ELK.

Skenování šifry

Rychlý nástroj pro analýzu šifer, které web s HTTPS podporuje. Skenování šifry umožňuje i výstup ve formátu JSON. Interně se jedná o obal pro příkaz OpenSSL.

Audit SSL

SSL audit je nástroj s otevřeným zdrojovým kódem určený k ověřování certifikátů a podpory protokolů, šifer. Provádí hodnocení na základě metodiky SSL Labs.

Doufám, že výše uvedené nástroje s otevřeným zdrojovým kódem vám pomohou s integrací průběžného skenování do vašeho stávajícího analyzátoru protokolů a usnadní vám odstraňování problémů.