针对Kaminsky 攻击的标准防御是对所有 DNS 请求使用源端口随机化。
NAT 是否会破坏源端口随机化的安全优势?
更详细地说,考虑一个位于 NAT 后面的客户端。假设客户端对所有 DNS 请求使用源端口随机化,并发出请求。当请求穿过 NAT 时,NAT 可以将源端口号从 NAT 的本地端口号池中转换为新的源端口。
我担心,如果 NAT 使用可预测的端口分配策略,这可能会使数据包上的源端口去随机化——使客户端容易受到 Kaminsky 攻击。这在实践中会发生吗?NAT 是否会转换 DNS 请求的源端口?他们是否使用可预测的源端口?如果这对某些 NAT 来说是个问题,那么有人知道这个问题有多普遍吗?这些天 NAT 是否采取任何措施来避免搞砸源端口随机化?在配置 NAT 时,是否应该做些什么来确保 NAT 不会使您更容易受到 Kaminsky 攻击?