wordpress 管理画面の https 化
インストールした wordpress はhttp 通信なので
安全になるように https にします
まず秘密鍵と 証明書を作ります
1 | cd /var/tmp/ |
で移動し
1 | openssl ecparam -out private.key -name prime256v1 -genkey |
で鍵を作成します
この意味は
ecparam で楕円曲線アルゴリズム使用
-out private.key で鍵ファイル名を private.key
-name prime256v1 で 256bit の ECC鍵指定
-genkey で鍵作成
となります
次にCSRを作成します
1 | req -new -key private.key -out request.csr |
意味は
-key private.key
で秘密鍵を指定しています
-out request.csr はCSRファイル名の指定です
これを実行すると対話形式で必要事項を入力していきます
1 | Country Name (2 letter code) [XX]: |
は国コードなので日本ならJP
1 | State or Province Name (full name) []: |
は都道府県名を入れます
1 | Locality Name (eg, city) [Default City]: |
は市長村名
1 | Organization Name (eg, company) [Default Company Ltd]: |
は組織名だけどサイト名でもOK
1 | Organizational Unit Name (eg, section) []: |
は組織名だけど、組織じゃないので空Enter
1 | : |
はサイト名をいれます
1 | Email Address []: |
には管理者のメルアド
1 | A challenge password []: |
はパスワード設定だけど省略可能
1 | An optional company name []: |
は、他の組織名だけど、これも省略可能
これらを実行すると、ディレクトリに
private.key
request.csr
が作成されます
これらを使い証明書の発行を行います
1 | openssl x509 -days 3650 -req -signkey private.key < request.csr >server.crt |
これを実行すると
SSLサーバ証明書として
server.csr が作成されます
次に、証明書格納フォルダに移動します
1 2 | cp private.key /etc/pki/tls/private/ cp server.crt /etc/pki/tls/certs/ |
次にSSL_MODの設定をします
1 | vim /etc/httpd/conf .d /ssl .conf |
で設定ファイルを開き
93行めの
1 | SSLProtocol all -SSLv2 |
を
1 | SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2 |
に変更
98行めの
1 | SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW |
を
1 | SSLCipherSuite ECDH+AES256:RSA+AES128:ECDH+AES128:+SHA:+SHA256:!aNULL |
に変更
次にSSLサーバー証明書を変更するので
105行めの
1 | SSLCertificateFile /etc/pki/tls/certs/localhost .crt |
を
1 | SSLCertificateFile /etc/pki/tls/certs/server .crt |
に変更
秘密鍵も変更するので
112行めの
1 | SSLCertificateKeyFile /etc/pki/tls/private/localhost .key |
を
1 | SSLCertificateKeyFile /etc/pki/tls/private/private .key |
に変更して保存
次に wordpress 設定ファイルを編集し
管理画面へのアクセスを
HTTPSで接続を強制します
1 | vim /var/www/html/wp-config .php |
でファイルを開き
21行めに
1 2 | define( 'FORCE_SSL_LOGIN' , true ); define( 'FORCE_SSL_ADMIN' , true ); |
を追記して保存します
あとは設定反映のため apache を再起動します
次にAWSのセキュリティグループの変更を行います
これをやらないとアクセスできません
AWSコンソールにログインし
EC2 を選択します
次にセキュリティグループをクリックし
現在使用しているセキュリティグループをクリックします
私の場合だと
aws_security になります
下側に詳細がでるので
インバウンドタブをクリックし、編集をクリックします
ルールの追加画面になるので
ルールの追加をクリックし
タイプに HTTPS を選択して保存します
これで準備ができたので
wordpress の
ダッシュボードにアクセスすると警告がでてきます
これは認証局の証明書でないのが原因です
気にせず、危険性を理解した上で接続するには
をクリックし
例外を追加をクリックします
そしてセキュリティ例外を承認をクリックします
これで再度ダッシュボードにすることになりますが
https 接続になります