我想将我们目前通过 http 访问的外联网转换为使用 https。服务器只能通过其 IP 地址访问,没有域名。
我正在寻找一个免费的解决方案来通过 apache2 实现这一点。
答案1
您可能没有办法将受信任的 CA 推送到每个人的客户端 PC 下。在内部,公司可以做到这一点,但在外部做到这一点有点困难。
您可以从 GoDaddy 获得“真正的” SSL 证书,每年 29 美元。通过此设置,用户将获得 SSL,并且不会收到安全警告。
如果您自行签署证书,那么一般来说,用户每次访问您的网站时都会收到警告。如果您训练用户忽略此警告,那么您就违背了 SSL 的大部分意义。如果用户通过公共 wifi 热点连接,并且有人拦截了他们的流量,那么唯一能阻止中间人攻击的就是用户收到的证书警告。这本书美丽的安全有一章详细解释了如何做到这一点,以及应该做什么来防止这种情况发生。
答案2
你可以使用自签名 SSL 证书来做到这一点,但是,证书的重要部分是它是一个密钥认证被信任的第三方视为属于某个实体。通过签署自己的密钥,您将失去很多安全优势,尤其是对于除您之外访问该网站的任何人来说。
如果除了您之外的任何人要使用该网站,您应该购买证书和域名 - 每年的费用不到 100 美元。
话虽如此,但仍有几个与自签名证书生成有关的问题:
并配置 apache 来处理 https
答案3
至于将您的网站转换为 https,这应该很容易。只需拒绝在 http 上提供服务,并将 apache 配置为使用 SSL 并在 https 上为您的外联网提供服务。您不需要在网站本身上做任何事情。所有配置都将在 apache 上完成。
就 IP 地址与域名而言,您需要与您获取 SSL 证书的机构沟通。
有许多有用的文档和操作指南可供使用,下面是开始:http://ubuntuforums.org/showthread.php?t=3657
- 是的,请与 SSL 人员核实
- 它是免费的,但是你必须支付证书费用,或者自己创建一个。
- apache支持ssl,完美。
- 如果你遇到困难,可以提出问题。
-js
答案4
正如其他人提到的那样,它已经足够简单并且可以免费转换为https仅提供服务(或两者结合)。Apache 可以配置为使用mod_ssl以及服务器证书。可以使用以下方式创建自签名服务器证书openssl来生成它。
不过,这完全取决于您使用 SSL 的原因。如果只是为了加密在会话中,自签名证书可能会有所帮助,但它不会阻止任何中间人攻击。您希望客户端浏览器和 Web 服务器相互信任。
假设这是供你公司员工使用的东西,那么自由的解决方案。你可以成为自己的根 CA并为服务器和客户端生成证书。只需将客户端浏览器配置为接受您自己公司的 CA 作为值得信赖CA 将有助于解决一些身份验证问题。
此外,您还可以配置 Apache 以核实所有客户端证书以及拒绝任何客户端的连接,只要该客户端未提供由您自己的根 CA 签名的有效证书。这有助于建立非常严格的信任机制。它将从根本上消除大多数攻击。