概要
無料で利用可能なSSL証明書Let’s Encrypt(レッツ・エンクリプト)を導入しSSL接続を可能にする
なお、SSL証明書はワイルドカードで作成する
certbotとcertbot-autoインストール
certbot-autoのインストール
古いver certbot-autoはワイルドカード利用できないため新しいcertbot-autoをインストールする。
certbotインストール # yum -y install python2-certbot-apache certbot-autoインストール # cd /usr/local/bin/ # wget https://dl.eff.org/certbot-auto --2019-07-20 15:22:08-- https://dl.eff.org/certbot-auto dl.eff.org (dl.eff.org) をDNSに問いあわせています... 151.101.108.201, 2a04:4e42:36::201 dl.eff.org (dl.eff.org)|151.101.108.201|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 68023 (66K) [application/octet-stream] `certbot-auto' に保存中 100%[======================================>] 68,023 --.-K/s 時間 0.04s 2019-07-20 15:22:08 (1.73 MB/s) - `certbot-auto' へ保存完了 [68023/68023] # ls -l certbot-auto -rw-r--r-- 1 root root 68023 7月 20 04:19 certbot-auto # chmod a+x certbot-auto # ls -l certbot-auto -rwxr-xr-x 1 root root 68023 7月 20 04:19 certbot-auto # which certbot-auto /usr/local/bin/certbot-auto
SSL証明書発行
SSL証明書発行
certbot-auto certonly --webroot \ -w <ドキュメントルート> -d <ドメイン名> --email <メールアドレス>
TXTレコード出力確認
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator manual, Installer None Obtaining a new certificate Performing the following challenges: dns-01 challenge for <ドメイン名> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.<ドメイン名> with the following value: 5ny3skMx7FHNzXau_OdXeSoA5lhXPZ_Y7c2Px6V3Izw ← DNSサーバにこのvalueをTXTレコード登録します。 Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue
Press Enter to Continueが表示されたらEnterキーはまだ押下しないこと!!
「DNSサーバへ出力したTXTレコードを登録」へ進む
DNSサーバへ出力したTXTレコードを登録
DNSサーバへ出力したTXTレコードを登録する
今回の場合は以下のようにDNSサーバにTXTレコードを登録する
★TXTレコード名
「_acme-challenge.<ドメイン名>」
★value
「5ny3skMx7FHNzXau_OdXeSoA5lhXPZ_Y7c2Px6V3Izw」
環境や出力結果に合わせて変更お願いしますm(_ _)m
TXTレコード状況確認
別TeraTermを開きTXTレコードを確認する
# nslookup -q=txt _acme-challenge.<ドメイン名>. Server: xxx.xxx.xxx.xxx Address: xxx.xxx.xxx.xxx#53 Non-authoritative answer: _acme-challenge.<ドメイン名> text = "5ny3skMx7FHNzXau_OdXeSoA5lhXPZ_Y7c2Px6V3Izw" Authoritative answers can be found from:
上記のようにTXTレコードの反映が確認できればOKです。
※お名前ドットコムで実施した時は30分ぐらいかかりました。。。
SSL証明書発行
ようやくEnterキーを押下できます。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.<ドメイン名> with the following value: 5ny3skMx7FHNzXau_OdXeSoA5lhXPZ_Y7c2Px6V3Izw ← DNSサーバにこのvalueをTXTレコード登録します。 Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue ← Enterキー押下 Waiting for verification... Challenge failed for domain <ドメイン名> dns-01 challenge for <ドメイン名> Cleaning up challenges Some challenges have failed. IMPORTANT NOTES: - The following errors were reported by the server: Domain: <ドメイン名> Type: dns Detail: DNS problem: NXDOMAIN looking up TXT for _acme-challenge.<ドメイン名>
SSL証明書確認
各証明書は以下ディレクトリに格納されます
証明書 /etc/letsencrypt/live/<ドメイン名>/cert.pem 証明書+中間CA証明書 /etc/letsencrypt/live/<ドメイン名>/fullchain.pem 秘密鍵 /etc/letsencrypt/live/<ドメイン名>/privkey.pem 中間CA証明書 /etc/letsencrypt/live/<ドメイン名>/chain.pem
参考リンク
Let’s EncryptのSSL証明書をDNS認証で発行してみた。(DNSはお名前.com)
ありがとうございます
注意事項
Let’s Encryptで作成したSSL証明書の有効期間は90日間のためそれ以内にDNSレコードを更新する必要があります。
私が利用しているDDNSはお名前ドットコムを利用していますがお名前ドットコムにはAPIがないため、
ワイルドカード登録を断念しました。。。。。(だれかお名前ドットコムのAPI機能があったら教えていただきたいです。(泣)
次回は、Let’s Encrypt(個別編)( ´·ω·)つ──
コメント