问题描述
希望可靠地检查Azure App Service所接受的加密套件。在标准虚拟机上,他通过执行PowerShell命令Get-TlsCipherSuite
或检查系统的注册表来获得当前接受的密钥列表。然而,他在ssllabs.com上对App Service进行了渗透测试,发现ssllabs的结果与Get-TlsCipherSuite
命令的结果不完全一致,ssllabs未能检测到使用Pre Shared Keys的套件。用户的问题包括:
1. 如何查询Azure App Service接受的加密套件?
2. 浏览器在尝试访问特定域时如何知道可用的加密套件?
3. 如果前面的问题没有明确答案,为什么ssllabs不能检测到使用PSK的套件?
解决方案
请注意以下操作注意版本差异及修改前做好备份。
查询Azure App Service接受的加密套件
要查询Azure App Service接受的加密套件,可以参考以下步骤:
1. 首先,参考Azure文档中关于App Service环境的自定义设置,其中有关于如何修改TLS加密套件顺序的说明。具体链接如下:修改TLS加密套件顺序。
2. 您可以参考MSDN文档中关于Schannel中的加密套件说明,以了解与加密套件相关的更多细节。
浏览器如何知道可用的加密套件
浏览器与服务器之间的加密套件协商是在握手过程中完成的。在TLS握手期间,浏览器会向服务器发送它支持的加密套件列表,服务器从中选择一个双方都支持的加密套件来进行通信。这个决策会在握手期间传递给浏览器。
为什么ssllabs不能检测到使用PSK的套件
ssllabs可能无法检测到使用PSK(Pre Shared Keys)的加密套件,原因可能是PSK的特性决定了它在一些情况下无法被轻易检测出来。PSK允许双方使用预先共享的密钥进行通信,这在一定程度上减少了握手过程中的计算量和网络开销。然而,由于PSK的私密性,可能会导致在扫描过程中无法获取到加密套件的具体信息。
以上是针对用户提出的问题的解决方案,如果您需要更详细的操作步骤或其他相关信息,请随时提出。