mac osx ServerでLet’s Encryptのワイルドカード証明書を使う

     

公開日:2020.07.06

     

最終更新日:2021.03.23

mac osx Serverで動かしているWebサーバー、メールサーバーで利用するSSL証明書には、Let’s Encryptのワイルドカード証明書を利用しています。Let’s Encryptの証明書の取得、更新にはhomebrewでcertbotをインストールして使用。この更新作業は自動化できるのですが、3ヶ月毎の更新が個人的にそこまで面倒ではないのと、3ヶ月ギリギリのタイミングで更新する主義なので手動で更新しています。その更新手順をまとめておきます。Let’s Encryptでは証明書の発行時の検証手段としていくつかの方法があるのですが、DNSを利用した方法を使っています。Let’s Encryptで発行されるトークンをDNSサーバーのTXTレコードに登録し、そのトークンをLet’s Encrypt側で検証してもらう方法です。順を追って記載します。

1. certbotのバージョン確認

この作業は基本的に不要なんですが、バージョンが古いとLet’s Encrypt側からアップデートしてくれという依頼が来るケースもあるため適宜確認してアップデートしています。

% certbot --version
certbot 1.5.0

直前にhomebrewのupgradeを行っていた関係で最新バージョンでしたので、そのまま利用します。

2. 更新コマンド実行

通常は

sudo certbot renew

$ sudo certbot renew

といった感じでOKなのですが、ワイルドカードだからなのか受け付けてくれませんでした。なので、通常の初回取得と同じ感じで更新します。

$ noglob sudo certbot certonly --manual -d *.mitsugi.jp -preferred-challenges dns-01 -m <メールアドレス>

稼働中のサーバーにはあまり余計なモジュールを入れておきたくないため、作業用のMacで証明書の取得は行っているのですが、作業用のMacはCatalinaで標準シェルをzshにしてしまっています。zshの場合、コマンドに明日アタリスクを入れると文句を言われるので、頭に「noglob」を追加しています。これで、DNSサーバーのTXTレコードに登録するためのトークンが発行されてくるので、指定された通りにDNSサーバーの設定ファイルに追記し、念のために外部のDNS設定確認サイトなどを利用してdigコマンドでTXTレコードが取得されるかを確認して続ければ無事に証明書ファイルが発行されます。

3. Server.appで証明書を登録、設定する

利用しやすいように、作成された証明書ファイルを好きなディレクトリにコピーします。

$ sudo cp /etc/letsencrypt/live/mitsugi.jp/fullchain.pem /Users/<hoge>/Documents/SSL/2020070
$ sudo cp /etc/letsencrypt/live/mitsugi.jp/privkey.pem /Users/<hoge>/Documents/SSL/2020070

Server.appの証明書画面

コピーした証明書ファイルを、Server.appに登録します。Server.appの左ペインで「証明書」をクリックし、右ペイン左下にある「+」をクリックします。

Server.app証明書読み込み

「証明書識別情報を読み込む…」をクリックします。

Server.app証明書取り込み画面

「秘密鍵と証明書の情報が含まれるファイルを追加します。」という画面が出てくるので、ここに先ほどコピーしておいた「privkey.pem」「fullchain.pem」とをそれぞれドラッグ&ドロップします。すると画面の「秘密鍵」「ドメイン名」が黒太字表示に変わるので、「読み込む」ボタンをクリックします。

Server.appサービス証明書構成画面

証明書の画面で、「サービスのセキュリティ保護に使用」の右にある「カスタム構成」プルダウンメニューをクリックし、「カスタム…」をクリックします。サービス証明書画面が表示されるので、必要となるサービスで、先ほど作成した証明書を選択し、「OK」ボタンをクリックします。

これで、Webサイトおよびメールサーバー、メッセージサーバーでLet’s Encryptで発行された証明書が利用可能な状態となりました。

関連記事

コメントは利用できません。

2022年1月
 12
3456789
10111213141516
17181920212223
24252627282930
31