是的,证书对Intranet SSL仍然有用。
SSH和SSL-without-a-certificate之间存在重要区别:当您首次使用SSH连接到服务器时,SSH会存储服务器的指纹。如果您尝试连接到SSH客户端认为是同一台计算机但返回不同指纹的内容,则会提醒您可能有人拦截您的通信。
另一方面,SSL-without-a-certificate不存储服务器的指纹。您的通信仍将被加密,但如果某人以某种方式劫持了您提到的DNS服务器,或者, 正如Rushyo所说 ,ARP中毒或类似的东西,他们将能够执行中间人攻击。如前所述,SSH(假设您在过去的某个时间已连接到正确的服务器)会注意到指纹已更改并提醒您。
自签名证书在安全性方面与SSH相当。中间的人可以生成自己的自签名证书,但只要您的应用程序配置为仅接受 那 自签名证书,您应该得到类似于SSH将给您的警报。
本地证书颁发机构为您提供类似于自签名证书的安全性,但可能更具可伸缩性。如果您有多个服务器,每个服务器都可以拥有自己的证书,但客户端只需要顶级服务器就可以信任所有服务器。如果服务器受到威胁,您可以撤消其证书,而不必更改每个服务器的证书。
我不相信外部证书颁发机构有任何优势,除了可能更少的配置,如果您的计算机已经拥有受信任的证书颁发机构。
最后,我不太了解双因素身份验证来评估它,但对于大多数应用程序,SSL应该足够了。
免责声明:我不是安全专家。
使用外部证书颁发机构执行SSL。有没有理由去内联网这条路线?我在网上发现了一些“内联网证书” - 但目前尚不清楚他们提供的是我自己无法做到的。 醇>
好处是,如果您需要管理大量的证书和/或机器,则无需了解如何设置自己的证书颁发机构。所有浏览器都已经信任这样的证书,而您无需将自己的证书安装到受信任的商店中。
的 然而 强> ,这实际上不太安全,因为有人可以为不同的Intranet购买证书并在您的网络上使用它。因此,SSL供应商不再提供此服务。有关更多信息,请参阅: https://www.godaddy.com/help/phasing-out-intranet-names-and-ip-addresses-in-ssls-6935
如果您只有一个非常小的Intranet,那么我建议使用自签名证书,然后只需将每个自签名证书添加到每台计算机的可信存储中。
但是,每当要添加新计算机时,在Intranet中的每台计算机上安装新证书都很快变得不切实际。此时,您需要设置自己的证书颁发机构,以便只需在每台计算机的可信存储中安装单个CA证书。