首页 文章

证书对Intranet SSL有用吗?

提问于
浏览
34

我've been tasked with development of an intranet interface for command line software, and now I'm研究安全选项 . 我们的命令行应用程序已经完成,但我还没有确切知道潜在客户的安全要求,尽管我认为命令行界面通常可以接受 ssh . 考虑到这一点,如果容易和/或免费,我愿意考虑比目前更必要的安全性 .

我一直在做很多阅读,我的初步结论是,没有证书的SSL安全性是最好的方法,不是因为安全性较低是不可接受的,而是因为SSL是标准,因为它似乎并不困难 . Build . 我是一名安全非专家,不需要解释为什么安全非专家可以接受的安全性较低 . 如有必要,我可以在将来升级我的应用程序以使用证书 .

这是一个与SSL相关的安全选择列表,按照我对安全级别的看法和我的评论进行排序 . 我需要什么级别的保护?

  • No SSL. 如果我们的客户不是't worried about their employees seeing/changing each others'数据,这可能是可以接受的 . 他们的员工可能希望相互分享结果,我可以使用基于IP的访问控制和/或密码来保证安全 .

  • Do SSL with no certificate. 这会加密通信,至少可以防止未经授权的员工读取数据 . 使用密码,这与命令行上的 ssh 具有相同的安全级别,对吧?我不需要担心内联网中的中间人攻击,对吗?如果有大量浏览器警告消息,则此方法的con .

  • Do SSL with a self-signed certificate. 这给了我什么,没有证书给我?如果DNS可以被不适当地更改,那么客户那么我的应用程序是他们最不关心的问题 . 换句话说,如果DNS可以改变,那么我认为 ssh 也会变得脆弱 .

  • Do SSL with a local Certificate Authority. OpenSSL允许我创建自己的证书颁发机构 . 这给了我一个自签名证书不是什么?对于要验证的服务器而言,我不太重要 .

  • Do SSL with an external Certificate Authority. 有没有理由为内联网走这条路?我在网上发现了一些"intranet certificates" - 但是它提供了我不能自己做的事情 .

作为参考,此页面可能对比较证书很有用:

http://httpd.apache.org/docs/trunk/ssl/ssl_faq.html#aboutcerts

[更新]

Here's一篇讨论从公共CA获取内部证书的风险和规则的文章 .

2 回答

  • 4

    是的,证书对Intranet SSL仍然有用 .

    SSH和SSL-without-a-certificate之间存在重要区别:当您首次使用SSH连接到服务器时,SSH会存储服务器的指纹 . 如果您尝试连接到SSH客户端认为是同一台计算机但返回不同指纹的内容,则会提醒您可能有人拦截您的通信 .

    另一方面,SSL-without-a-certificate不存储服务器的指纹 . 您的通信仍然会被加密,但如果某人以某种方式劫持了您提到的DNS服务器,或者as Rushyo notes,ARP中毒或类似的东西,他们将能够执行中间人攻击 . 如前所述,SSH(假设您在过去的某个时间已连接到正确的服务器)会注意到指纹已更改并提醒您 .

    自签名证书在安全性方面与SSH相当 . 中间的人可以生成自己的自签名证书,但只要您的应用程序配置为仅接受该自签名证书,您就应该获得类似于SSH将给您的警报 .

    本地证书颁发机构为您提供类似于自签名证书的安全性,但可能更具可伸缩性 . 如果您有多个服务器,每个服务器都可以拥有自己的证书,但客户端只需要顶级服务器就可以信任所有服务器 . 如果服务器受到威胁,您可以撤消其证书,而不必更改每个服务器的证书 .

    我不相信外部证书颁发机构有任何优势,除了可能更少的配置,如果您的计算机已经拥有受信任的证书颁发机构 .

    最后,我不太了解双因素身份验证来评估它,但对于大多数应用程序,SSL应该足够了 .

    免责声明:我不是安全专家 .

  • 18

    使用外部证书颁发机构执行SSL . 是否有理由走这条路内联网?我在网上发现了一些“内联网证书” - 但目前尚不清楚他们提供的是我自己无法做到的 .

    好处是,如果您需要管理大量的证书和/或机器,则无需了解如何设置自己的证书颁发机构 . 所有浏览器都已经信任这样的证书,而您无需将自己的证书安装到受信任的商店中 .

    However ,这实际上不太安全,因为有人可以为不同的Intranet购买证书并在您的网络上使用它 . 因此,SSL供应商不再提供此服务 . 有关更多信息,请参阅:https://www.godaddy.com/help/phasing-out-intranet-names-and-ip-addresses-in-ssls-6935

    如果您只有一个非常小的Intranet,那么我建议使用自签名证书,然后只需将每个自签名证书添加到每台计算机的可信存储中 .

    但是,每当要添加新计算机时,在Intranet中的每台计算机上安装新证书都很快变得不切实际 . 此时,您需要设置自己的证书颁发机构,以便只需在每台计算机的可信存储中安装单个CA证书 .

相关问题