使用 IP 时是否可能存在 MITM

如果我向我通过 IP 引用的 API 服务器发出 TLS 请求,证书验证阻止的 MITM 攻击类型是否仍然可能?

背景信息,如果它澄清了问题:我正在向 REST API 发出 TLS 请求,该请求的静态 IP 没有与之关联的域名。为了使它在 Go 中工作,我必须InsecureSkipVerify: true,在我的 HTTP 客户端的传输层设置。这会降低我的请求的安全性吗?我会假设它确实如此,但我真的不知道为什么。


大话西游666
浏览 58回答 1
1回答

慕的地6264312

正如@James 所指出的,这IP是 TLS 握手的一个无关组件。虽然标准程序是:拨号主机名/端口DNS查找主机名获取IP带 IP 的 TLS 握手揭示主机名证书身份验证证书名称与主机名匹配使用InsecureSkipVerify: true跳过最后一步 - 通常只在开发/测试期间使用。但是,您可以在最后一步中使用不同的名称来匹配证书身份:利用tls.ConfigServerName中的字段:tc = &tls.Config{&nbsp; &nbsp; ServerName: "myhostname", // certificate identity&nbsp; &nbsp; RootCAs:&nbsp; &nbsp; rootca,&nbsp; &nbsp; // InsecureSkipVerify: true // <- avoid using this}d := tls.Dialer{&nbsp; &nbsp; Config: tc}conn, err := d.Dial("tcp", "127.0.0.1:8080")在这里,我们正在拨打一个 IP 地址,执行 TLS 握手,但不是将主机证书与 进行比较的默认行为127.0.0.1,而是验证它是否匹配myhostname。
打开App,查看更多内容
随时随地看视频慕课网APP