11 BEZPŁATNYCH narzędzi do rozwiązywania problemów SSL/TLS dla webmastera

W pracy inżyniera stron internetowych, administratora systemów lub webmastera, częstym zadaniem jest rozwiązywanie problemów związanych z protokołami SSL/TLS.

Dostępnych jest wiele internetowych narzędzi do analizy certyfikatów SSL oraz testowania podatności SSL/TLS, jednak nie sprawdzą się one w przypadku adresów URL w sieci lokalnej, adresów VIP czy adresów IP.

Do diagnostyki zasobów w intranecie potrzebne są samodzielne programy lub narzędzia, które można zainstalować w sieci i za ich pomocą przeprowadzić niezbędne testy.

Może zaistnieć wiele scenariuszy, na przykład:

  • Problemy podczas wdrażania certyfikatu SSL na serwerze WWW.
  • Potrzeba upewnienia się, czy używany jest najnowszy lub konkretny szyfr.
  • Chęć weryfikacji konfiguracji po jej wdrożeniu.
  • Wykrycie zagrożeń bezpieczeństwa podczas testów penetracyjnych.

W rozwiązywaniu tego typu problemów pomocne okażą się poniższe narzędzia.

DeepViolet

DeepViolet to aplikacja do skanowania SSL/TLS oparta na języku Java. Dostępna jest jako plik binarny lub może być skompilowana z kodu źródłowego.

Jeśli szukasz alternatywy dla SSL Labs do użytku w sieci wewnętrznej, DeepViolet będzie odpowiednim wyborem. Dokonuje on analizy pod kątem następujących elementów:

  • Wykorzystanie słabych szyfrów.
  • Słabe algorytmy podpisywania.
  • Status unieważnienia certyfikatu.
  • Status ważności certyfikatu.
  • Wizualizacja łańcucha zaufania, w tym samopodpisanych certyfikatów głównych.

SSL Diagnos

Pozwala na szybką ocenę siły protokołu SSL danej witryny. SSL Diagnos wydobywa informacje o protokole SSL, zestawach szyfrów oraz wykrywa podatności takie jak Heartbleed czy BEAST.

Narzędzie umożliwia testowanie siły SSL nie tylko dla protokołu HTTPS, ale również dla SMTP, SIP, POP3 i FTPS.

SSLyze

SSLyze to biblioteka Pythona i narzędzie wiersza poleceń, które łączy się z punktem końcowym SSL i przeprowadza skanowanie w celu wykrycia wszelkich błędnych konfiguracji SSL/TLS.

Skanowanie za pomocą SSLyze przebiega szybko, ponieważ test jest rozdzielany pomiędzy wiele procesów. Programiści mają możliwość zapisania wyników w formacie XML lub JSON, co ułatwia integrację z istniejącymi aplikacjami.

SSLyze jest również dostępne w systemie Kali Linux. Dla osób, które dopiero zaczynają pracę z Kali, pomocne może być sprawdzenie, jak zainstalować Kali Linux na VMWare Fusion.

OpenSSL

Nie można lekceważyć OpenSSL, jednego z potężnych samodzielnych narzędzi dostępnych dla systemów Windows i Linux, które umożliwia wykonywanie różnych zadań związanych z SSL, takich jak weryfikacja, generowanie CSR, konwersja certyfikatów, i wiele innych.

SSL Labs Scan

Lubisz Qualys SSL Labs? Nie jesteś sam, wiele osób ceni to narzędzie.

Jeśli poszukujesz narzędzia wiersza poleceń dla SSL Labs do automatycznych lub masowych testów, przydatne będzie SSL Labs Scan.

SSL Scan

SSL Scan jest kompatybilny z systemami Windows, Linux i macOS. Pomaga on szybko zidentyfikować następujące parametry:

  • Oznaczenie szyfrów SSLv2/SSLv3/CBC/3DES/RC4.
  • Wykrywanie słabych szyfrów (poniżej 40 bitów), zerowych lub anonimowych.
  • Weryfikację kompresji TLS i podatności na Heartbleed.
  • I wiele innych.

Jeśli pracujesz nad problemami związanymi z szyfrowaniem, SSL Scan będzie bardzo pomocnym narzędziem do szybkiego rozwiązania problemów.

newsblog.pl TLS Scanner API

Kolejnym interesującym rozwiązaniem dla webmasterów może być newsblog.pl TLS Scanner API.

Jest to efektywny sposób na sprawdzenie protokołu TLS, CN, SAN i innych szczegółów certyfikatu w bardzo krótkim czasie. Możliwe jest przetestowanie tego rozwiązania bez ponoszenia kosztów, dzięki darmowemu planowi obejmującemu do 3000 zapytań miesięcznie.

Wersja premium, oferująca większą liczbę zapytań i 10 000 wywołań API, to koszt 5 USD miesięcznie.

TestSSL

Jak sama nazwa wskazuje, TestSSL jest narzędziem wiersza poleceń, kompatybilnym z systemami Linux i macOS. Testuje ono wszystkie podstawowe parametry i informuje, czy wynik jest pozytywny, czy negatywny.

Przykładowe wyniki testu:

Testowanie protokołów przez gniazda z wyjątkiem SPDY+HTTP2

SSLv2 niedostępne (OK)
SSLv3 niedostępne (OK)
TLS 1 dostępne
TLS 1.1 dostępne
TLS 1.2 dostępne (OK)
SPDY/NPN h2, spdy/3.1, http/1.1 (reklamowane)
HTTP2/ALPN h2, spdy/3.1, http/1.1 (dostępne)

Testowanie ~standardowych kategorii szyfrów

Szyfry NULL (bez szyfrowania) niedostępne (OK)
Anonimowe szyfry NULL (bez uwierzytelniania) niedostępne (OK)
Szyfry eksportowe (bez ADH+NULL) niedostępne (OK)
SŁABE: 64 Bit + szyfrowanie DES (bez eksportu) niedostępne (OK)
Słabe szyfry 128 bit (SEED, IDEA, RC[2,4]) niedostępne (OK)
Szyfry Triple DES (średnie) niedostępne (OK)
Wysokie szyfrowanie (AES+Camellia, bez AEAD) dostępne (OK)
Silne szyfrowanie (szyfry AEAD) dostępne (OK)

Testowanie preferencji serwera

Czy serwer ma kolejność szyfrów? tak (OK)
Negocjowany protokół TLSv1.2
Negocjowany szyfr ECDHE-ECDSA-CHACHA20-POLY1305-OLD, 256 bit ECDH (P-256)
Kolejność szyfrów
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

Testowanie luk w zabezpieczeniach

Heartbleed (CVE-2014-0160) niepodatny (OK), brak rozszerzenia heartbeat
CCS (CVE-2014-0224) niepodatny (OK)
Ticketbleed (CVE-2016-9244), eksperyment. niepodatny (OK)
Bezpieczna renegocjacja (CVE-2009-3555) niepodatna (OK)
Bezpieczna renegocjacja inicjowana przez klienta niepodatna (OK)
CRIME, TLS (CVE-2012-4929) niepodatna (OK)
BREACH (CVE-2013-3587) potencjalnie NIE ok, używa kompresji HTTP gzip. - testowany tylko "/"
Można ignorować dla stron statycznych lub jeśli na stronie nie ma sekretów
POODLE, SSL (CVE-2014-3566) niepodatny (OK)
TLS_FALLBACK_SCSV (RFC 7507) Zapobieganie atakowi obniżenia wersji obsługiwane (OK)
SWEET32 (CVE-2016-2183, CVE-2016-6329) niepodatny (OK)
FREAK (CVE-2015-0204) niepodatny (OK)
DROWN (CVE-2016-0800, CVE-2016-0703) niepodatny na tym hoście i porcie (OK)
upewnij się, że nie używasz tego certyfikatu nigdzie indziej z włączonymi usługami SSLv2
https://censys.io/ipv4?q=EDF8A1A3D0FFCBE0D6EA4C44DB5F4BE1A7C2314D1458ADC925A30AA6235B9820 może ci pomóc w ustaleniu
LOGJAM (CVE-2015-4000), eksperymentalny niepodatny (OK): brak szyfrów DH EXPORT, nie wykryto klucza DH
BEAST (CVE-2011-3389) TLS1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA
AES256-SHA DES-CBC3-SHA
PODATNY -- ale obsługuje również wyższe protokoły (możliwe złagodzenie): TLSv1.1 TLSv1.2
LUCKY13 (CVE-2013-0169) PODATNY, używa szyfrów z łańcuchem bloków (CBC)
RC4 (CVE-2013-2566, CVE-2015-2808) nie wykryto szyfrów RC4 (OK)

Jak widać, test obejmuje analizę wielu luk w zabezpieczeniach, preferencji szyfrowania, protokołów itp. TestSSL.sh jest również dostępny jako obraz dokowany.

Jeżeli potrzebujesz wykonać zdalne skanowanie za pomocą testingsl.sh, możesz skorzystać z newsblog.pl TLS Scanner.

TLS Scan

Możesz zbudować TLS Scan ze źródeł lub pobrać plik binarny dla systemu Linux/macOS. Program wyodrębnia informacje o certyfikacie z serwera i wyświetla następujące parametry w formacie JSON:

  • Weryfikacja nazwy hosta.
  • Sprawdzenie kompresji TLS.
  • Weryfikacja wersji szyfrowania i TLS.
  • Sprawdzenie ponownego wykorzystania sesji.

Obsługuje protokoły TLS, SMTP, STARTTLS i MySQL. Możesz zintegrować wyniki z narzędziami do analizy logów, takimi jak Splunk czy ELK.

Cipher Scan

To szybkie narzędzie do analizy szyfrów obsługiwanych przez witrynę HTTPS. Cipher Scan ma również możliwość wyświetlania danych wyjściowych w formacie JSON. Jest to nakładka, która w swoim działaniu korzysta z polecenia OpenSSL.

SSL Audit

SSL Audit to narzędzie typu open source służące do weryfikacji certyfikatu oraz obsługi protokołu, szyfrowania i oceny, bazujące na wynikach z SSL Labs.

Mam nadzieję, że powyższe narzędzia open source pomogą Ci zintegrować ciągłe skanowanie z istniejącym analizatorem logów i ułatwią rozwiązywanie problemów.


newsblog.pl