SSL证书对于个人而言非常昂贵,尤其是在您需要保护不同子域的情况下。我正在考虑使用自签名证书,因为我的主要重点是保护连接,而不是对自己进行身份验证。

但是,一些浏览器在遇到此类证书时会显示讨厌的警告。您是否会阻止使用自签名证书(例如,用于小型Web应用程序或小型网站的管理页面)?还是在某些情况下可以吗?

#1 楼

通常,使用自签名证书很不好。如果这样做,则会带来风险,当人们收到关于您的证书已损坏的警告时,他们将离开您的网站。更重要的是,如果某人使用自己的自签名证书代替您的证书,那么您遭受他人攻击的风险就更大。

请查看此处的文章,http://www.sslshopper.com/article-when-are-self-signed-certificates-acceptable.html,以获取更多信息。

#2 楼

正如RandomBen所说,出于他解释的原因,通常不赞成使用自签名证书。但是在某些情况下它们会很好:如果需要向您的网站提交敏感数据的人员很少且数量有限,那么他们在技术上都具有一定的能力,并且您可以与所有人进行交流。在这种情况下,您可以为每个人提供证书详细信息,然后他们可以在访问您的站点时手动检查证书,并在适当时添加安全例外。

在我的个人VPS上,这是一个极端的例子我有一个管理子域,只能由我自己访问。使用自签名证书保护该域没有问题,因为我可以手动检查用于确保连接安全的服务器证书与我在服务器上安装的服务器证书相同。

自签名证书不会起作用,或者您宁愿拥有一个“真实的”证书,我建议让我们加密,该项目由Internet Security Research Group启动,并得到主要互联网公司的支持,该项目免费提供SSL证书。他们之所以这样做,是因为他们使用的验证过程是完全自动化的,实际上,支持其ACME协议的Web服务器(例如我当前使用的Caddy)可以完全自己获得证书。 Let's Encrypt不验证您作为一个人的真实身份;它仅验证您的Web服务器能够在其声称的域上提供内容。所有主流浏览器都支持Let's Encrypt,但是众所周知,验证很少,因此,如果您运行的是电子商务网站之类的网站,或者任何人们会提交敏感信息的网站,那么您可能应该花钱来获取具有更高验证级别的证书。

我曾经向那些不想付费但又不想付费的人推荐StartCom的免费StartSSL证书。 StartCom在2016年被WoSign秘密收购,随后为多个域颁发了非法证书。结果,主要的浏览器取消了对StartCom证书的支持。 (据我所知,IE始终不支持它们。)无论如何,“让我们加密”要方便得多。

评论


+1为第一段。我在服务器上为Webmin使用了自签名证书,因为只有我自己和设计人员才能使用它,但是我不建议将其用于一般公众。

–心怀不满的山羊
10年7月22日在10:58

#3 楼

使用自签名证书不是坏习惯。自签名证书具有许多实际用途,因此使用CA签名证书根本就没有意义。例如,在我的许多服务器上,我都设置了无密码登录。这些是我经常连接的服务器,有时会保持打开多个SSH连接的权限,因此每次输入用户名和密码都很麻烦。我在每台客户端计算机(办公室的工作站,便携式计算机和家庭工作站)上生成的SSL证书。这种设置使我可以为我的每台服务器使用相当长,安全且完全唯一的密码,而不会影响工作效率。而且由于我可以直接访问可以为每个证书安装公钥的服务器,因此使用CA签名的证书对我来说毫无意义。

我可以设置自己的根CA我可以为我们公司签署所有内部使用证书,这样,我只需要在每台服务器上安装一个公共密钥即可。但是,我们组织的规模还没有达到真正需要的规模,就安全HTTP而言,这仍然与拥有自签名证书相同。

签名证书通常用于电子邮件连接,PGP签名以及服务器到服务器的连接,而在这些情况下,预交换公钥很简单。在许多情况下,这实际上比依赖证书链更为安全,因为证书链可能会在证书链的任何位置遭到破坏。

评论


我不明白为什么您要使用SSL证书?您提到不想多次键入密码:您可以简单地将SSH私钥与ssh-agent一起使用,以在每台服务器上自动对您进行身份验证,而不必多次键入密码。

–Wookai
2012年2月25日在7:37

@Wookai:那将是针对SSH的一种方法,但是使用SSL客户端证书是一种更通用的客户端身份验证方法。我还将客户端证书用于HTTPS身份验证以及电子邮件,并且,如果以后选择建立内部CA,它将变得更加灵活/强大。那时,我不需要为每个客户端/用户安装单独的私钥。这只是IMO的更强大的解决方案。

–Lèsemajesté
2012年2月25日在8:15



#4 楼

如果要保护多个子域,则可能要使用通配符证书,通配符证书(取决于要保护的子域的数量)可能比每个域购买一个便宜得多;例如,一旦使用了四个域,RapidSSL的通配符将比单个证书便宜。