かってきままな日々
2022-02-07 (Mo) [長年日記]
_ SSL証明書 更新失敗
なんでだ… 手動で2回失敗したから再現してるのかと思ったら 3回目は成功した…
なんでだ…
最初に自動更新が失敗したのは python 3.10 用に plugin を インストールしてなかったからなんだが、 インストールしてからは認証に失敗してた。
認証方法は dns-01。 ttl がおかしいのかなぁ。 plugin は自作だからなぁ...
なんか他に安定した認証方法サポートしてないかな… って http-01 と dns-01 しかないのか。うーん…
なんか certbot が標準で plugin を提供してて 無料で使える DNS サービス、ないかな… AWS のアカウントは持ってるけど、Route53 は無料じゃないしな。
まぁ、使うのはほんの数個だから、 wildcard じゃなくても列挙してしまえばいい、 といえばいいんだけど… そうすれば http-01 が使える。
…
てなわけで wildcard はやめて、webroot に切り替え。
うん、速いし安定してる。
web 系は大丈夫そうかな。メール系はまた明日。今日は時間切れ。
_ let's encrypt の認証について
dns 認証は、その dns サーバが操作者の管理下にあるかどうかを 試している。
dns サーバが管理下にある人なら、そのドメインはその人の管理下 にあると思って良い。dns サーバが指してるマシンがいつの間にか 全てその人の管理下のマシンだった、なんてことも可能だし。
一方、webroot は。
- dns が指してるそのマシンで
- certbot を実行できる
- 特定のディレクトリにファイルを置ける
一見 root のようだけど、違うよね。これなら一部の権限を移譲してもらうだけでできる。
で、生成された証明書って smtp にも使えるんだけど、 でも、その人って、smtp に関する権限は移譲されてないと思うんだ。
- smtp.xxx.com がそのマシンを指してる (これは別の人が担当)
- そのマシンで postfix が動いてる (これも別の人が担当)
- その postfix が使う SSL 証明書を、上の certbot 権限を移譲された人が作る??
この辺がよくわからん。いいのか?
上の人って www 系の権限を移譲されただけだと思うんだ。
- /usr/share/nginx/html/ 以下に書き込む権限をもらった
- /etc/letscrypt/ 以下に書き込む権限をもらった
こんなもんでいけると思うんだ。 これなら certbot を実行して証明書をゲットできるのではないか。
それを postfix 側で使っちゃう、ってのがよくわからん。
もしかして、同じマシンだろうと、postfix 側はそっちはそっちで 取得すべきなんだろうか。 でもそのためには /usr/share/nginx/html/ 書き込み権限が必要なんだけど…
- web 系
- /usr/share/nginx/html/web/ 以下に書き込む権限
- /etc/letscrypt/web/ 以下に書き込む権限
- mx 系
- /usr/share/nginx/html/mx/ 以下に書き込む権限
- /etc/letscrypt/mx/ 以下に書き込む権限
それぞれがこれらの権限をもらえば、独立した権限で干渉しない作業が可能になるんだろうか…
certbot が root じゃないと動かないなんてことはないよね。 Linux/UNIX においては port 80 を bind するには root 権限が必要だけど、 Windows ではそんな制限ないし。
ふむ。よくわからん。
まぁ私が管理する趣味系マシンでは、私しか管理者いないので、 どうでもいいんだけどな。