日記

日々のことと、Python/Django/PHP/Laravel/nodejs などソフトウェア開発のことを書き綴ります

let's encrypt の revoke とドメイン管理

前回の続きで、もう少し let's encrypt

tnamao.hatenablog.com

証明書の破棄

前回のエントリで作成した証明書の破棄を試してみたいと思います。

証明書を破棄するときも、letsencrypt-auto コマンドを使います。 破棄する証明書がある

$ sudo supervisorctl stop nginx
$ ./git/letsencrypt/letsencrypt-auto revoke --cert-path /etc/letsencrypt/live/test.tnamao.net/fullchain.pem
$ sudo supervisorctl start nginx

発行や更新のときと一緒で、nginx を止めてから、letsencrypt-auto コマンドを実行します。 そして、ブラウザから証明書を確認すると…。

f:id:monajiro:20160228190520j:plain

破棄できた!\(^o^)/

破棄した証明書の復活

証明書を破棄した後にやっぱり復活させたい時は、letsencrypt コマンドの renewal を実行します。

$ sudo supervisorctl stop nginx
$ ./git/letsencrypt/letsencrypt-auto renew --force-renewal -nvv --standalone
$ sudo supervisorctl start nginx

証明書の期限を延ばすときと一緒ですね。 ブラウザで確認すると…

f:id:monajiro:20160228190524j:plain

\(^o^)/\(^o^)/\(^o^)/

let's encrypt とドメインの管理

少し let's encrypt のダークサイドな話。

let's encrypt はドメインと結びついた IP アドレスが確保できたら、ドメインの持ち主でなくても誰でも証明書を作れてしまいます。 特に今回は EC2 で、 Elastic IP も取っていないので、割り当ての IP アドレスが変わり、他の誰かに元の IP アドレスが割り当てられてしまうと、実質的な成りすましが可能になってしまいます。(言わずもがな、逆引きできると尚更ですよね)

これは EC2 に限った話では無く、いままで以上にドメイン名(サブドメイン含む)の管理をしっかりしないといけなくなります。

let's encrypt って便利だね。でもウチは使って無いから関係ないよね。みたいな話では無く、let's encrypt と言う名の賽は投げられてしまったので、ドメイン名の管理者は一時的に使用したサブドメインも含めて管理をしっかりしておく必要があるかなと思います。

let's encrypt まとめ

  • let's encrypt は手軽に暗号化通信を実現できるので、開発者視点で見ると非常に便利なのでガンガンつかっていきたい
  • 発行した証明書は有効期限が短いので、定期的に更新が必要
  • コマンドラインで発行も更新もできるので、更新を自動化してしまえば有効期限の短さもなんとかなる
  • 中間証明局で署名された証明書なので、それを解決出来るブラウザでしか使えない(古いブラウザだと問題がでるかも。)

  • let's encrypt は無料で簡単に証明書を作れちゃうからこそ、ドメイン管理は気を付けよう。有料だとそこで抑制がありそうですが、それが無いからね…。