11个免费的SSL/TLS故障排除工具,供网站管理员使用
作为网络工程师、网站管理员或系统管理员,在工作中经常需要调试与SSL/TLS相关的问题。
有很多在线工具用于测试公网URL、VIP和IP之类的问题,但是对于测试内网资源,它们并不起作用。
为了解决内网资源的问题,您需要一个独立的软件/工具,可以在您的网络中安装并进行必要的测试。
可能会有各种不同的情况,例如:
- 在Web服务器上实施SSL证书时出现问题
- 想要确保使用最新/特定的密码套件和协议
- 在实施后,希望验证配置
- 在渗透测试结果中发现了安全风险
以下工具将有助于解决此类问题。
DeepViolet
DeepViolet 是一个基于Java的SSL/TLS扫描工具,可提供二进制文件,或者您可以使用源代码进行编译。
如果您正在寻找SSL Labs的替代方案,用于内部网络,则DeepViolet是一个不错的选择。它会扫描以下内容。
- 暴露的弱密码套件
- 弱签名算法
- 证书吊销状态
- Certificate expiry状态
- 可视化信任链、自签名根证书
SSL Diagnos
快速评估您网站的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上的使用指南。
OpenSSL
不要低估OpenSSL,它是Windows或Linux上可用的功能强大的独立工具之一,可用于执行各种与SSL相关的任务,如验证、CSR生成、certification conversion等。
SSL Labs Scan
喜欢Qualys SSL Labs吗?您并不孤单,我也喜欢。
如果您正在寻找用于自动化或批量测试的SSL Labs的命令行工具,则SSL Labs Scan将非常有用。
SSL Scan
SSL Scan 与Windows、Linux和MAC兼容。SSL Scan可以快速帮助识别以下指标。
- 突出显示SSLv2/SSLv3/CBC/3DES/RC4/密码套件
- 报告弱(<40位)、空/匿名密码套件
- 验证TLS压缩、心脏出血漏洞
- 等等…
如果您正在处理与密码套件相关的问题,那么SSL Scan将是一款有用的工具,可以加速故障排除。
Geekflare TLS Scanner API
对于网站管理员来说,另一个方便的解决方案可以是Geekflare TLS Scanner API。
这是一种快速检查TLS协议、CN、SAN和其他证书详细信息的强大方法。您可以免费订阅,每月最多可进行3000次请求,并且可以零风险地尝试。
然而,基本高级套餐可以增加更高的请求速率和10K个API调用,仅需每月5美元。
TestSSL
顾名思义,TestSSL 是一个与Linux或OS兼容的命令行工具。它会测试所有必要的指标,并给出状态,无论是好还是坏。
例如:
通过套接字测试协议,除了SPDY + HTTP2 不提供SSLv2(OK) 不提供SSLv3(OK) 提供TLS 1 提供TLS 1.1 提供TLS 1.2(OK) SPDY / NPN h2,spdy / 3.1,http / 1.1(广告) HTTP2 / ALPN h2,spdy / 3.1,http / 1.1(提供的) 测试~标准密码类别 不提供NULL密码(无加密)(OK) 不提供匿名NULL密码(无身份验证)(OK) 不提供出口密码(无ADH + NULL)(OK) 不提供低级密码:64位+DES加密(无出口)(OK) 不提供弱128位密码(SEED,IDEA,RC [2,4])(OK) 不提供Triple DES密码(中)(OK) 提供高级加密(AES + Camellia,无AEAD)(OK) 提供强加密(AEAD密码)(OK) 测试服务器首选项 服务器密码顺序?是的(OK) 协商的协议TLSv1.2 协商的密码ECDHE-ECDSA-CHACHA20-POLY1305-OLD,256位的ECDH(P-256) 密码顺序 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 测试漏洞 Heartbleed(CVE-2014-0160)不受漏洞影响(OK),没有心跳扩展 CCS(CVE-2014-0224)不受漏洞影响(OK) Ticketbleed(CVE-2016-9244),实验。不受漏洞影响(OK) 安全重新协商(CVE-2009-3555)不受漏洞影响(OK) 安全客户端启动重新协商不受漏洞影响(OK) CRIME,TLS(CVE-2012-4929)不受漏洞影响(OK) BREACH(CVE-2013-3587)可能不OK,使用gzip HTTP压缩。 - 仅供"/"测试 对于静态页面或页面中没有机密信息,可以忽略此项 POODLE,SSL(CVE-2014-3566)不受漏洞影响(OK) TLS_FALLBACK_SCSV(RFC 7507)支持降级攻击防护(OK) SWEET32(CVE-2016-2183,CVE-2016-6329)不受漏洞影响(OK) FREAK(CVE-2015-0204)不受漏洞影响(OK) DROWN(CVE-2016-0800,CVE-2016-0703)在此主机和端口上不受漏洞影响(OK) 确保您不在启用SSLv2的服务中使用此证书 https://censys.io/ipv4?q=EDF8A1A3D0FFCBE0D6EA4C44DB5F4BE1A7C2314D1458ADC925A30AA6235B9820可以帮助您找到答案 LOGJAM(CVE-2015-4000),实验不受漏洞影响(OK):没有DH EXPORT密码,没有检测到DH密钥 BEAST(CVE-2011-3389)TLS1:ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA DES-CBC3-SHA 易受攻击--但也支持更高的协议(可能有缓解措施):TLSv1.1 TLSv1.2 LUCKY13(CVE-2013-0169)易受攻击,使用密码块链接(CBC)密码 RC4(CVE-2013-2566,CVE-2015-2808)未检测到RC4密码(OK)
正如您所看到的,它涵盖了大量的漏洞、密码首选项、协议等。TestSSL.sh也可在docker image中找到。
如果您需要使用testssl.sh进行远程扫描,可以尝试Geekflare TLS Scanner。
TLS扫描
您可以从源代码构建TLS-Scan,也可以下载适用于Linux / OSX的二进制文件。它从服务器提取证书信息,并以JSON格式打印以下指标。
- 主机名验证检查
- TLS压缩检查
- 密码和TLS版本枚举检查
- 会话重用检查
它支持TLS,SMTP,STARTTLS和MySQL协议。您还可以将生成的输出集成到类似Splunk、ELK的logs analyzer中。
密码扫描
一个快速的工具,用于分析HTTPS网站支持的所有密码。 Cipher Scan 也有一个选项可以以JSON格式显示输出。它是一个包装器,内部使用OpenSSL命令。
SSL审计
SSL audit 是一个开源工具,用于验证证书并支持基于SSL Labs的协议、密码和等级。
我希望上述的开源工具能帮助您将持续扫描与现有的日志分析工具集成,并简化故障排除过程。