51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

新手站长避坑指南(TLS、SSL篇)

浏览器提示站点不安全

具体如图所示(Edge 浏览器),正常情况下访问网站时地址栏前应该显示为一个小锁(如下图所示)

很多新手可能认为这里的不安全表示的是网站上有病毒、网站是违法网站,但这种说法是错误的

我们点击"不安全"这个提示来看看究竟是为什么

可见是连接不安全,并不是有病毒或者是违法网站,我们继续点进去看看

可以看到最终的原因是因为没有证书,这里的证书就是SSL证书(也称TLS证书)

如果要像这样给你的网站"加锁",那就必须配置SSL证书:

访问这里:SSL Management | GoGetSSL®,注册账户,点击New Order

我们选择90天免费的

点击后面的Order

保持默认,最下面选择那个0.00$的,点击Next Step

点绿色的Complete Order

在左侧选择SSL Certificates,点击刚刚生成的证书后面的View

点第一个齿轮标志的,在这里SSL Management | GoGetSSL®填写你网站的信息,第一个输入框填写你的域名,我这里直接用自动填充了

之后把生成的东西复制下来:

只需要复制Certificate Signing Request(CSR)的内容就行,从-----BEGIN CERTIFICATE REQUEST-----复制到-----END CERTIFICATE REQUEST-----即可,页面不要关闭,之后还要用到!

将复制的内容填写到申请页面里:

点击下面的验证即可


验证方式选择HTTP,点击Next Step

之后填写一些你的信息,滑倒最下面

点击Complete Generation

之后过大概一分钟刷新一下

点击上面的Domain Validation

点击Validation File,回到EP面板,在文件管理器中进入wwwroot目录,点击创建目录(也就是创建文件夹的意思),创建一个名为".well-known"的文件夹(以EP面板为例,其他面板同理,但1Panel、宝塔面板等有自动化申请证书的功能)

进入这个目录后再点击创建目录,名为"pki-validation",创建完成后进入

之后点击上传文件,把下载的TXT文件上传到这个目录中

这样子即可

之后点击GoGetSSL的重新验证

过一会邮箱就可以收到证书信息了,证书内容千万不要透露给别人!

之后回到申请CSR的页面,复制Your Private Server Key的内容,从-----BEGIN PRIVATE KEY-----到-----END PRIVATE KEY-----

回到EP面板,在首页-SSL证书中填写相关信息

证书内容是邮箱收到的那一大段,密钥内容是刚刚复制的Your Private Server Key,点击"提交"

状态变为成功,之后再刷新就可以看到已经变为"连接安全"了

TLS和SSL

TLS(Transport Layer Security,传输层安全)和SSL(Secure Sockets Layer,安全套接字层)

SSL是一种几乎被淘汰的旧技术,而TLS是更新的技术,不要将两者混淆

但由于我们习惯性的称证书为SSL证书,并且许多服务商也沿用了这个名词,所以无需特别区分两者,就目前来说,说SSL就约等于指代TLS

证书加密方式

RSA算法需要较长的密钥来确保安全性,通常至少需要1024位,而更安全的实践是使用2048位或更长的密钥。

EC算法可以使用较短的密钥来提供与RSA相同的安全性。例如,EC算法的256位密钥与RSA的3072位密钥在安全性上大致相当。

一般来说,默认申请的证书密钥算法都为 RSA2048,但是 RSA 密钥对服务器的计算开销很大,所以目前已经逐步转向更"小而美"的 EC 加密方式,但是 EC 加密也同样有缺点,请看 AI 总结:

EC算法(椭圆曲线密码学)虽然具有许多优点,如密钥长度短、安全性高、加密速度快等,但也存在一些挑战和缺点:

  1. 椭圆曲线的选择:ECC算法的安全性依赖于选定的椭圆曲线的参数。如果选择的椭圆曲线不合适,可能会导致安全性下降。
  2. 算法实现的难度:ECC算法需要实现椭圆曲线的加法和点乘法等操作,实现的难度较大。由于椭圆曲线密码学的数学理论较为复杂,也增加了使用和实现的难度。
  3. 算法的专利问题:ECC算法受到了一些专利的限制。使用和实现该算法可能需要支付专利费用,增加了使用成本。
  4. 难以理解:相比于传统的加密算法,如RSA算法,ECC算法的数学理论更为复杂,难以理解。
  5. 计算开销:与副本相比,纠删码(Erasure Code,EC)技术虽然节省存储空间,但在数据修复时存在计算开销,并且修复需要一定的时间。
  6. 数据恢复效率:在出现数据丢失时,EC算法需要从多个节点收集数据片段并进行解码以恢复原始数据,这个过程可能比直接复制副本的方式要慢。
  7. 对硬件的要求:某些实现ECC算法的系统可能需要特定的硬件支持,如高性能的处理器或者专用的密码学协处理器。
  8. 兼容性问题:由于ECC是一种相对较新的技术,可能存在与旧系统的兼容性问题,需要进行适当的更新或适配。

CloudFlare 15 年免费证书是真香?

用过 CloudFlare 的站长们可能发现了它有 15 年的免费证书

但是这个证书其实是不受浏览器信任的,也就是说你只能在测试或者在使用了 CloudFlare 代理的情况下使用它的证书,不然会提示证书无效

HSTS

[postsbox post_id="805″]

使用HSTS可以增强你站点的安全性,HSTS启用后有一个强制性要求,即站点未使用HTTPS则拒绝加载任何内容,仅提示SSL证书问题,这可以防范协议降级攻击,即站点配置了HTTPS,攻击者会将其降级为HTTP从而监听、篡改数据

HSTS通常通过在服务器的HTTP响应头中设置Strict-Transport-Security字段来实现,例如:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

这条指令告诉浏览器:

  • max-age=31536000:在接下来的一年内(31536000秒)始终通过HTTPS连接访问该网站。
  • includeSubDomains:这个策略也适用于该网站的子域名。
  • preload:这是一个可选指令,表示该网站希望被包括在HSTS预加载列表中,这样浏览器在用户访问网站之前就已经知道需要使用HTTPS。

当然,你可以在你的浏览器上手动指定哪个网站启用HSTS,哪个关闭,但最终还是会被HSTS标头覆盖,但是有时HSTS缓存会造成问题,所以学会清除HSTS设置很重要


赞(0)
未经允许不得转载:工具盒子 » 新手站长避坑指南(TLS、SSL篇)