Certbot 自动续订漏洞

Certbot automatic renewal vulnerabilities

我有 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,不是自动的(你可以手动完成,但是呃,我实际上不想这样做)或者要求你没有 运行 服务器(独立)。

那是为了将来的服务器。我想现有的域名续订将继续与旧的 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 重新加载配置并尝试更新证书