龍野情報システム東京チームです💻!今回はSSLについて、記事を書いていきたいと思います。どうぞよろしくお願い致します。
目次はこちら
- 1. SSLとは?
- 2. Let’s Encryptとは?
- 3. まとめ
SSLとは?
SSL(Secure Sockets Layer)とは、インターネット上におけるwebブラウザとwebサーバー間でのデータの通信を暗号化し、送受信させる仕組みのことです。通信を暗号化することにより、第三者からの盗聴を防ぎます。通信の安全性を高めるためには必須です。
▼SSLの役割
暗号化
SSLを利用すると、通信される情報を暗号化します。万が一情報の送受信中に情報を見られても暗号化によって大切な情報が守られます。
認証
SSLは様々な方法で認証されたサーバにしか発行されません。SSLを持っているということは信頼性を証明するものです。 よってユーザに安心感を与えることができます。
暗号化の証「https」
SSLを導入したページは、URLが「https:」から始まり、鍵マークが表示されます。
※お使いのブラウザによって鍵マークの表示場所は異なります。
Let’s Encryptとは?
Let’s Encryptは誰でも無料で使えるSSLの認証局です。こちらは、アメリカの非営利団体ISRG (Internet Security Research Group) が、2016年から提供しているサービスです。
最も大きな違いは費用負担の有無です。
多くのSSL証明書は購入する必要がありますが、Let’s Encryptの場合はありません。
暗号強度の違い
有料の証明書の方が暗号強度が強いと思われるかもしれませんが、無料の証明書と暗号強度は同様です。
無料だからと言って、解読されやすい暗号が使われているということはありません。
サポート対応の違い
手厚いサポートが必要な場合は、有料の証明書を購入した方がよいです。
また、有料の証明書の場合は付加サービスがある場合があるので、その辺りも加味して下さい。
Let’s Encryptをインストールしてみる。
ここではAmazon Linuxを使用しています。
また、/usr/bin/ディレクトリ内にファイルを保存する都合上、root権限にて作業を実施しています。
・curlでファイルを持ってくる
curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
・700権限を付与
chmod 700 /usr/bin/certbot-auto
・証明書を取得する
cd /usr/bin/
./certbot-auto certonly –webroot -w /var/www/html -d [SSLをかけたいドメイン・URL] –email [メールアドレス] -n –agree-tos –debug
特に問題がなければ、上記コマンドで証明書の発行まで完了します。
発行された証明書は、以下の場所に保存されています。
/etc/letsencrypt/live/指定したドメイン・URL名/ ディレクトリ内
cert.pem
chain.pem
fullchain.pem
privkey.pem
Apacheで使う場合は、以下のように設定するとうまくいきます。
SSLCertificateFile /etc/letsencrypt/live/指定したドメイン・URL名/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/指定したドメイン・URL名/privkey.pem
上記設定完了したら、Apacheを再起動し、実際にhttpsでアクセスしてみて下さい。
無事アクセスできたところで、更新手続きも自動化しましょう。
Let’s Encryptの証明書は90日間なので、やっておいたほうがいいです。
今回は一番簡単なcronへの登録です。以下の文をcrontabで記載するだけで、自動更新されます。
00 04 * * 0 /usr/local/bin/certbot-auto renew 2>&1 | mail -s “Let’s Encrypt update information” 普段使用しているメールアドレス && /etc/init.d/httpd restart
これで更新の必要の有無、必要だった場合の自動処理の結果がメールで届くようになります。
まとめ
今回の記事では、SSLに関する機能や役割、Let’s Encryptを活用したSSLの設定方法を、簡単ではありますが、ご紹介いたしました。こちらの記事を参考に是非、SSLの設定を使いこなしましょう!