Let’s encrypt の証明書を失効させ、ドメインの設定を削除する



無料の SSL 証明書 Let’s encrypt を certbot で運用している場合の方法です。証明書のインストールや更新の記事はよくあるのですが、削除の記事があまりないので書いてみました。

1つのサーバーで複数のホストの SSL 証明書をインストール・運用しているケースで、あるサイトの閉鎖に伴い、1つの証明書だけ管理対象から外したいというケースがあったためです。

certbot コマンドを最新にする

今回のサーバーは git を使ってインストールしているので、まず git pull コマンドで certbot コマンドを最新版に更新します。

証明書の失効作業

この作業は探すといろいろ出てきますが、certbot revoke で実行できます。このとき--cert-path で証明書のパスを指定します。

同様に fullchain1.pem なども失効させる必要があります。

また秘密鍵を失効させる場合は --key-path で指定します。

証明書の削除

これまで証明書の削除は、手作業で /etc/letsencrypt/live/{FQDN} のファイルを消す必要がありました。

これは面倒です。しかし、最新の certbot-auto コマンドには delete オプションが追加され、まとめてファイルを消せるようになりました。

これで証明書や秘密鍵はバッサリ消えますが、Apache や Nginx に追加された https の設定までは消えませんので、そちらは手作業で消す必要があります。(消さないと Apache のリロードや再起動時にエラーになってしまいますのでご注意を)


この記事へ4件のコメント

  1. certbot-autoのアップデートについてですが、

    ”Certbot クライアントは、起動時に自動的にアップデートされる仕組みになっているので、特に意識しなくても常に最新のバージョンを使用できます。”

    引用元:Certbot クライアントのインストール – Let’s Encrypt 総合ポータル

    certbot-autoコマンドを実行するタイミングで、まずアップデートがないかどうかの確認があるらしいです。

    • コメントありがとうございます♬
      仰るとおり現在のバージョンはそうですね。

      あと CentOS 7 だと EPEL のリポジトリからインストールできるようになったのでより手軽に使えるようになっていますね。

  2. 「これで証明書や秘密鍵はバッサリ消えますが、Apache や Nginx に追加された https の設定までは消えませんので、そちらは手作業で消す必要があります。(消さないと Apache のリロードや再起動時にエラーになってしまいますのでご注意を)」とありますが、単純にssl.confを削除すればいいということでしょうか?

    以前、証明書を削除した際、apacheがエラーで起動しなくなり、パニックになった恐怖がトラウマになっています。

    • コメントありがとうございます。返信が遅くなりました。

      Apache の場合、certbot-apache2 のプラグインで自動設定したのであれば、***-le-ssl.conf という名前のファイルが生成されるので、そのファイルを消せば良いと思います。
      ssl.conf に書くかどうかは管理者の運用ポリシー次第ですのでなんとも言えませんが、基本的にこのファイルをまるごと消すことはまずないと思います。

      もしあるとすればこのファイルの <VirtualHost>~</VirtualHost> ディレクティブ内に消したいドメインの証明書が設定されていれば、そのディレクティブを消すという対応でしょうか。
      いずれにせよ、いきなり消すよりはコメントにして、再起動前にまず service httpd configtest (CentOS の場合) などのコマンドで文法チェックをするのが良いと思います。

岩崎 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


  • キュア子の紹介

人気記事ランキング