如何确定Azure存储账户入站请求的TLS版本及发起来源
如何排查Azure存储账户的旧版TLS请求及来源
要确认存储账户的入站请求是否使用旧版TLS(如1.0/1.1)并追踪来源,主要靠诊断日志分析,以下是具体可行的方法:
1. 开启并分析存储账户诊断日志
这是最直接的方式,存储日志会记录每个请求的TLS版本、客户端IP、用户代理等关键信息:
- 步骤1:开启诊断日志
登录Azure门户,找到目标存储账户 → 进入「监控」→「诊断设置」→「添加诊断设置」:- 命名诊断设置,勾选需要监控的存储服务(Blob/File/Table/Queue,按需选择)
- 日志类别勾选「Read」「Write」「Delete」
- 选择日志存储目标:可以写入另一个存储账户的Blob容器,或者Azure Log Analytics工作区(推荐用Log Analytics,查询更方便)
- 步骤2:查询旧版TLS请求
如果用Log Analytics,编写Kusto查询筛选非TLS 1.2的请求:
从查询结果里,你可以直接看到:StorageBlobLogs // 对应你监控的服务,比如StorageFileLogs、StorageTableLogs | where TlsVersion in ("TLS 1.0", "TLS 1.1") | project TimeGenerated, TlsVersion, ClientIpAddress, UserAgent, AccountName, OperationName | sort by TimeGenerated descTlsVersion:请求使用的TLS版本ClientIpAddress:请求的发起IPUserAgent:发起请求的客户端标识(比如旧版Azure SDK、第三方工具、浏览器版本等)
2. 临时测试强制TLS 1.2(谨慎操作)
如果想快速验证是否存在旧版TLS依赖,可以在低峰期或测试环境临时调整存储账户的最低TLS版本为1.2:
- 进入存储账户的「配置」→「最低TLS版本」,选择「TLS 1.2」保存
- 同时监控存储账户的「失败请求」指标(Azure Monitor里的
Transactions指标,筛选ResponseType为失败类) - 出现的失败请求基本就是使用旧版TLS的请求,再结合诊断日志定位具体来源
- 测试完成后及时改回原设置,避免影响业务
注意事项
- 诊断日志开启后有几分钟延迟,需要等待日志生成后再查询
- 通过
UserAgent可以快速判断客户端类型,比如旧版Azure-Storage/8.6.0SDK可能默认使用TLS 1.1 ClientIpAddress可以结合企业内部IP段或IP归属地工具,排查请求是来自内部服务器还是外部客户
内容的提问来源于stack exchange,提问作者AndyHerb
相关产品推荐
相关产品推荐

