我听说 http 不好。例如,我做了一个基本的 http 身份验证,有些黑客可以通过窥探找出密码(我不知道这是什么)。
所以建议我安装 HTTPS。
我怎样才能做到这一点 ?
apt-get install https 或 SSL ?有什么区别?
我有自己的专用服务器。
答案1
这Apache 常见问题解答应该是有用的阅读和起点。
您也可以从维基百科 HTTPS页面。
还有一个 Linux Journal Flash 视频使用 apache 设置 https 服务器。
答案2
您需要为 apache 安装 mod_ssl 才能获得 SSL 支持。如果它尚未与 httpd 一起打包,则必须在 apt 中查找 mod_ssl(抱歉,我没有 ubuntu 可以测试,但我认为它只是一个“apt-get mod_ssl”)。
如果您只担心加密流量以便人们无法挑选出明文登录凭据,我会建议使用 churnd 所述的自签名证书。
答案3
如果您的服务器是托管的,请与您的主机联系,以提供签名的 SSL 证书。这些证书需要花费 $$,但对于有效的安全连接是必需的。您可以自己动手,但您不是有效的证书颁发机构,因此访问您网站的人会收到警告,指出 SSL 证书未由有效的 CA 签名。如果他们认识您或只是供您自己使用,那就没什么大不了的,因为安全性大致相同……这只是一个信任安全性来自谁的问题。 这是一份很好的指南,教你如何自己动手。
答案4
你的问题:
SSL 是一种建立安全连接的方式。通信经过加密,因此只有发送者和接收者才能看到实际信息。HTTPS 是 HTTP 的 SSL。端点同意加密,除服务器和客户端外,没有人可以看到信息。SSL 还可以进行身份验证,使用(希望)不可伪造的证书来证明一方是他们声称的人。
基本身份验证对密码进行了编码。这意味着它经过了一个简单的编码转换(Base64),很容易逆转并查看真实数据。如果有人可以访问您的网络,或者实际上可以访问您的服务器和客户端之间的任何网络,他们就可以看到基本的网络流量(俚语是窥探或嗅探)并轻松查看用户名和密码。如果您使用 HTTPS,则这是加密的,无法看到。
要使 https 正常工作,您需要在服务器中安装 https 代码(来自 apt-get)和证书。证书会告诉人们服务器是谁(上面的身份验证)。您可以购买证书,他们会要求您提供一些信息来证明某个公司或其他信息,然后将其出售给您。或者您可以免费创建自签名证书。
为了使身份验证中的“你是谁”部分发挥作用,他们有一个“信任网”。我可以说我是任何我想说的人,但我该如何证明呢?好吧,如果你购买证书,颁发者会说“我相信这个人是 google.com”。而你的网络浏览器信任大型颁发者,所以他们相信他们说你是 google.com。但你的自签名证书不会被任何人信任。所以你的浏览器会抱怨。如果这是供内部网使用,你可以告诉他们忽略它。互联网用户将更难说服,你最终可能只需要购买一个。
从计算角度来看,这并非完全免费。任何 https 流量都需要加密。这需要 CPU。此外,您的内容基本上无法缓存,这意味着您的服务器会受到更多点击。更改后请检查您的服务器资源限制。
另外,你没有问,但基本身份验证并不是最好的身份验证。除了绝对需要加密之外,没有简单的方法可以注销。