Під час роботи веб-інженером, веб-майстром або системним адміністратором вам часто доводиться вирішувати проблеми, пов’язані з 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.
Сканування через 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.
Я сподіваюся, що наведені вище інструменти з відкритим вихідним кодом допоможуть вам інтегрувати безперервне сканування з наявним аналізатором журналів і полегшать усунення несправностей.