Let’s EncryptでSSL証明書を取得する

ごく基本的ではありますが、CIツールの連携ができてきました。ここらでセキュリティにも気を配りましょう。平文が流れるHTTPのままではセキュリティ的に不安ですので、通常はSSLで通信路を暗号化したHTTPSを利用します。

これまでは、このHTTPS化のためにSSL証明書を有料で取得する必要がありましたが、無償のSSL証明書を発行するLet’s Encryptの登場でこの状況が一変しました。今回はこのLet’s EncryptからSSLを取得したいと思います。セットアップする環境はDebian 8 Jessieです。

まずはjessie-backportsを有効にし、Let’s encryptのクライアントアプリであるcertbotをapt-getでインストールします。-t jessie-backportsを忘れずに付けましょう。

$ sudo echo 'deb http://ftp.debian.org/debian wheezy-backports main' >> /etc/apt/sources.list
$ sudo apt-get update
$ sudo apt-get install certbot -t jessie-backports

次に、certbotコマンドが認証に利用する80番ポートと443番ポートで動いているサービスを止めます。HTTPまたはHTTPSデーモンがインストール済みであれば、systemctl stopで止めましょう。

準備ができたらcertbotコマンドを実行します。-dオプションの引数には、今回SSL証明書をインストールするサーバのFQDNを指定します。ドメインとサブドメインを複数指定できたりもするようですが、今回は話を単純にするため、ドメインは一つだけ指定します。

$ sudo certbot certonly --standalone -d ドメイン

するとUIが起動しますので、質問に回答しながら進めていきます。まずは連絡先メールアドレスを求められますので入力します。次に何かのメッセージが表示された後にライセンスが表示されますので Agree しましょう。すると認証が行なわれ、証明書が /etc/letsencrypt/live/ドメイン ディレクトリにインストールされます。lsコマンドで確認してみましょう。

$ sudo ls /etc/letsencrypt/live/ドメイン
cert.pem  chain.pem  fullchain.pem  privkey.pem

なお、生成される証明書の有効期限は90日後のようです。証明書の有効期限はcronでチェック、更新されるようなので特別な設定等は不要なようです。

certbot実行のために止めたサービスは忘れず起動しておきましょう。

“Let’s EncryptでSSL証明書を取得する” への1件の返信

コメントを残す

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