CloudFlare APIによる検証を使用して、CentOS 7でワイルドカード証明書を暗号化しよう

多くの人と同様に、Let's Encryptからワイルドカード証明書を受け取る機会を長い間待っていました。 そしてその時が来ましたが、Habréにはマニュアルがありません。 さて、それを修正してみましょう。



これは、Let's Encryptのワイルドカード証明書をセットアップするための最も簡単なマニュアルです。

CloudFlareの代わりに、別のサービスを使用できます。 プラグインはEPELリポジトリにあります。



certbotとプラグインをインストールする



次のように、githubでcertbotの最新バージョンをインストールすることは意味がありません。 必要な機能はバージョン0.22で登場しました。



certbotとそのプラグインをインストールするには、EPELリポジトリに接続する必要があります。



sudo yum install epel-release -y
      
      





次に、certbotのインストールを開始します。



 sudo yum install certbot -y
      
      





次に、certbotのCloudFlareプラグインをインストールします。



 sudo yum install python2-cloudflare.noarch python2-certbot-dns-cloudflare.noarch -y
      
      





別のサービスを使用する場合、たとえば、digitalocean yum list * digitalocean *のように、yumを使用してプラグインを検索します
certbotを1回実行して構成を作成します。



 sudo certbot
      
      





CloudFlare APIを構成する



certbotがワイルドカード証明書を自動的に更新するには、設定でCloudFlareアカウントのログインとそのAPIキーを指定する必要があります。



CloudFlareアカウントにログインして、プロファイルに移動します




グローバルAPIキーの反対側にある[表示]をクリックします




アカウントのパスワードを入力し、キャプチャを通過して、もう一度表示をクリックします




APIキーをコピーします




エディター(たとえば、nano)を使用して/ etc / letsencryptディレクトリーに cloudflareapi.cfgファイルを作成します。



 sudo nano /etc/letsencrypt/cloudflareapi.cfg
      
      





そして、次のように書きます:



 dns_cloudflare_email = < CloudFlare > dns_cloudflare_api_key = < CloudFlare API Key>
      
      





AHTUNG! APIキーを保存するこの方法は安全ではありませんが、 Let's Encryptを使用しているので気にしないでください。



少なくとも、 sudo chmod 600 /etc/letsencrypt/cloudflareapi.cfg記述して、読み取りアクセスを制限できます。

証明書の作成



他の検証方法とは異なり、証明書はここで迅速かつ簡単に作成されます。 example.orgの代わりにドメインを指定します。



 sudo certbot certonly --cert-name example.org --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflareapi.cfg --server https://acme-v02.api.letsencrypt.org/directory -d "*.example.org" -d example.org
      
      





certbotを初めて起動すると、通知を送信するためのメールアドレスを求められ、ToSを受け入れ( Aを選択)、スパムを承認します( Nを選択します)。
それだけです。成功すると、このようなものが表示されます。
 IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.org/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.org/privkey.pem Your cert will expire on 2018-07-21. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
      
      







必要なfullchain.pem証明書は、/ etc / letsencrypt / live / example.orgディレクトリにあります。



Webサーバーのセットアップ



ここでは、Webサーバーの構成については説明しません。 私の設定があなたに合う可能性は低いです。



WebサーバーとCMSのバージョンのSSL設定を自分で見つける必要があります。

証明書の更新



作成されたすべての証明書は、certbotで更新されます。



 sudo certbot renew
      
      





実際、 / etc / crontabを開きます。



 sudo nano /etc/crontab
      
      





そして、行を追加します。



 0 4 * * 2 root certbot renew
      
      





つまり、毎週火曜日の4時から、certbotを介して証明書の有効性を確認します。



また、ここでは、この証明書を使用するWebサーバーの再起動(たとえば、nginx)を追加する必要があります。



 10 4 * * 2 root systemctl restart nginx
      
      





おわりに



セットアップは簡単ですが、忘れるのはとても簡単です。 したがって、ブックマーク。



このマニュアルは、主にサーバーまたは小規模プロジェクトの愛好家を対象としています。したがって、セキュリティや追加設定に特別な注意はありません。



All Articles