SSL/TLS証明書の有効期限短縮に備えて脱・手動更新①

概要

インターネットセキュリティの重要性が日に日に増していく中、SSL/TLS サーバー証明書の最大有効期間が 2029 年までに段階的に短縮されることが決定しました。

この短命化の波において、今回は「Certbot」というツールに注目し、証明書取得・更新の自動化について記事にさせていただこうと思います。

Certbotは、ACME(Automated Certificate Management Environment)プロトコルを利用して証明書の自動取得・更新を行うためのクライアントツールです。

また、取得した証明書を指定のサーバーへ配置、そしてサービスの再起動(Reload)までも自動化することが可能です。

 

構成

本記事で構築する環境および証明書発行・設定反映までの流れは図の通りです。

本記事において、Certbotサーバーは図の通り、WEBサーバーなどの証明書を使わせたいサーバーとは別に構築します。

Certbotは証明書を自身のサーバーで取得し、その後各サーバーへ配置させる構成となります。

Certbotサーバの構築手順

構築手順を大きく分けると下記の4ステップとなります。

  1. Certbotのインストール
  2. ACME-DNSのインストール・設定
  3. 認証スクリプトの用意
  4. デプロイスクリプトの用意

ACME-DNSなど初出のワードが出てきていますが、各ステップの手順にて説明させていただきます。

 

Certbotのインストール

まずは、Certbotをインストールするための基盤(Snap環境)をセットアップ。

# EPELリポジトリが必要な場合(RHEL/Alma/Rockyなど)
sudo dnf install epel-release -y 
# Snapdのインストール
sudo dnf install snapd -y 
# Systemdソケットの有効化と起動 
sudo systemctl enable --now snapd.socket 
# シンボリックリンク作成
sudo ln -s /var/lib/snapd/snap /snap
# Snap環境自体のコアパッケージを最新にします。
sudo snap install core 
sudo snap refresh core

続いてsnap版のCertbotをインストール。

# Snap版Certbotのインストール
sudo snap install --classic certbot

# certbotコマンドのシンボリックリンクを作成
sudo ln -s /snap/bin/certbot /usr/bin/certbot

# バージョン確認
certbot --version

なお、snap版のCertbotを取得している理由としては、

Certbotの開発元であるEFF(Electronic Frontier Foundation)が、多くのLinuxディストリビューションにおいてsnap版を利用したインストールを公式に推奨しているからです。

https://eff-certbot.readthedocs.io/en/latest/install.html

 

 

続いて、「2. ACME-DNSのインストール・設定」のステップとなりますが、

次回の記事にて解説させていただきます。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。
エンジニア募集中!

コメントを残す

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