ECや個人情報を扱うサイトはSSL化しているサイトが多いと思いますが、
個人で運用しているブログやその他のサイトについては、
SSL化しているサイトはまだまだ少ない状況です。
2017年10月からGoogleが全ての非SSLページに警告を出すようになった動きもあり、
今後はWEBサイトの常時SSL化の流れになってくるでしょう。
ただし、SSLの導入となるとそれなりのコストもあり、
個人等ではとてもお金をかけるのは躊躇する事かと思います。
そんな中、無料でSSL化できるLet’s Encryptというサービスがあり、
今回はその導入手順を紹介したいと思います。
本手順の前提条件
- CentOS7.4
- Apache2.4.29
- インストールディレクトリは、/usr/local/apache/
- ドキュメントルートは、/var/www/html/
Let’s Encryptの導入手順
# Let's Encryptの導入 curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto chmod 700 /usr/bin/certbot-auto # www付きドメインのSSL化が不要な場合は「-d www.[SSL化したいドメイン]」を除去 /usr/bin/certbot-auto certonly -d [SSL化したいドメイン] -d www.[SSL化したいドメイン] -m [通知メールアドレス] --webroot --webroot-path /var/www/html/
上記コマンドを進めていく上でPythonなど入っていなければ、
インストールが求められますが、必要な為導入します。
完了すると、以下に証明書が作成されます。
/etc/letsencrypt/live/[SSL化したいドメイン]/
apacheの設定
上記で作成された証明書をapacheに設定します。
vi /usr/local/apache/conf/extra/httpd-ssl.conf ----- SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW SSLCertificateChainFile /etc/letsencrypt/live/[SSL化したいドメイン]/fullchain.pem SSLCertificateFile /etc/letsencrypt/live/[SSL化したいドメイン]/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/[SSL化したいドメイン]/privkey.pem ----- vi /usr/local/apache/conf/httpd.conf ----- Include conf/extra/httpd-ssl.conf ----- /usr/local/apache/bin/apachectl configtest systemctl restart httpd systemctl status httpd
証明書の自動更新
Let’s Encryptは無料で導入できる事がメリットになりますが、
証明書の有効期限が90日で切れてしまいます。
証明書が切れてしまっては意味がないので、
証明書の自動更新も設定しておきます。
以下はスケジュールの例ですが、
毎週月曜日のAM10:00に自動更新のチェックを行うようにします。
crontab -e ----- 0 10 * * 1 /usr/local/src/certbot-auto renew -----
Let’s Encryptを使ってみた感想
無料SSLなので何かと不安かなと思いましたが、
今のところは特に不安に感じる事はございません。
結構Let’s Encryptを使っているサイトも最近では、
ちょくちょく見るようになっている為、
今後のデフォルトスタンダードになりそうな感じがします。
コメント