禁用CURLOPT_SSL_VERIFYHOST(libcurl / openssl)的安全后果

启用CURLOPT_SSL_VERIFYPEER和禁用CURLOPT_SSL_VERIFYHOST有什么安全后果?

  • CURLOPT_SSL_VERIFYPEER检查远程证书是否有效,即您相信它是由您信任的CA颁发的,并且是真实的。

  • CURLOPT_SSL_VERIFYHOST检查证书是否发给您想要与之通话的实体。

为了将其与真实生活场景进行比较,VERIFYPEER就像检查您所识别的身份certificate(即您所信任的国家的护照,您认识的公司的员工证,…)。 VERIFYHOST就像在你想和你交谈的卡片上查看实际的名字一样。

如果你不使用VERIFYHOST(正确的值是2,而不是1,btw),你可以禁用主机名validation,打开MITM攻击的大门:任何一个你信任的ID都可以冒充你身份证信任,例如持有有效护照的人可以假装他们是拥有有效护照的人。