皆様、こんにちは。
今回の投稿は、「WordPress」というコンテンツマネジメントシステムのセキュリティ対策に関する投稿となります。
それでは今回の投稿にまいりましょう。
【スポンサーリンク】
はじめに
【目次】
さて改めまして今回の投稿は、「WordPress」というコンテンツマネジメントシステムのセキュリティ対策に関する投稿になります。
2016年8月に当ブログが「はてなブログ」から「WordPress」というコンテンツマネジメントシステムに移行してより、早くも半年という時間が経過しました。
そしてコンテンツマネジメントシステムと呼ばれるWebサイトを構築するためのツールに関しては、インターネット上にいくつか存在するようですが、その中でも「WordPress」は圧倒的なシェア率を有するコンテンツマネジメントシステムです。
しかしながら「WordPress」を利用するユーザーが多いということは、インターネット上で「WordPress」によって構築されるWebサイトが、悪意ある第三者から狙われやすいというセキュリティリスクを抱えているといえるでしょう。
そして実際に2017年2月になってから、以下のような「WordPress」の脆弱性に関する注意喚起がインターネット上で告知されています。
<WordPress 4.7.1 の権限昇格脆弱性について検証した>
1、URL
・WordPress 4.7.1 の権限昇格脆弱性について検証した
こちらの記事は、ITセキュリティの専門家である徳丸浩さんという方が、「WordPress」の「4.7.0」及び「4.7.1」というバージョンに存在する「Rest API」と呼ばれる機能に対する脆弱性について検証した記事になります。
そしてこの記事では、「WordPress」の「4.7.0」及び「4.7.1」というバージョンを使用して構築されたWebサイトについて、ある種のリクエストコードをWebサイトに送信することにより、Webサイトのコンテンツを容易に改ざんできることが詳細に記載されています。
またこのように脆弱性を悪用されるリスクの高い「WordPress」ですが、もちろん当ブログにおいても、「WordPress」によってWebサイトを構築しているために、決して他人事ではありません。
しかしながら一方、「WordPress」のセキュリティ対策については、基本的なセキュリティ対策から専門的なセキュリティ対策まで、実に幅広い項目におけるセキュリティ対策が存在するようです。
そして当ブログ管理人は、残念ながら「WordPress」の初心者であるために、「WordPress」における全てのセキュリティ対策を把握することはとても困難といえます。
また「WordPress」を利用するユーザー自身が理解できないセキュリティ対策を実行することについても、それがどの程度のセキュリティ対策になるのかということも疑問に思います。
そこで当ブログ管理人のような「WordPress」の初心者においても実行できる基本的なセキュリティ対策を考えたところ、以下の三種類の「WordPress」における基本的なセキュリティ対策が挙げられます。
<「WordPress」の基本的なセキュリティ対策>
1、「WordPress」本体及びプラグインの脆弱性対策
2、「WordPress」の不正ログイン対策
3、「WordPress」のバックアップ対策
以上が当ブログ管理人が考える「WordPress」の基本的なセキュリティ対策になります。
そこで今回の投稿では、「WordPress」の基本的なセキュリティ対策を実行する手順について、記事を記載してまいりたいと思います。
それでは本題に入りましょう。
【スポンサーリンク】
「WordPress」本体及びプラグインの脆弱性対策
1、【「WordPress」本体及びプラグインを更新する】
それでは初めに「WordPress」の基本的なセキュリティ対策として「WordPress」本体及びプラグインの脆弱性対策について記載いたします。
まずは「WordPress」本体及びプラグインを更新する手順について記載します。
例えば当記事を参照される皆様が「Windows OS」を使用する場合は、毎月に一度は「Windows Update」を介して更新プログラムの配布ということが行われます。
そして「Windows Update」を介して配布される更新プログラムの中には、「Windows OS」に発見された脆弱性を修正することを目的とするセキュリティ更新プログラムが含まれています。
また「Windows OS」の脆弱性が発見された場合は、「Windows OS」の脆弱性が発見された機能等を無効にすること、または「EMET(Enhanced Mitigation Experience Toolkit)」のような脆弱性緩和ツールを使用することにより、「Windows OS」に発見された脆弱性を悪用されないようにするというセキュリティ対策がありますが、「Windows OS」に発見された脆弱性に対する最大のセキュリティ対策は、やはり「Windows OS」に発見された脆弱性を修正する更新プログラムを適用することになるわけです。
そして上記に記載することは、「WordPress」の脆弱性対策に対しても、同様のことをいえます。
そこで「WordPress」の脆弱性対策として「WordPress」本体及びプラグインを更新する手順を記載していきます。
まずはお使いの「WordPress」の管理画面にログインしてください。
次にお使いの「WordPress」本体及びプラグインに更新が存在する場合は、「WordPress」の管理パネルの更新及びプラグインという項目に数字が表示されます。
そこで「WordPress」の管理パネルの更新という項目をクリックしてください。
次に「Wordpressの新しいバージョンがあります」という欄から、「WordPress」のバージョンに「ja」と表示された項目でいますぐ更新という項目をクリックして、「WordPress」本体の更新を開始します。
<ワンポイントアドバイス>
「WordPress」本体の更新には、メジャーアップデート及びマイナーアップデートという2種類の更新方法が存在します。
そして「WordPress」本体のマイナーアップデートに関しては、「WordPress」の既定値で自動更新されるように設定されています。
また「WordPress」本体のメジャーアップデートについては、基本的に「WordPress」を利用するユーザーの手動更新になりますが、「WordPress」本体のメジャーアップデートを実行する場合は、お使いの「WordPress」で使用するプラグインを全て無効にしてから、「WordPress」本体のメジャーアップデートを実行することにより、「WordPress」本体のメジャーアップデートに伴う不具合を軽減させることができます。
そこでまずは、お使いの「WordPress」の管理画面を参照してから、管理パネルのプラグインという項目をクリックしてください。
次にプラグインという項目にチェックをれてから、赤線項目で停止という項目を指定して、さらに適用という項目をクリックします。
以上で「WordPress」で使用するプラグインを停止することができました。
以上で「WordPress」本体を更新することができました。
次に「WordPress」の管理パネルのダッシュボード→更新という項目順にクリックします。
次にプラグインという欄ですべて選択という項目にチェックを入れてから、プラグインを更新という項目をクリックして、「WordPress」で使用するプラグインの更新を開始してください。
次に「WordPressの更新ページへ戻る」という項目をクリックします。
以上で「WordPress」で使用するプラグインを更新することができました。
なお「WordPress」の更新画面では、テーマという欄で「WordPress」の公式サイトから配布されているテーマを更新することができることも覚えておいてください。
「WordPress」本体及びプラグインを更新する手順に関する記載は以上です。
2、【「WordPress」のバージョンの表記を非表示にする】
それでは次に「WordPress」のバージョンの表記を非表示にする手順について記載いたします。
「WordPress」によって構築されるWebサイトでは、Webサイトの構築に利用されている「WordPress」のバージョンにより、以下のようにWebサイトのソースコードに「WordPress」のバージョンが表示されることがあります。
<「WordPress」のバージョン>
1、「WordPress」のバージョン表示例1
<meta name="generator" content="WordPress 4.7.2" />
2、「WordPress」のバージョン表示例2
<script type='text/javascript' src='https://www.japan-secure.com/wp-content/plugins/googlecards/js/googleCards.min.js?ver=4.7.2'></script>
しかしながら、このようにWebサイトのソースコードに「WordPress」のバージョンが表示されることは、インターネット上の悪意ある第三者に対して、Webサイトの構築に利用されている「WordPress」のバージョンを知られることになります。
特にWebサイトの構築に「WordPress」本体の脆弱性を有するバージョンを利用していた場合は、インターネット上の悪意ある第三者に「WordPress」のバージョンを知られることにより、「WordPress」本体の脆弱性を悪用されることになりかねません。
そのためWebサイトのソースコードに「WordPress」のバージョンが表示されないように設定します。
そこでまずは、以下のサイト様によるWordPressのバージョン情報を消す方法という過去記事を参照してください。
<WordPressのバージョン情報を消す方法>
1、URL
2、WordPressのバージョン情報を消すコード
// WordPressバージョン情報を消すコード remove_action('wp_head','wp_generator'); // プラグインのバージョン情報を消すコード function remove_cssjs_ver2( $src ) { if ( strpos( $src, 'ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'remove_cssjs_ver2', 9999 ); add_filter( 'script_loader_src', 'remove_cssjs_ver2', 9999 );
次に上記の「WordPressのバージョン情報を消すコード」という項目に記載するコードについて、お使いの「WordPress」のテーマの「functions.php」というファイルに記述します。
<注意事項>
お使いの「WordPress」のテーマの「functions.php」というファイルの編集に失敗すると、最悪なケースでは、「WordPress」によって構築されたWebサイトが正常に表示されなくなる場合があります。
そのため、お使いの「WordPress」のテーマの「functions.php」というファイルに「WordPressのバージョン情報を消すコード」という項目に記載するコードを記載する場合は、必ず事前に「functions.php」というファイルをバックアップしてから、「WordPressのバージョン情報を消すコード」という項目に記載するコードを記述するようにしてください。
以上で「WordPress」のバージョンの表記を非表示にすることができました。
「WordPress」本体及びプラグインの脆弱性対策に関する記載は以上です。
「WordPress」の不正ログイン対策
1、【「WordPress」のユーザー名の表記を変更にする】
それでは次に「WordPress」の基本的なセキュリティ対策として「WordPress」の不正ログイン対策について記載いたします。
まずは「WordPress」のユーザー名の表記を変更にする手順について記載します。
「WordPress」によって構築されたWebサイトに関しては、「WordPress」が初期設定の状態でWebサイトを運営する場合に、以下のようにWebサイトにログインする際のユーザー名が個別記事に表示されるという問題があります。
<Webサイトにログインする際のユーザー名>
そしてこのようにWebサイトにログインする際のユーザー名が個別記事に表示される状態では、悪意ある第三者にWebサイトにログインする際のユーザー名を把握されてしまうという危険性があるわけです。
また同様に「WordPress」が初期設定の状態でWebサイトを運営する場合には、「WordPress」によって構築されたWebサイトから、Webブラウザのアドレス欄に「http://Webサイトアドレス/?author=1」と入力することにより、WebサイトアドレスにWebサイトにログインする際のユーザー名が表記されてしまうのです。
そこでWebサイトの個別記事に表示されるユーザー名を任意のニックネームに変更するために「WordPress」が初期設定を変更してから、同様にWebサイトアドレスに表示されるユーザー名を任意のニックネームに変更するために、「WordPress」の「Edit Author Slug」というプラグインを導入します。
なおWebサイトの個別記事に表示されるユーザー名を任意のニックネームに変更する手順及びWebサイトアドレスに表示されるユーザー名を任意のニックネームに変更する手順に関する詳細を把握する場合は、すでに当ブログにおける以前の投稿で詳細を記載しているために、以下の「Edit Author Slug」のインストール方法及び設定方法に関する過去記事を参照してください。
<「Edit Author Slug」のインストール方法及び設定方法について>
1、URL
・「Edit Author Slug」のインストール方法及び設定方法について
「WordPress」のユーザー名の表記を変更にする手順に関する記載は以上です。
2、【ログインパスワードを変更する】
それでは次に「WordPress」のログインパスワードを変更する手順について記載いたします。
「WordPress」の不正ログイン対策に関しては、「WordPress」のログインパスワードを強力なパスワードに変更することが「WordPress」の重要なセキュリティ対策になります。
特に「WordPress」の不正ログインに利用される攻撃手法としては、「ブルートフォースアタック(総当たり攻撃)」と呼ばれるパスワードの文字列の組み合わせを総当たりで試行するという攻撃が存在しており、「WordPress」のログインパスワードの文字数が少なく弱い場合には、最悪なケースとして悪意ある第三者に「WordPress」のログインパスワードを取得されてしまう危険性があります。
そして「WordPress」のログインパスワードを強力なパスワードに変更するということについて、具体的にどの程度のパスワードの文字数及び組み合わせが必要かということに関しては、以下のサイト様による「WordPress」のログインパスワードに関する検証記事を参照してください。
<パスワードの文字数は?ブルートフォースアタックの対策あり>
1、URL
このように上記サイト様の「WordPress」のログインパスワードに関する検証記事においては、「WordPress」のログインパスワードの組み合わせとして、英数字及び記号を混合させた14文字以上のパスワードの組み合わせが推奨されると記載されています。
そして「WordPress」のログインパスワードを生成する場合は、「WordPress」の標準機能で実装されているパスワードの生成機能を利用することにより、英数字及び記号を混合させた14文字以上のパスワードの組み合わせとなるログインパスワードを生成することができます。
そこで実際に「WordPress」の標準機能で実装されているパスワードの生成機能を利用してから、「WordPress」のログインパスワードを生成していきます。
まずはお使いの「WordPress」にログインしてください。
次に管理パネルのユーザー→あなたのプロフィールという項目順にクリックします。
次に画面を下にスクロールしてから、新しいパスワードという欄でパスワードを生成するという項目をクリックしてください。
次に新しいパスワードという欄に表示されているパスワードのバックアップを取得してから、プロフィールを更新という項目をクリックします。
<ワンポイントアドバイス>
「WordPress」のログインパスワードを生成する場合は、以下のように「WordPress」を利用するユーザーの個人情報等をパスワードに設定しないように注意してください。
以上で「WordPress」のログインパスワードを変更することができました。
「WordPress」のログインパスワードを変更する手順に関する記載は以上です。
3、【セキュリティプラグインを導入する】
1、【インストール】
それでは次に「WordPress」のセキュリティプラグインを導入する手順について記載いたします。
まずは「WordPress」のセキュリティプラグインをインストールする手順について記載します。
「WordPress」の不正ログイン対策に関しては、お使いの「WordPress」の不正ログイン対策に重点を置くセキュリティプラグインを導入することが「WordPress」の重要なセキュリティ対策になります。
例えば「WordPress」の不正ログイン対策について、以下のような「WordPress」の不正ログイン対策に関するセキュリティ項目が有効と考えられます。
<「WordPress」の不正ログイン対策に関するセキュリティ項目>
1、「WordPress」のログインページのアドレスを変更する
2、「WordPress」のログインページに画像認証を設置する
3、「WordPress」のログインページでログインに失敗した場合のエラーメッセージを統一化する
4、「WordPress」のログインページのログイン履歴を記録する
5、「WordPress」のログインページでログインが見受けられた場合に通知を表示する
そして今回の投稿で記載する「WordPress」のセキュリティプラグインに関しては、上記の「WordPress」の不正ログイン対策に関するセキュリティ項目を網羅することができる「SiteGuard WP Plugin」というセキュリティプラグインになります。
そこで実際に、お使いの「WordPress」に「SiteGuard WP Plugin」というセキュリティプラグインを導入してきます。
まずはお使いの「WordPress」にログインしてください。
次に管理パネルのプラグイン→新規追加という項目順にクリックします。
次に画面右上の検索欄に以下の文字列を入力してから、「SiteGuard WP Plugin」の項目に表示されるインストールという項目をクリックしてください。
次に有効化という項目順にクリックします。
以上で「SiteGuard WP Plugin」というセキュリティプラグインをインストールすることができました。
「SiteGuard WP Plugin」というセキュリティプラグインをインストールする手順に関する記載は以上です。
2、<設定>
それでは次に「SiteGuard WP Plugin」というセキュリティプラグインを設定する手順について記載いたします。
まずはお使いの「WordPress」にログインしてください。
次に管理パネルのSiteGuardという項目をクリックします。
次に「SiteGuard WP Plugin」のダッシュボードという画面が表示されます。
そこで管理パネルのログインページ変更という項目をクリックしてください。
次に「SiteGuard WP Plugin」のログインページ変更に関する画面が表示されます。
そして「SiteGuard WP Plugin」のログインページ変更に関する画面については、お使いの「WordPress」の「htaccess」というファイルを使用してから、「WordPress」のログインページのアドレスを変更することにより、「WordPress」によって構築されたWebサイトに対する不正ログインを防止するという対策になります。
そこで変更後のログインページ名という欄に任意の文字列を入力してから、変更を保存という項目をクリックしてください。
なお変更後のログインページ名という欄に入力した任意の文字列に関しては、変更した「WordPress」のログインページのアドレスを忘れないために、必ずバックアップしておくことをお勧めします。
次に管理パネルの画像認証という項目をクリックしてください。
次に「SiteGuard WP Plugin」の画像認証に関する画面が表示されます。
そして「SiteGuard WP Plugin」の画像認証に関する画面については、「WordPress」のログインページに画像認証を追加することにより、「WordPress」によって構築されたWebサイトに対する不正ログインを防止するという対策になります。
そこで「SiteGuard WP Plugin」の画像認証に関する画面に表示されている設定項目に関しては、既定値の設定で問題はありませんが、必ず「SiteGuard WP Plugin」の画像認証の項目が有効になっていることを確認してください。
次に管理パネルのログイン詳細エラーメッセージの無効化という項目をクリックします。
次に「SiteGuard WP Plugin」のログイン詳細エラーメッセージの無効化に関する画面が表示されます。
そして「SiteGuard WP Plugin」のログイン詳細エラーメッセージの無効化に関する画面については、「WordPress」のログインページに表示されるエラーメッセージを同一の内容にすることにより、「WordPress」によって構築されたWebサイトに対する不正ログインを防止するという対策になります。
そこで「SiteGuard WP Plugin」のログイン詳細エラーメッセージの無効化に関する画面に表示されている設定項目に関しては、特に設定項目がありませんが、必ず「SiteGuard WP Plugin」のログイン詳細エラーメッセージの無効化の項目が有効になっていることを確認してください。
次に管理パネルのログインロックという項目をクリックします。
次に「SiteGuard WP Plugin」のログインロックに関する画面が表示されます。
そして「SiteGuard WP Plugin」のログインロックに関する画面については、「WordPress」のログインページにログイン試行回数を制限することにより、「WordPress」によって構築されたWebサイトに対する不正ログインを防止するという対策になります。
そこで「SiteGuard WP Plugin」のログインロックに関する画面に表示されている設定項目に関しては、既定値の設定で問題はありませんが、必ず「SiteGuard WP Plugin」のログインロックの項目が有効になっていることを確認してください。
次に管理パネルのログインアラートという項目をクリックします。
次に「SiteGuard WP Plugin」のログインアラートに関する画面が表示されます。
そして「SiteGuard WP Plugin」のログインアラートに関する画面については、「WordPress」のログインページにログインが見受けられた場合に、お使いの「WordPress」に登録されている電子メールアドレスに通知を送信するという対策になります。
そこで「SiteGuard WP Plugin」のログインアラートに関する画面に表示されている設定項目に関しては、既定値の設定で問題はありませんが、必ず「SiteGuard WP Plugin」のログインアラートの項目が有効になっていることを確認してください。
次に管理パネルのXMLRPC防御という項目をクリックします。
次に「SiteGuard WP Plugin」のXMLRPC防御に関する画面が表示されます。
そして「SiteGuard WP Plugin」のXMLRPC防御に関する画面については、「WordPress」のXMLRPC及びピンバックという機能を無効にすることにより、「WordPress」の各機能を悪用する攻撃からWebサイトを保護するという対策になります。
そこで「SiteGuard WP Plugin」のログインアラートに関する画面に表示されている設定項目に関しては、特に設定項目がありませんが、必ず「SiteGuard WP Plugin」のXMLRPC防御の項目が有効になっていることを確認してください。
次に管理パネルの更新通知という項目をクリックします。
次に「SiteGuard WP Plugin」の更新通知に関する画面が表示されます。
そして「SiteGuard WP Plugin」の更新通知に関する画面については、「WordPress」本体及びテーマ等に更新がある場合に、お使いの「WordPress」に登録されている電子メールアドレスに通知を送信するという対策になります。
そこで「SiteGuard WP Plugin」のログインアラートに関する画面に表示されている設定項目に関しては、既定値の設定で問題はありませんが、必ず「SiteGuard WP Plugin」の更新通知の項目が有効になっていることを確認してください。
次に管理パネルのログイン履歴という項目をクリックします。
次に「SiteGuard WP Plugin」のログイン履歴に関する画面が表示されます。
そこで「SiteGuard WP Plugin」のログイン履歴に関する画面については、お使いの「WordPress」の関するログイン履歴を参照することができるために、お使いの「WordPress」に不審なログイン履歴がないかということについて、定期的に確認してください。
以上で「SiteGuard WP Plugin」というセキュリティプラグインを設定することができました。
「WordPress」の不正ログイン対策に関する記載は以上です。
「WordPress」のバックアップ対策
それでは次に「WordPress」の基本的なセキュリティ対策として「WordPress」のバックアップ対策について記載いたします。
「WordPress」によって構築されたWebサイトに関しては、「WordPress」によって構築されたWebサイトが悪意ある第三者に不正改ざんされてから、Webサイトのソースコードに不正な「Javascript」のタグを設置される等のセキュリティリスクが存在することを注意しなければいけません。
そして一方「WordPress」のあらゆるセキュリティ対策を実行する場合においても、お使いの「WordPress」に対するセキュリティリスクを完全に無くすことはできないでしょう。
つまり、お使いの「WordPress」に基本的なセキュリティ対策を実行してから、それでもお使いの「WordPress」がセキュリティリスクに晒されることを想定して、万一の場合に「WordPress」によって構築されたWebサイトの環境をすぐに復旧できるバックアップという対策が必要になるわけです。
そして「WordPress」のバックアップ対策としては、「WordPress」によって構築されたWebサイトのコンテンツを保存するレンタルサーバーにバックアップ機能が実装されていることもありますが、基本的に「WordPress」のプラグインでバックアップを実行することが簡単ではないかといえます。
そこでお使いの「WordPress」によって構築されたWebサイトのバックアップを取得する手順に関する詳細を把握する場合は、以下の「ノートンブログ」さんによる「WordPress」によって構築されたWebサイトのバックアップを取得する手順に関する過去記事を参照してください。
<図解でわかるWordPressの全自動バックアップ方法>
1、URL
「WordPress」のバックアップ対策に関する記載は以上です。
あとがき
さて今回の投稿は以上となります。
今回の投稿で記載する記事以外の「WordPress」の使い方に関連する記事に興味がある方は、ぜひ一度以下の「WordPress」の使い方に関連する記事のまとめを参照してください。
<「WordPress」の使い方に関連する記事のまとめ>
1、URL
それでは以上です。