概要

WEBサーバーを無料でSSL接続できます。無料SSL証明書がCertbotから手に入ります。

レンタルサーバー屋さんなどでも導入しているところもあります。エックスサーバー

Certbotをインストール

https://certbot.eff.org/

トップページから、WEBサーバーとOSを選びます。

選ぶとページが変わって説明ページが登場します

 

Certbot コマンド

 

筆者のhttpdはapacheなので

$ ./path/to/certbot-auto --apache

して、ページに書いてある通りに進めると無事インストールされました。

英語のページですが、そのまま進めれば証明書の設定が無事終わると思います。

インストールされる証明書の期限は3か月なので、自動で更新するように設定しておくといいと思います。

ページ下部に更新について書いてあります。(Automating renewalのところです)

SSLランクをサイトでセキュアランク評価を受けます

https://www.ssllabs.com/ssltest/

SSLLABSでSSLがきちんと入っているかチェックします。

URLにhttpsから始まる自分のサイトを入力してサブミット

筆者の場合、Let's Encrypt 導入直後はランクCでした。

サーバーの設定を見直してSSLのセキュリティランクアップ

よりセキュアなサーバー接続を提供するために、SSLのランクアップを目指します。

SSLランク A+になりました

SSL.conf で変更した点

apacheのssl設定を考えた

こちらを参考に設定を変更したらランクA+になりました。重要な変更と思われたところだけピックアップしときます。

(とても分かりやすく良いドキュメントに助かりました、ありがとうございます)

  1. SSLProtocol all -SSLv2 -SSLv3
  2. SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!EXP:!LOW:!aNULL:!eNULL:!ADH:!DSS:!MD5:!PSK:!SRP:!RC4:!3DES
  3. Header add Strict-Transport-Security "max-age=15768000"

この3つがランクアップに重要です、ぜひ対応してください。

3.のHSTSはGoogleのHTPSでサイトを保護のドキュメントでも説明されているhttpとhttpsの混合しているサイトで、httpへの接続をhttpsに自動で接続する仕組みで.htaccessなどで行うよりも良いやりかたです。

3.のHeader add の部分は、Apache モジュール mod_headersで、set append add などいろんなコマンドがあるので、ご自分のサーバーに合わせて設定してください。

 

無料SSLの存在で筆者のような経済的弱者でもhttpsを実装できました。

ありがたやありがたや。