概要
Let’s Encrypt は無料で利用可能な証明書です。
認証局としてどの程度の信頼性があるのかは未知数ですが、とりあえず機能的には全く問題がありませんので、証明書を必要としているが費用は出せない、、、といったケースでは便利に使えるかと思います。
一般の証明書についての仕様を理解している人であれば、導入も容易かつスピーディーに行うことが出来ます。
かなり前から常時SSL が当たり前の世の中になってきていますので、とりあえず https 化しておくという用途では非常に使えます。
導入方法
Let’s Encrypt のサイトは、https://letsencrypt.org/ です。
しかし、CentOS6 の例にはなりますが、基本的には上記サイトを見なくても導入できます(^_^;
導入するためには、Certbot というコマンド駆動型のクライアントソフトを使用します。
まずは、https://certbot.eff.org/ から使用する Web サーバと OS を選択し、表示された内容を元に Certbot をダウンロードします。
その後、適当な場所に設置し、chmod で適切にパーミッションを設定します。
あとは、Certbot を実行するだけです。
最初の実行時には、依存関係のある rpm をインストールする処理が走りますので root 権限が必要です。( root ユーザーもしくは sudo 可能なユーザー)
# ./certbot
ちなみに、certbot には様々なオプションがありますが、CentOS6 の Apache 使用の場合には、上記のようにオプション無しでOKでした。
実行すると、インストールするドメイン名や連絡用のメールアドレス等をインタラクティブに聞いてきますので、適宜入力します。
基本はこれだけで完了です。
私の場合は、httpd.conf の内容が特殊だったのもあって手動で修正が必要でしたが、ほぼコピペで済む程度の修正でした。
Python2.6 の問題
CentOS のデフォルトは、python-2.6 系です。
python-2.6 を使用していると以下のような警告が出力されることがあります。
※適宜改行してます
/root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/__init__.py:27: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6
要するにもっと新しい python を使えということなのですが、これだけのためにアップデートするのも、、、ですよね。/root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/__init__.py
を見てみると、以下のような箇所があります。
ここを全てコメントにしてしまえば、この警告は抑止出来ますので、自己責任でどうぞ(^_^;
if sys.version_info[:2] == (2, 6): warnings.warn( "Python 2.6 is no longer supported by the Python core team, please " "upgrade your Python. A future version of cryptography will drop " "support for Python 2.6", DeprecationWarning )
証明書の更新
Let’s Encrypt の証明書の有効期限は3ヶ月です。
わりとすぐに有効期限が切れてしまいますので、自動的に更新するよう設定しておくのが良いです。
下記は証明書更新の例です。
-q は表示メッセージの抑制、–post-hook は更新した場合に実行するコマンドです。
# ./certbot-auto renew -q --post-hook "systemctl reload httpd"
これを定期的に自動で実行するよう cron 等で設定しておきましょう。
コメント