ssl - Certbot 自动续订漏洞

标签 ssl https ssl-certificate lets-encrypt certbot

我有 certbot,包括在与客户的多个安装中使用的自动续订。

现在我一直在这里阅读:

https://community.letsencrypt.org/t/2018-01-11-update-regarding-acme-tls-sni-and-shared-hosting-infrastructure/50188

这里

https://community.letsencrypt.org/t/solution-client-with-the-currently-selected-authenticator-does-not-support-any-combination-of-challenges-that-will-satisfy-the-ca/49983

这里

https://github.com/certbot/certbot/issues/5405

还有这里:

https://community.letsencrypt.org/t/important-what-you-need-to-know-about-tls-sni-validation-issues/50811

每个人的说法似乎都略有不同

并且没有给出明确的解释。

我一直在阅读 certbot 安装的标准描述

续订文档点这里:

https://certbot.eff.org/docs/using.html#renewal

但是:仍然列出了旧的易受攻击的tls-sni-01方法

我试着总结一下:

在缓解现有服务器上现有问题的指南中:

他们建议在更新时停止并启动服务器。 但是……这样不好。如果某些配置中断,服务器在我睡着时停止启动怎么办?服务器将不可用。或者更糟的事情。我不是 devops 专家,但让服务器或多或少随机启动和停止,似乎不是一个好的解决方案。我错了吗?

作为替代方案,我看到不使用tls-sni-01 的webroot 插件。 https://certbot.eff.org/docs/using.html#webroot

这对我来说似乎是唯一的方法,这似乎是可靠的。

我错过了什么吗?我们基本上被告知要使用 webroot 插件吗?

因为所有其他人都使用 tls-sni-01,不是自动的(你可以手动完成,但呃,我实际上不想这样做)或者要求你没有运行的服务器(独立)。

那是为了 future 的服务器。我猜现有的域续订将继续与旧的 tls-sni-01 一起使用,他们似乎是这么说的。

最佳答案

因为我没有得到答案,所以我将不得不假设它就是这样,例如尽可能使用 webroot 插件。

我实际发现的是:

命令 certbot renew 进入文件夹 /etc/letsencrypt/renewal 并检查那里的配置文件。这些配置文件是在您上次从命令行触发认证过程时创建的。所以如果你最后做的是使用独立的,你会在那里找到独立的配置(你想从那里迁移)

好的,现在你第一次运行 webroot 插件:

certbot certonly --webroot -w/var/www/html/www.mypage.com/public -d www.mypage.com -d mypage.com see here

这最终可以在 /etc/letsencrypt/renewal 中创建一个新条目或覆盖旧的现有条目。一定要删除独立的,以防它没有覆盖而是创建一个新文件,你只想在那里有 webroot

现在运行crontab -e最终必须是root用户

添加

53 14 * * * certbot renew --post-hook "service nginx reload"

这将在每天 14:53 运行并重新加载配置并尝试更新证书

关于ssl - Certbot 自动续订漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48996982/

相关文章:

https - HttpClient->GetStringAsync() 对于 https Uris 抛出 0x000006F4

ssl - 通用名称 (CN) 和主题备用名称 (SAN) 如何协同工作?

ssl - 是否可以将从 CA 获得的证书转换为 PEM 格式?

android - 从服务器 HTTPS 接收和验证证书 - android

php - PHP cURL 和 SSL 的奇怪超时

apache - 以前工作过的域上出现奇怪的 SSL 证书错误,与 DDoS 相关?

php - CURLOPT_CAINFO 文件扩展名(.pem 或 .crt)

java - 在 Mac OS 上将 PEM 文件转换为 JKS 文件

Android: Encrypt String, send via HTTPS and Decrypt String 问题

java - 尽管两个证书都是由经过验证的 CA 颁发的,但仍出现 ssl 异常吗?