「WordPressのセキュリティ対策って何をやったらいいんだろう?」
「セキュリティ対策ってむずかしそうだな」
と頭の片隅の端っこのほうでお悩みでしょうか。
このページでは、最低限やっておいた方がよい「不正ログイン対策」をご紹介します。
「不正ログイン対策」は家に例えると、カギをディンプルキーに変えましょう、的な話です。
賃貸で部屋借りたら、ディンプルキーに変えますよね!?
WordPressも同じです。
ブログを公開したら、できれば早めにやっておきましょう。
ちなみに、このページで紹介している設定手順ではFTPは使いません(※重要)
つまり、「サーバー初心者」でもできます!
ので、ぜひ少しだけがんばって、やってみてくださいね。
なぜセキュリティ対策が必要なの?⇒WordPressのWebサイトはハッカーの攻撃対象になりやすいから!
このブログでも利用しているWordPress。
実は日本だけでなく世界中で使われていて、世界中のWebサイトのうち、実に34%のサイトがWordPressで作成されています。
参考URL:Usage Statistics and Market Share of Content Management Systems, June 2019
利用者が多い、ということは、それだけハッキングの対象になりやすい、ということ。
ブログ運営者が初心者だからといってハッカーは見逃してはくれませんから、最低限のセキュリティ対策は行なっておいたほうがよいですよね。
WordPress本体やプラグインのアップデートは必ず実施する
WordPress本体、テーマ、プラグイン、翻訳で、けっこうな頻度でアップデートが発生しています。
アップデートの内容は、セキュリティ対策だけでなく、機能追加などもありますが、アップデートの内容にかかわらず、常に最新版にアップデートするようにしましょう。
このページで紹介している対策のうち、継続して実施する必要があるのが、この「アップデート」作業です。
アップデート前の注意事項
アップデート中は、ブログサイトが一時的に「メンテナンスモード」になり、WordPress管理画面、ブログサイト共にアクセス(表示)できなくなります。
メンテナンスモード中にサイトにアクセスするとどうなるかというと、
「現在メンテナンス中のため、しばらくの間ご利用いただけません。」
と真っ白い画面(以下の画像のようなページ)で表示されます。
間違っても、アップデート中、WordPress管理画面で「F5」キーを押さない(ページ更新をしない)ようにしてください。
もし「F5」キーを押してしまうと、ログインしているWordPress管理画面が上記のような「真っ白い画面」になってしまい、更新作業もストップしてしまいます。
アップデート中に管理画面を真っ白にしてしまった場合の対処法
ホームディレクトリにある「.maintenance」というファイルを削除してください。
FTPでサーバーに接続するか、レンタルサーバーのファイルマネージャーなどでもアクセスできます。
※もしやらかしてしまった場合は、Twitterでご連絡いただければ、リカバー作業お手伝いいたします。(無料)
アップデート方法
WordPressの管理ページにログインします。
ダッシュボードの「更新」をクリックします。
WordPress本体のアップデート方法
WordPress本体のアップデートを行なうには、「今すぐ更新」をクリックします。
プラグインのアップデート方法
プラグインのアップデートは、アップデートするプラグイン横にチェックを入れて、「プラグインを更新」をクリックします。
テーマのアップデート方法
テーマのアップデートは、アップデートするテーマ横にチェックを入れて、「テーマを更新」をクリックします。
「WordPressの新しいバージョンがあります」という表示が消えない時の対処方法
WordPress本体を手動更新したのに「WordPressの新しいバージョンがあります」が消えない場合があります。
実際にはアップデートは完了しているので、そのままにしていてもOKなのですが、気になる方は「もう一度確認する」をクリックしてみてください。
WordPressのテーマやプラグインは公式のものを使う
公式テーマや公式プラグインは、WordPress運営組織に厳密な審査を受けており、審査をクリアーしたものだけが公式として利用できるようになっています。
その審査項目の中にはセキュリティに関するチェックもありますので、少なくとも現時点ではセキュリティホールが見つかっていない、悪意のあるプログラムが仕込まれていない、という保証になります。
以前、使っていた公式プラグインで、セキュリティに関する改善項目が修正されなかったために、公式プラグインから除外されてしまったという事がありました。
これはつまり、一度公式プラグインの審査を通った後も、定期的にチェックされているということです。
このことからも公式テーマ・プラグインを利用することは安心材料と言えます。
ユーザー名「admin」は削除する
「admin」「administrator」「root」といった名前のアカウントは絶対に利用しないでください。
なぜかというと、これらのユーザー名はWordPressに限らず、一般的にシステムの管理者をあらわすため、不正ログインのターゲットになりやすいのです。
ユーザー名は、WordPress管理画面のユーザー一覧ページで確認できます。
もしこれらのユーザー名がある場合は、別のユーザー名の管理者アカウントを作成した上で、必ず削除しましょう。
WordPressの管理者アカウントの新規作成手順
WordPress管理画面にログインします。
「ユーザー」の「新規追加」をクリックします。
ユーザー名、メールアドレスを入力し、ユーザーグループを管理者にして、「新規ユーザーを追加」をクリックします。
不要な管理者ユーザーの削除手順
新規作成した新しい管理者アカウントでログインしなおして、ユーザー名「admin」を削除します。
パスワードは複雑な文字列にする
ハッカーがサイトを攻撃(乗っ取り)しようとする時、一般的によく使われそうな文字列をパスワードとして不正ログインを大量に試みます。(この攻撃のことをブルートフォースアタックと言います)
そのため、簡単に推測できてしまう言葉、単純な単語、数字の羅列、自分のサイト名やサイトURLと同じ文字列、ユーザー名と同じ文字を使ったパスワードは危険です。
WordPressでは、ユーザー作成時に難解なパスワードを自動生成してくれるのでそれを使用するか、同じくらい難解なパスワードを作成して使いましょう。
WordPressのパスワードの変更方法
ユーザー一覧を表示して、パスワードを変更するユーザー名の「編集」をクリックします。
「パスワードを生成する」をクリックします。
パスワードをメモする、もしくは複雑なパスワードを入力して、「ユーザーを更新」をクリックします。
表示名を変更しておく
WordPressではブログ記事を投稿した投稿者の名前を表示する仕組みがあるのですが、WordPressをインストールしたままの状態だと、この投稿者の名前がログインで使用する「ユーザー名」となっています。
つまり、WordPress管理画面へログインするために必要となる情報「ユーザー名」と「パスワード」のうち、「ユーザー名」を公開してしまっている状況、になっています。
これは非常に危険な状況です。
そこで、サイトの表示される「表示名」を変更しておきます。
表示名の変更手順
WordPress管理画面にログインします。
「ユーザー」の「あなたのプロフィール」をクリックします
「ニックネーム(必須)」に、サイト上で表示したい名前を入力します。
「ブログ上の表示名」で、新しいニックネームを選択します。
「プロフィールを更新」ボタンをクリックします。
投稿者アーカイブが表示されないようにする
WordPressには「投稿者アーカイブページ」があります。
これは何かというと、WordPressでブログを書いた際のユーザー名ごとに、そのユーザー名で投稿した記事の一覧を表示するページです。
では、この何が危険なのかというと、その記事一覧ページのURLに「ユーザー名」が入っている、ということです。
つまり、ログインするために必要な情報「ユーザー名」を、インターネット上に公開してしまっている状態なんですね。
これは危険ですよね。
例えば試しに、以下のURLをブラウザでアクセスしてみてください。
https://サイトURL/?author=1
もしURLにユーザー名の入ったページが表示されてしまったら、要対策、です。
プラグイン「Edit Author Slug」を使った対策方法
公式プラグイン「Edit Author Slug」は、上記URLの「ユーザー名」の部分をカスタマイズできるプラグインです。
まず、WordPress管理画面から「Edit Author Slug」をインストールして有効化しましょう。
プラグインを有効化すると、自分のプロフィール画面の下の方に「Edit Author Slug」というエリアができてるはず。
ここでカスタム設定を選択して、表示させたい文字列を入力します。
※「ユーザー名」とは全く関係のない名前を入力してください。
入力したら「プロフィールを更新」ボタンをクリックします。
セキュリティプラグイン「SiteGuard WP Plugin」
「SiteGuard WP Plugin」は無料で使えるセキュリティプラグインです。(ユーザー登録的なものも一切不要です。)
この「SiteGuard WP Plugin」は有効化するだけでもかなりセキュリティが強化されますので、もし他にセキュリティ対策プラグインを使っていないようでしたら、ぜひインストールしましょう。
プラグインを有効化すると、管理画面の左メニューに「SiteGuard」というメニューが追加されます。
以下、ざっくり利用可能な機能を挙げていきます。
また、設定変更しておいた方がよい箇所も明示してありますので、項目の意味がよくわからない場合は、このとおり設定してみてください。
wp-adminフォルダへのアクセス制限
wp-adminフォルダへのアクセス制限とは
WordPress管理画面にログインしたことのないIPアドレスからのwp-adminフォルダへのアクセスを遮断します。
プラグインを有効化してもこの機能は無効になっているため、有効化(ON)にしておきましょう。
wp-adminフォルダへのアクセス制限の設定手順
「管理ページアクセス制限」をクリックします。
「ON」をクリックして、「変更を保存」をクリックします。
※「ON」が黒背景の白文字になっていたら「ON」が選択されています。(上の画像)
ログインページURL(wp-login.php)の変更
ログインページURL(wp-login.php)の変更とは
WordPress管理画面のログインページURLである「wp-login.php」を変更します。
ハッカーによる不正ログイン攻撃はwp-login.phpに対して行なうことが多いのですが、そのログインURL自体を変えることで、攻撃自体を受けにくくします。
プラグインを有効化するだけでURLは変更されますが、セキュリティをより強めるために設定変更しておきましょう。
ログインページURL(wp-login.php)の変更手順
「ログインページ変更」をクリックします。
「変更後のログインページ名」の欄が「login_11111」のように入っていると思いますので「login_11111」の部分をまるっと書き換えます。
※覚えやすい文字列でよいと思いますが、5桁の数字部分を変更するだけではなく、「login_」という部分も変更しましょう。
書き換えたら「変更を保存」をクリックします。
画像認証
画像認証とは
WordPress管理画面にログイン際に、ユーザー名とパスワードに加えて、画像認証(画像に表示された文字を入力)が利用できるようになります。
画像認証の文字として「ひらがな」が使えるので、海外からの不正ログインに効果を発揮します。
プラグインを有効化したらこの「ひらがな」画像認証が「ON」になるため設定変更は不要です。
ログイン失敗時のエラーメッセージの無効化
ログイン失敗時のエラーメッセージの無効化とは
WordPressにログインする際、ユーザー名とパスワードを入力しますが、実は、ユーザー名を間違えた時とパスワードを間違えた時で、表示されるエラーメッセージが異なります。
具体的には、
ユーザー名を間違えた時:「エラー: ユーザー名が無効です。」
パスワードを間違えた時:「エラー: ユーザー名 ホニャララ のパスワードが間違っています。」
画像認証を間違えた時 :「エラー: 画像認証が間違っています。」
といった感じです。
この状態だと、不正アタックで不正ログインをしようとしているハッカーに対して、ヒントを出している状態ですよね。
「エラーメッセージ詳細無効化」機能では、このエラーメッセージを全て同じ内容にしてくれます。
プラグイン有効化で機能がONになるため、設定変更は不要です。
ログインロック
ログインロックとは
指定した時間内に、指定した回数のログイン失敗をすると、指定した時間内のログイン入力を停止します。
ハッカーは通常、プログラムによって連続してログインを試すので、その対策となります。
プラグインを有効化した時点で「ON」になってはいますが、
設定変更して強度をあげておきましょう。
ログインロックの設定手順
「ログインロック」をクリックします。
「30秒」「3回」「5分」をそれぞれチェックしましょう。
この設定をすると、「30秒間」で「3回」パスワード入力をミスしたら、その後「5分」間はログイン入力ができなくなる、ということです。
「変更を保存」をクリックします。
ログイン通知メール
ログイン通知メールとは
WordPress管理画面に誰かがログインすると、「ログインがありました」メールがWordPress管理者に送信されます。
不正ログインを気づきやすくするための機能です。
プラグイン有効化で機能ONになります。
フェールワンス機能
フェールワンス機能とは
正しいユーザ名と正しいパスワードを入力しても、1回目はログインに失敗する機能です。
つまり、2回続けて正しい情報でログインしないとログインできない、ということになるので、不正アタックには非常に効果があります。
プラグインを有効化してもこの機能は無効になっています。
毎回2回入力するのが億劫なので私は「OFF」のままです。
XMLRPCを無効にする
XMLRPCとは
XMLRPCとは、ざっくりいうと、「ログイン画面以外の方法でWordPressにログインする方法」です。
プログラムを使って記事投稿したり、スマホなどのアプリで記事投稿したりする場合に、このXMLRPCを使っている場合があります。
普段パソコンから、WordPressの管理画面にログインして記事投稿などしている場合は、XMLRPCを無効にしても問題ないと思いますので、無効にしておきましょう。
もし、よくわからない場合は一旦XMLRPCを無効にしてみて、記事投稿などに不具合が出た場合に、再度XMLRPCを有効化してもよいと思います。
プラグイン有効化で無効化OFFのままなので、設定変更しましょう。
XMLRPCを無効化する手順
「XMLRPC防御」をクリックします。
「XMLRPC無効」にチェックを入れて「変更を保存」しましょう。
ログイン履歴のログ取得
ログイン失敗も含めたログイン履歴が閲覧できます。
日時、結果(成功・失敗・ロック・フェールワンス)、ログイン名(入力されたユーザーID)、タイプ(ログインページ・XMLRPC)などを見ることができます。
もし不正アタックがあった場合、ここにログインしようとしたログが表示されます。
「SiteGuard WP Plugin」に関する解説は以上です。
wp-adminフォルダにベーシック認証を付ける
ベーシック認証とは
ベーシック認証は、WordPressのユーザー名・パスワードとは別に、ログインIDとパスワードの認証を付けるための仕組みです。
ベーシック認証を設定していると、WordPressの管理画面(ログイン画面)にアクセスした際に、以下のような認証画面が表示されます。
この認証画面で、あらかじめサーバー上に設定しておいたログインID(ユーザー名)とパスワードを入力すると、管理画面が表示されます。
ベーシック認証のログインIDとパスワードの組合せを設定する場所は、WordPressではなくレンタルサーバーなのですが、エックスサーバーの場合、Chromeでアクセスできる「サーバーパネル」の画面で設定できます。
wp-adminフォルダにベーシック認証を付ける手順(エックスサーバー)
ブラウザでエックスサーバーの「サーバーパネル」にログインします。(インフォパネルではありません。)
「アクセス制限」をクリックします。
ベーシック認証を付けたいドメインの「選択する」をクリックします。
wp-adminの右にある「ユーザー設定」をクリックします。
ベーシック認証で使用する「ユーザー名」「パスワード」を入力して、「確認画面へ進む」をクリックします。
入力確認画面が表示されるので「追加する」をクリックします。
「フォルダ一覧に戻る」をクリックします。
wp-adminの右にあるアクセス制限欄で「ON」をチェックして、「設定する」をクリックします。
これでベーシック認証の設定が完了です。
まとめ
いかかでしたでしょうか?
分量は多く見えますが、ひとつずつはどれもそれほど時間のかかるものではありません。
しかも、「WordPressアップデート」以外は一度設定しておけばよいので、ぜひ時間を見つけて少しずつでもやってみてくださいね。
コメント