PORTALノベルワークスが運営する、WEB,ITに関する最新技術・情報をお届けします。世界ではWebサービスのセキュリティ向上のため、これまでの平文HTTPから暗号化通信HTTPSへの移行「常時SSL/TLS」が進んでいます。HTTPSしていないWebサイトでは、かなりの数のハッキングがされており、悪用されている恐れがあるのが背景です。Google検索でもHTTPSされたサイトの検索順位を上位にランクする方針で、SEO対策的にもメリットがあります。一般の利用者もHTTPSを標準で利用する様にWebブラウザにて対応が進行しています。GoogleのChromeは2017年から警告表示を開始しています。金融やショピングなどのWebサイト以外でも今後「常時SSL/TLS」が求められて来る事でしょう。Encryptとは?無料でオープンな証明書を発行できるサービスです。手続き不要で、サーバーとドメインさえ持っていれば即時発行可能です。(Chromeでも緑の鍵マークになります)従来は認証局に費用を払って購入していたSSL/TLS証明書ですが、DVに関しては無償で取得できる認証局があります。Encrypt2016年4月に正式サービスが開始されて商用利用も可能です。必要なのは申請する管理ドメインと連絡先メールアドレスだけです。導入手順さっそく導入してみましょう。(バージョン違いは適宜読み替えてください)前提として上記は導入済みとします。方はAWSのページなどを参考にインストールまで済ませてください。AWSのセキュリティグループを設定するセキュリティグループのインバウンドのHTTPS(433)を許可(0.0.0.0/0)にします。これをやらないと証明書を自動取得する際にエラーになります。certbotインストール対象のインスタンスにSSHでログインし、以下を実行します。(rootじゃなければsudoつける)権限も変更しておきましょう。EncryptではSSL/TLS証明書を取得するツールとしてcertbotを推奨しています。証明書の発行cerbotのインストールが成功したら以下のコマンドで自動生成します。Linuxはまだ実験的だそうでこのオプションつけないと実行できませんのでご注意。certbotのコマンドだけでSSL/TLS証明書が取得できますが、自動設定よりオプション指定による取得を推奨しておきます。以下のサイトにてオプションのガイドが日本語で解説されています。次にライセンス承諾を求められます。Encryptの認証確認メールが届きます。Encryptのサイトに行くと無事に承認されます。これでSSL/TLS証明書の発行準備が出来ましたので実行します。生成された証明書の確認しばらくすると以下のディレクトリに証明書が生成されます。申請したドメイン名とドキュメントルート、有効期限が表示されて無事にSSL/TLS証明書が取得出来ました。取得したSSL/TLS証明書は以下の場所にあります。mod_sslインストールApacheにmod_sslを未インストールならインストールします。ssl.confに証明書パス設定/etc/httpd/conf.d/ssl.confに先ほど取得した証明書のパスを設定します。上記の後に、http→httpsの強制リダイレクトや、証明書の自動更新設定などやっておいたほうがよいと思います。WebサービスにHTTPにて接続を確認してみましょう。HTTPSにリダイレクトされたら、「常時SSL/TLS」する事が出来ます。Encryptで取得したSSL/TLS証明書の有効期限は「3ヶ月」です。cronで定期実行する事で更新します。更新間際でないと実際には更新が実行されない為、cronの定期実行は毎週行うことで漏れを防ぎます。restart”毎週日曜日AM2:30に実行し、Apacheを再起動する。