Let’s Encryptを試してみる

自宅のファイルサーバについて、今まで自己発行証明書で動かしていて、
ブラウザで接続すると警告出ちゃうの嫌だなぁと思っていました。

去年、無料のサーバ証明書を発行してくれるLet's Encryptがリリースされたため、
導入してみることにしました。
非常に簡単だったのでその記録。

ちなみに、自宅の環境はこんな感じ。
CentOS 7.1
Apache

rootユーザで作業します。
はじめに、githubからソースコードを持ってきます。
サーバのどこに置いてもOKです。自分の場合、/usr/shareの下に持ってきました。

git clone https://github.com/letsencrypt/letsencrypt

主にPythonで書かれてるみたいですね。

次に、letsencryptをインストールします。
cloneしたディレクトリに移動し、コマンドを一つ叩くだけです。

cd letsencrypt/
./letsencrypt-auto --help

このコマンドを叩くだけで、必要なパッケージとかを勝手に入れてくれます。

次に、サーバ証明書の設定をします。
Apacheの場合、コマンドを一つ叩いた後、出てきた画面に沿って入力するだけですぐ終わります。
Apacheのコンフィグまで勝手に書いてくれます。すごく簡単です。

./letsencrypt-auto --apache

上記コマンドを入力後以下のように画面が出てきます。
YESを選択して、

ドメイン名を入れます。

Emailアドレスを入れて、

Agree。

Apacheだとssl.confにSSL設定を書くのが一般的なので、それを選択します。

すべての接続をhttps接続にしたいので、Secureを選択します。
http接続もOKにする場合はEasyにすれば良いかと。

以上ですべて終わりです。すごいですね。
サーバに接続してみると、Let's Encryptの証明書に切り替わっています。

Apacheのssl.confには、Let's Encryptが生成した証明書類を読み込むようきちんと書き込まれていました。

Let's Encryptの認証局証明書は、FirefoxやChromeに標準で入っていますので、
もうこれでブラウザに警告はでません。IEも確か入っていた記憶。
09

証明書を見るとわかるのですが、この証明書、有効期限が3ヶ月です。一般的に見ると短め。
ただ、証明書更新のコマンドも1つのコマンドのみで済みます。

./letsencrypt-auto renew --force-renew

crontabなどで月に1回更新するようにしておけば問題ないかと。

00 04 01 * * /usr/share/letsencrypt/letsencrypt-auto renew --force-renew && /bin/systemctl reload httpd 
→毎月1日の朝4時に更新

すごい簡単だし、運用も楽だし、無料だし、今後SSL/TLSのサイトは増えていきそうですね。
ただ、証明書の認証レベルは低いので、個人サイトならともかく、
きちんとしたサービスを提供したいのであれば、有償のサービスを使う必要があるかと思います。

コメントを残す

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