11 БЕЗКОШТОВНИХ інструментів усунення несправностей SSL/TLS для веб-майстрів

Під час роботи веб-інженером, веб-майстром або системним адміністратором вам часто доводиться вирішувати проблеми, пов’язані з SSL/TLS.

Існує багато онлайн-інструментів для сертифіката SSL, тестування вразливостей SSL/TLS, але коли справа доходить до тестування URL-адреси на основі інтрамережі, VIP-адреси, IP-адреси, вони не будуть корисними.

Щоб усунути проблеми з ресурсами інтрамережі, вам знадобиться окреме програмне забезпечення/інструменти, які можна встановити у своїй мережі та виконати необхідний тест.

Можуть бути різні сценарії, наприклад:

  • Виникли проблеми під час впровадження сертифіката SSL із веб-сервером
  • Хочете переконатися, що використовується останній/конкретний шифр, протокол
  • Після впровадження бажаю перевірити конфігурацію
  • Загроза безпеці виявлена ​​в результатах тесту на проникнення

Наведені нижче інструменти будуть корисними для вирішення таких проблем.

DeepViolet

DeepViolet це інструмент сканування SSL/TLS на основі Java, доступний у двійковому вигляді, або ви можете скомпілювати з вихідним кодом.

Якщо ви шукаєте альтернативу SSL Labs для використання у внутрішній мережі, то DeepViolet буде хорошим вибором. Він сканує наступне.

  • Виявлено слабкий шифр
  • Слабкий алгоритм підписання
  • Статус відкликання сертифіката
  • Статус закінчення терміну дії сертифіката
  • Візуалізуйте довірчий ланцюжок, самопідписаний корінь

Діагностика SSL

Швидко оцініть надійність SSL вашого веб-сайту. Діагностика SSL витягти протокол SSL, набори шифрів, heartbleed, BEAST.

Не лише HTTPS, ви можете перевірити надійність SSL для SMTP, SIP, POP3 і FTPS.

SSLyze

SSLyze це бібліотека Python і інструмент командного рядка, який підключається до кінцевої точки SSL і виконує сканування, щоб виявити будь-яку помилкову конфігурацію SSL/TLS.

  Огляд Angry IP Scanner (2021) для мережевого сканування

Сканування через SSLyze відбувається швидко, оскільки тест розподіляється між кількома процесами. Якщо ви розробник або бажаєте інтегрувати свою існуючу програму, у вас є можливість записати результат у форматі XML або JSON.

SSLyze також доступний у Kali Linux. Якщо ви новачок у Kali, подивіться, як встановити Kali Linux на VMWare Fusion.

OpenSSL

Не варто недооцінювати OpenSSL, один із потужних автономних інструментів, доступних для Windows або Linux, для виконання різноманітних завдань, пов’язаних із SSL, як-от перевірка, створення CSR, перетворення сертифікатів тощо.

SSL Labs Scan

Подобається Qualys SSL Labs? Ти не самотній; Я теж це люблю.

Якщо ви шукаєте інструмент командного рядка для SSL Labs для автоматизованого або масового тестування, тоді SSL Labs Scan було б корисно.

Сканування SSL

Сканування SSL сумісний з Windows, Linux і MAC. Сканування SSL допомагає швидко визначити наступні показники.

  • Виділіть шифри SSLv2/SSLv3/CBC/3DES/RC4/
  • Повідомити про слабкі (<40 біт), нульові/анонімні шифри
  • Перевірте стиснення TLS, уразливість heartbleed
  • і набагато більше…

Якщо ви працюєте над проблемами, пов’язаними з шифруванням, сканування SSL стане корисним інструментом для швидкого усунення несправностей.

API сканера TLS techukraine.net

Іншим чудовим рішенням для веб-майстрів може бути techukraine.net TLS Scanner API.

Це надійний метод перевірки протоколу TLS, CN, SAN та інших деталей сертифіката за частку секунди. І ви можете спробувати це без ризику за допомогою безкоштовної підписки на до 3000 запитів на місяць.

Однак базовий преміум-рівень додає більшу кількість запитів і 10 тисяч викликів API всього за 5 доларів на місяць.

  Як навчитися захищати веб-додатки?

Перевірте SSL

Як вказує назва, Перевірте SSL це інструмент командного рядка, сумісний з Linux або ОС. Він перевіряє всі основні показники та надає статус, хороший чи поганий.

Наприклад:

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)

Як бачите, він охоплює велику кількість вразливостей, налаштувань шифру, протоколів тощо. TestSSL.sh також доступний у зображення докера.

  Як розпочати машинне навчання?

Якщо вам потрібно виконати віддалене сканування за допомогою testssl.sh, ви можете спробувати techukraine.net TLS Scanner.

Сканування TLS

Ви можете будувати TLS-сканування з джерела або завантажте двійковий файл для Linux/OSX. Він витягує інформацію про сертифікат із сервера та друкує наступні показники у форматі JSON.

  • Перевірка імені хоста
  • Перевірка стиснення TLS
  • Перевірка версії шифру та TLS
  • Перевірки повторного використання сеансу

Він підтримує протоколи TLS, SMTP, STARTTLS і MySQL. Ви також можете інтегрувати отримані результати в аналізатор журналів, наприклад Splunk, ELK.

Сканування шифру

Швидкий інструмент для аналізу того, які шифри підтримує веб-сайт HTTPS. Сканування шифру також має можливість відображати вихідні дані у форматі JSON. Це обгортка, яка внутрішньо використовує команду OpenSSL.

Аудит SSL

Аудит SSL це інструмент із відкритим вихідним кодом для перевірки сертифіката та підтримки протоколу, шифрів і класу на основі SSL Labs.

Я сподіваюся, що наведені вище інструменти з відкритим вихідним кодом допоможуть вам інтегрувати безперервне сканування з наявним аналізатором журналів і полегшать усунення несправностей.