启用 CURLOPT_SSL_VERIFYPEER 和禁用 CURLOPT_SSL_VERIFYHOST 会带来什么安全后果?
答案 0 :(得分:26)
CURLOPT_SSL_VERIFYPEER检查远程证书是否有效,即您是否相信它是由您信任的CA颁发的,并且是真实的。
CURLOPT_SSL_VERIFYHOST检查证书是否发给了您想要与之交谈的实体。
为了将其与现实生活场景进行比较,VERIFYPEER就像检查身份证的形式是您认可的(即来自您信任的国家的护照,来自您认识的公司的员工卡,......)。 VERIFYHOST就像检查卡片上的实际名字一样,你想与谁交谈。
如果您不使用VERIFYHOST(正确的值是2,而不是1,顺便说一句),您将禁用主机名验证并打开MITM攻击的大门:任何拥有您信任的ID形式的人都可以冒充该集合中的任何人您信任的ID,例如任何拥有有效护照的人都可以假装他们是拥有有效护照的其他人。