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