作为 Web 工程师、网站管理员或系统管理员,您经常需要调试 SSL/TLS 相关问题。
SSL证书、测试SSL/TLS漏洞的在线工具有很多,但是当涉及到测试基于内网的URL、VIP、IP时,它们将无济于事。
要对 Intranet 资源进行故障排除,您需要一个可以安装在网络中并执行必要测试的独立软件/工具。
可能有多种情况,例如:
- 在使用网络服务器实施 SSL 证书期间出现问题
- 想要确保最新/特定的密码,正在使用协议
- 实现后,希望验证配置
- 渗透测试结果中发现的安全风险
以下工具将有助于解决此类问题。
目录
深紫
深紫 是一个基于 java 的 SSL/TLS 扫描工具,以二进制形式提供,或者您可以使用源代码进行编译。
如果您正在寻找用于内部网络的 SSL Labs 的替代品,那么 DeepViolet 将是一个不错的选择。 它扫描以下内容。
- 弱密码暴露
- 弱签名算法
- 认证撤销状态
- 证书到期状态
- 可视化信任链,一个自签名的根
SSL 诊断
快速评估您网站的 SSL 强度。 SSL 诊断 提取 SSL 协议、密码套件、heartbleed、BEAST。
不仅仅是 HTTPS,您还可以测试 SMTP、SIP、POP3 和 FTPS 的 SSL 强度。
SSLyze
SSLyze 是一个 Python 库和命令行工具,它连接到 SSL 端点并执行扫描以识别任何 SSL/TLS 错误配置。
通过 SSLyze 扫描速度很快,因为测试分布在多个进程中。 如果您是开发人员或者您想与现有应用程序集成,那么您可以选择以 XML 或 JSON 格式编写结果。
SSLyze 在 Kali Linux 中也可用。 如果您是 Kali 新手,请查看如何在 VMWare Fusion 上安装 Kali Linux。
OpenSSL
不要低估 OpenSSL,它是可用于 Windows 或 Linux 的强大独立工具之一,用于执行各种 SSL 相关任务,如验证、CSR 生成、证书转换等。
SSL 实验室扫描
喜欢 Qualys SSL 实验室吗? 你不是一个人; 我也爱它。
如果您正在为 SSL Labs 寻找用于自动化或批量测试的命令行工具,那么 SSL 实验室扫描 会有用的。
SSL 扫描
SSL 扫描 与 Windows、Linux 和 MAC 兼容。 SSL 扫描有助于快速识别以下指标。
- 突出显示 SSLv2/SSLv3/CBC/3DES/RC4/密码
- 报告弱(<40 位)、空/匿名密码
- 验证 TLS 压缩,heartbleed 漏洞
- 以及更多…
如果您正在处理与密码相关的问题,那么 SSL 扫描将是快速跟踪故障排除的有用工具。
techblik.com TLS 扫描程序 API
对于网站管理员来说,另一个不错的解决方案是 techblik.com TLS Scanner API。
这是一种在瞬间检查 TLS 协议、CN、SAN 和其他证书详细信息的可靠方法。 您可以免费订阅,每月最多 3000 个请求。
但是,基本高级层增加了更高的请求率和 10K API 调用,每月只需 5 美元。
测试SSL
顾名思义, 测试SSL 是与 Linux 或 OS 兼容的命令行工具。 它测试所有基本指标并给出状态,无论好坏。
前任:
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 进行远程扫描,那么您可以尝试 techblik.com TLS Scanner。
TLS 扫描
您可以构建 TLS扫描 从源代码或下载 Linux/OSX 的二进制文件。 它从服务器中提取证书信息并以 JSON 格式打印以下指标。
- 主机名验证检查
- TLS 压缩检查
- 密码和 TLS 版本枚举检查
- 会话重用检查
它支持 TLS、SMTP、STARTTLS 和 MySQL 协议。 您还可以将生成的输出集成到 Splunk、ELK 等日志分析器中。
密码扫描
分析 HTTPS 网站支持所有密码的快速工具。 密码扫描 还可以选择以 JSON 格式显示输出。 它是包装器,内部使用 OpenSSL 命令。
SSL 审计
SSL 审核 是一个开源工具,用于验证证书并支持基于 SSL Labs 的协议、密码和等级。
我希望上述开源工具可以帮助您将持续扫描与现有的日志分析器集成并简化故障排除。