网站搜索

Testssl.sh - 在任何端口上测试 TLS/SSL 加密


testssl.sh 是一个免费、开源、功能丰富的命令行工具,用于检查支持 TLS/SSL 加密的服务是否支持密码、协议和一些加密Linux/BSD 服务器上的缺陷。它可以使用 MSYS2 或 Cygwin 在 macOS X 和 Windows 上运行。

Testssl.sh 的特点

  • 容易安装和使用;产生清晰的输出。
  • 高度灵活,可用于检查启用了 SSL/TLS 和 STARTTLS 服务。
  • 执行一般检查或单一检查。
  • 附带用于各种类别的单一检查的多个命令行选项。
  • 支持不同的输出类型,包括彩色输出。
  • 支持SSL会话ID检查。
  • 支持检查多个服务器证书。
  • 提供绝对的隐私,只有您可以看到结果,第三方无法看到。
  • 支持以(平面)JSON + CSV 格式登录。
  • 支持串行(默认)或并行模式的大规模测试。
  • 支持通过环境变量预设命令行选项等等。

重要:您应该使用 bash(大多数 Linux 发行版上都预装了),并且建议使用较新的 OpenSSL 版本 (1.1.1)以便有效使用。

如何在 Linux 中安装和使用 Testssl.sh

您可以安装testssl。 sh 通过克隆此 git 存储库,如图所示。

git clone --depth 1 https://github.com/drwetter/testssl.sh.git
cd testssl.sh

克隆 testssl.sh 后,一般用例可能只是运行以下命令来对网站进行测试。

./testssl.sh https://www.google.com/

要针对启用 STARTTLS 的协议运行检查:ftp、smtp、pop3、imap、xmpp、telnet、ldap、postgres、mysql,请使用 -t 选项。

./testssl.sh -t smtp https://www.google.com/

默认情况下,所有批量测试都以串行模式完成,您可以使用 --parallel 标志启用并行测试。

./testssl.sh --parallel https://www.google.com/

如果您不想使用默认的系统 openssl 程序,请使用 –openssl 标志指定替代程序。

./testssl.sh --parallel --sneaky --openssl /path/to/your/openssl https://www.google.com/

您可能希望保留日志以供以后分析,testssl.sh具有--log(将日志文件存储在当前目录中)或--logfile(指定日志文件位置)选项。

./testssl.sh --parallel --sneaky --logging https://www.google.com/

要禁用 DNS 查找(这可以提高测试速度),请使用 -n 标志。

./testssl.sh -n --parallel --sneaky --logging https://www.google.com/

使用 testsl.sh 运行单一检查

您还可以对协议、服务器默认设置、服务器首选项、标头、各种类型的漏洞以及许多其他测试运行单一检查。为此提供了多种选项。

例如,-e 标志使您能够远程检查每个本地密码。如果您想让测试更快,请使用 --fast 标志;这将省略一些检查,如果您对所有密码使用 openssl,它只显示第一个提供的密码。

./testssl.sh -e --fast --parallel https://www.google.com/

-p 选项允许测试 TLS/SSL 协议(包括 SPDY/HTTP2)。

./testssl.sh -p --parallel --sneaky https://www.google.com/

您可以使用 -S 选项查看服务器的默认选择和证书。

./testssl.sh -S https://www.google.com/

接下来,要查看服务器的首选协议+密码,请使用 -P 标志。

./testssl.sh -P https://www.google.com/

-U 选项将帮助您测试所有漏洞(如果适用)。

./testssl.sh -U --sneaky https://www.google.com/

不幸的是,我们无法利用此处的所有选项,请使用下面的命令查看所有选项的列表。

./testssl.sh --help

testssl.sh Github 存储库中查找更多信息:https://github.com/drwetter/testssl.sh

结论

testssl.sh 是一个有用的安全工具,每个 Linux 系统管理员都需要拥有并使用它来测试启用 TSL/SSL 的服务。如果您有任何问题或想法要分享,请使用下面的评论表。此外,您还可以与我们分享您遇到的任何类似工具。