WordPress脆弱性・改ざん対策 − 10.暗号化(SSL)導入で注意するポイント

WordPress脆弱性・改ざん対策 − 10.暗号化(SSL)導入で注意するポイント

▲10回シリーズの目次へ戻る

こんにちは宮川(@miyakawa2449)です。

10回に分けてWordPressの脆弱性・改ざん対策を記事にしています。

前回は「9.バックアップからの復元方法」のお話でした。

今回はSSLを使った接続方法を説明します。

10.暗号化(SSL)導入で注意するポイント

■httpsとSSLとGoogle

URLの先頭につく記号として「http」「https」の2種類がよく見受けられます。

「http」は暗号化が行われておらず、「https」はSSLによって暗号化されているWEBサイトであるという証明です。

SSLのWEBサイトでは次の3つの安全性が証明されています。

  • 通信内容を秘匿する暗号化
  • 通信データが改ざんされていないか検知する機能
  • 通信相手の真正性

GoogleはSSL化されていない非SSLサイトを警告します

Googleは4年ほど前からSSL化されていないサイトにSSLの準備をするようにアナウンスを行ってきていました。

  • 検索結果の表示順にSSLサイトを優先する
  • 入力フォームのあるサイトでSSLが導入されていなかったら警告するなど

現在SSL化されていないサイトについては「保護されていない」という警告をChrome68から表示するようになりました。

世の中のWEBサイトはSSLで保護されているべきというGoogleのポリシーによるものです。

非SSLサイト再現例
SSL化されていないサイトをChrome68以降で表示した例を再現しました。
SSL有効の状態
SSLが有効の状態を表しています。

 

■SSL契約をしてください

WEBサイトをSSL化するには、SSL契約を結ぶ必要があります。

ご利用のレンタルサーバーやVPSのプロバイダーではSSLの申し込みオプションなどがあるはずです。

各プロバイダーに問い合わせてSSL契約を結びましょう。

 

最近は「Let’s Encrypt」と呼ばれる無料のSSL証明書が広く導入されています。

ご利用のプロバイダーでも無料の証明書は「Let’s Encrypt」が導入されている場合がほとんどです。

SSLを導入される場合はプロバイダーにお確かめください。

引用:Let’s Encrypt 総合ポータル
Let’s Encrypt について

Let’s Encrypt は、認証局(CA)として「SSL/TLSサーバ証明書」を無料で発行するとともに、証明書の発行・インストール・更新のプロセスを自動化することにより、TLS や HTTPS(TLSプロトコルによって提供されるセキュアな接続の上でのHTTP通信)を普及させることを目的としているプロジェクトです。2016年4月12日 に正式サービスが開始されました。

非営利団体の ISRG (Internet Security Research Group) が運営しており、シスコ(Cisco Systems)、Akamai、電子フロンティア財団(Electronic Frontier Foundation)、モジラ財団(Mozilla Foundation)などの大手企業・団体が、ISRG のスポンサーとして Let’s Encrypt を支援しています。

■WordPressの設定

SSL契約が完了したらWordPressのSSL対応をおこないます。

「設定」−「一般」から2種類のURLを「https」に変更してください

設定表示例
2つのURL欄を「https」から始めるURLに書き換えます。
※WordPressURLは一部白で隠しています。

 

WordPressを動作テストします

上記設定後、表示テストをおこないエラーがなければWordPress側の設定は完了です。

アドレスバーに「鍵」のマークが表示されていない場合は、テーマやプラグインがSSLに対応していないケースがあります。

テーマやプラグインのファイル内に「http://」の記述があると思われますので、「https://」になるように記述を修正してください。

■httpからhttpsへのリダイレクト設定

SSL対応を行ったサイトには2種類のURLが存在することになります。

「http://example.com」と「https://example.com」の2つです。

現状ではどちらのURLもアクセスすることが可能です。

このまま2つのURLを有効のままにすると、物理的に2つのサイトが存在し続けます。
同じ内容のサイトが2種類同時に存在することはSEO的にNGです。

それを回避するために「http://example.com」にアクセスが生じた際に「https://example.com」へ自動転送できるようにする設定をおこないます。
この自動転送をリダイレクトといいます。

設定方法は2種類あります。
都合に合わせて1番、2番のどちらかを設定してください。

【1】新規でWordPressを構築した場合

下記の内容を .htaccessに書き加えます。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

 

【2】以前からWordPressを運用しており、URL評価を継続させたい場合

下記の内容を .htaccessに書き加えます。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

参考にしたサイト
.htaccess の書き方(リダイレクト編)- Qiita

「http://example.com」にアクセスした後、「https://example.com」に自動転送されていればリダイレクト設定は完了です。

お疲れ様でした。

最後に

「https」が当たり前の時代になりました。

これからのサイト運営はWordPressに限らず、「https」が必須になります。

古くからサイトを運用していると、「https」を前提に設計されておらず技術的に難しい場合もあるかもしれません。どこかに「http」のURLが残っている恐れがあります。
慌てず調整してください。

 

ここまでWordPress初心者をターゲットに、セキュリティの話を10回にわたり行ってきました。

素人が迂闊に手を出すと痛い目にあうと思いますので、警告する意味で記事を書いてきました。

そのため詳しすぎる説明は敢えておこなってきていません。

また、このシリーズではできるだけプラグインに頼らない設定方法にこだわってきました。

WordPressプラグインに頼れば簡単にできるセキュリティー対策もありますが、プラグインは万能ではりません。
プラグインにセキュリティーホールがあれば対応が後手に回ってしまいます。

この機会にWEBの仕組み、サーバーの仕組みなどもぜひ勉強してみてください。

 

以上、「10.SSL の導入。それに伴うリダイレクト設定と、WordPress の設定変更など。」および、「WordPressのセキュリティで最低限必要な10のこと」でした。

最後までお読みいただきありがとうございました。

宮川(@miyakawa2449)でした。

それではまた〜♪

▲10回シリーズの目次へ戻る