SSL & TLS 安全测试

介绍

本文介绍了使用半自动化工具执行SSL&TLS安全性评估的过程,以及如何使用手动及工具的测试方法验证并发现问题。目的是优化TLS和SSL安全测试流程,帮助信息安全顾问在渗透测试时在TLS / SSL上花费更少的时间。

主要章节


什么是TLS和SSL?

安全套接层(SSL)和传输层安全(TLS)加密用于通过互联网提供通信安全(传输加密)和来保护网络流量和互联网上的隐私,用于诸如网络,电子邮件,即时消息(IM)和一些虚拟专用网络(VPN)。

因此,TLS安全配置很重要,应花时间学习如何识别常见的漏洞和安全配置错误。


TLS / SSL安全测试工具

testssl.sh

testssl.sh是我们首选的测试工具,它涵盖了TLS和SSL评估所需的所有测试所需工具,并定期更新。

安装

您可以通过执行其git clone来安装最新版本的tesetssl.sh:

git clone https://github.com/drwetter/testssl.sh.git

testssl.sh示例

有许多可以用于testssl.sh的测试选项,您应该使用的选项将在很大程度上取决于您的测试要求。以下是部分有关testssl.sh命令行选项的示例。运行./testssl.sh可以看到所有选项。

测试单个主机上的所有内容并输出到控制台

./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U TARGET-HOST

测试单个主机上的所有内容并输出到HTML

./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U TARGET-HOST | aha> OUTPUT-FILE.html

测试子网上的所有主机并输出到HTML

./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U 192.168.1.0/24 | aha> OUTPUT-FILE.html

与上述相同,但只列举每个服务器支持的密码类型:

./testssl.sh -E 192.168.1.0/24 | aha> OUTPUT-FILE.html

控制台输出的截图