ConoHaVPSで動いているWordPressをSSL化しました。

表題の通りです。

見ている人はいないんだろうけど、やってみました。

SSLについて

以下のサイトが分かりやすく説明しています。
https://www.sslcerts.jp/
送信データを暗号化することで、通信の安全性を高めることができます。
GoogleChromeやFirefoxなどでは、URLの横にアイコンが付き、Webサイトが安全に通信できるかどうか判定をしてくれています。
今後Webサイト等を立ち上げる時はこのSSL化が必須となってくるのではないでしょうか。

SSL化してみよう

SSL化までの手順をうろ覚えですが書いていきます。
なお、自分はVPSで立ち上げているのですが、レンタルサーバを提供しているサイト等では共有のSSLも提供しているところが増えてきていますので、安価で済ませたければそちらを利用するのも手でしょう。
自分は勉強がてらにやりたかったので、買って実装しました。

環境について

・ConoHa VPS
・CentOS7.3
・Apache 2.4.6

必要なものをインストール

opensslとmod_sslが必要なので、入っていなければインストールします。

# yum install openssl
# yum install mod_ssl

秘密鍵、CSR、証明書を作成する

各種ディレクトリの作成

# cd /etc/httpd/conf/
# mkdir ssl.key
# mkdir ssl.csr
# mkdir ssl.crt

秘密鍵を生成

今後更新することを想定して、既存ファイルを上書きしないように名前は「ドメイン.作成年」とかで作るといいかもです。

# cd ssl.key
# openssl genrsa -des3 -out ./yoda56.com.2017.key 2048

※yoda56.comは自分のドメインに置き換えてください。
作成時にパスワードを入力します、今後結構使うので忘れないようにしてください。

CSR作成

CSRってなんだろうと思ったんだけどここに飛ばされた
企業の社会的責任
なんか違うよなぁ!?

こうらしい

■CSRとは、ドメイン所有者が認証局に提出する署名リクエスト(Certificate Signing Request)です。

じゃ、作ります

# cd ../
# pwd
/etc/httpd/conf
# openssl req -new -key ./ssl.key/yoda56.com.2017.key -out ./ssl.csr/yoda56.com.2017.csr

パスワード入力後は項目入力を求められます。
自分はよくわからなかったので、SSLを購入しようとしているKingSSLのこちらの例をそのまま入れました。

入力が終わるとファイルが作成されています。
中身をcatかなんかで見て全部コピーしましょう、SSL購入の際に必要になります。

#cat /etc/httpd/conf/ssl.csr/yoda56.com.2017.csr

よだ、SSL証明書を買う

自分は安さだけを求めたのでKingSSLにて購入しました。
年額900円ですので、とりあえず導入してみたいという方は良いのではないでしょうか?

証明書をサーバに入れる

手順を終えるとサーバ証明書が届きます。
これをサーバに入れます。

# cd /etc/httpd/conf/ssl.crt/
# touch yoda56.com.2017.crt ←これに証明書を入れる
# touch intermediate.cer ←これに中間証明書を入れる

Apacheの設定

ssl.conf

# cd /etc/httpd/conf.d/
# cp -vp ssl.conf ssl.conf.org
# vi ssl.conf

で括ってある場所全部削除しちゃってください。

vHosts.conf

Mozilla SSL Configuration GeneratorというサイトがopensslとApacheのバージョンに合わせてSSLの適当な書き方を作成してくれます、これを活用しましょう。

<VirtualHost *:443>
   いつも通りしている設定
   ↓追記
   SSLEngine on
    SSLCertificateChainFile /etc/httpd/conf/ssl.crt/intermediate.cer
    SSLCertificateFile      /etc/httpd/conf/ssl.crt/yoda56.com.2017.crt
    SSLCertificateKeyFile   /etc/httpd/conf/ssl.key/yoda56.com.2017.key

    SSLProtocol             all -SSLv3
    SSLCipherSuite          ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
    SSLHonorCipherOrder     on
    SSLCompression          off
    ↑追記
</VirtualHost>

リダイレクト設定

あとはhttpリクエストしてきた時にhttpsでリダイレクトするようにApacheで設定を入れます

<virtualHost *:80>
   ServerName yoda56.com
   ServerAlias www.yoda56.com
   <IfModule mod_rewrite.c>
       RewriteEngine on
       RewriteCond %{HTTPS} off
       RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
   </IfModule>
</VirtualHost>

Apache再起動

# httpd -t
Syntax OK
# service httpd restart
↑ここでパスワードを求められます。

httpsでアクセスして表示され、httpでアクセスされたときにhttpsにてリダイレクトされれば設定完了です。

SSLの強度を見てくれるサイトがあるみたいなので、こちらでチェックしてみるといいかもです。
SSL Server Test (Powered by Qualys SSL Labs)

ではでは

■参考
SSL証明書をインストールする(自分でやればこんなに激安!)
http から https へのリダイレクトを行う httpd.conf (mod_rewrite)

【広告】

ConoHaVPSで動いているWordPressをSSL化しました。」への1件のフィードバック

  1. ピンバック: Let's Encryptの導入(Apache2.4+CentOS7) | よだねっと

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です