【必須】WordPressプラグインでセキュリティ対策する!

ワードプレス プラグイン - All In One WP Security & Firewall

サイバーセキュリティ.com の調査によると、高度なサイバー攻撃の発生頻度は 3 分に 1 回。

日本でも 10 秒に 1 人の割合で、サイバー攻撃の被害者になっています。

私のサイトでも、管理ログイン画面に、海外から明らかに不正なアクセスが、月に数百件はあります。

自分の大事なサイトを守るうえで、セキュリティ対策は必須!

ある日、ブラウザで自分のサイトにアクセスすると、そこには真っ白で何も表示されない!

そんな事にならないように、しっかりとセキュリティ対策を行いましょう。

スポンサーリンク

All In One WP Security の簡単な説明

多くの WordPress ユーザーが、セキュリティ関連プラグインをインストールします。

セキュリティに関するプラグインは、数多くありますが、70 万以上ダウンロードされている有名なプラグインが、この「All In One WP Security」。

さくらインターネットのレンタルサーバーでは、初期状態でインストールされているほど、信頼性の高いプラグインです。

しかし、この「All In One WP Security」は、設定項目などの表示が、すべて英語・・・

なので、ここでは、最低限必要な設定項目の内容と、設定方法を紹介します。

All In One WP Security & Firewall のインストール

ワードプレス プラグイン - All In One WP Security & firewall - インストール

インストールの方法は、他のプラグインと変わりません。

管理画面にログインし、「プラグイン – 新規追加」を選択します。

上の画像の赤枠部分に、「All In One WP Security & Firewall」と入力し、インストール。

インストールが完了したら「有効化」してください。

左メニューに、「WP Security」という項目が増えていると思います。

All In One WP Security & Firewall の設定

基本設定(Settings)

ワードプレス プラグイン - All In One WP Security & Firewall - 基本設定

「WP Security – Settings」を選択してください。

ここで、設定すべき項目は、「WP Version Info」だけです。

「Remove WP Generator Meta Info」にチェックを入れて、「Save Setting」ボタンを押してください。

これは、WordPress のバージョン情報を表示するかどうかの設定項目で、チェックすると非表示になります。

古いバージョンの WordPress を使っていた場合、バージョン情報を表示していると、ハッカーなどの攻撃対象になりやすいです。

ユーザーアカウント(User Accounts)関連の設定

ユーザーアカウントに関しては、特に何もする必要はありません。

ログイン(User Login)関連の設定

ログイン関連の設定は、必ずやった方が良いです!

ログイン禁止(Login Lockdown)の設定

  • Enable Login Lockdown Feature:チェックを入れる
  • Allow Unlock Requests:チェックを入れる
  • Max Login Attempts:3
  • Login Retry Time Period (min):5
  • Time Length of Lockout (min):60
  • Display Generic Error Message:チェックを入れる
  • Instantly Lockout Invalid Usernames:チェックを入れる
  • Instantly Lockout Specific Usernames:「administrator・admin・root・user」(下記、画像を参照)
  • Notify By Email:チェックを入れ、連絡用メールアドレスを入力
All In One WP Security & Firewall - ログイン禁止 ユーザー名
ログイン禁止(Login Lockdown)の各項目内容

Enable Login Lockdown Feature:
ログイン禁止機能の有効・無効(チェックで有効)
Allow Unlock Requests:
ログイン禁止を外すリクエスト出来る(チェックで有効)
Max Login Attempts:
何回ログインに失敗するとログインを禁止するか
Login Retry Time Period:
この時間内に、上で設定した回数失敗するとログイン禁止にするか
Time Length of Lockout:
この時間内に、上で設定した回数失敗するとログイン禁止にするか
Display Generic Error Message:
ログインに失敗した時に、通常のエラーメッセージを表示するか
Instantly Lockout Invalid Usernames:
下の項目に登録しているユーザー名でログインしようとすると、すぐログイン禁止にするか
Instantly Lockout Invalid Usernames:
すぐログイン禁止にするユーザー名(1 ユーザー名毎に改行)
Notify By Email:
誰かがログイン禁止になると、入力したメールアドレス宛にメールを送信するか

この設定だと

  • 5 分以内に、3 回間違うと 60 分間ログイン禁止
  • 「administrator・admin・root・user」いずれかの ID でログインしようとすると、即ログイン禁止
  • 誰かがログイン禁止になると、指定したメールアドレスへメールが来る

「Login Lockdown IP Whitelist」は、ログイン禁止にしない IP アドレスを指定するもので、何も対応しなくて良いです。

「Failed Login Records」は、ログインに失敗したユーザーの履歴が表示されます。

強制ログアウト(Force Logout)の設定

  • Enable Force WP User Logout:チェックを入れる
  • Logout the WP User After XX Minutes:60
強制ログアウト(Force Logout)の各項目内容

Enable Force WP User Logout:
強制ログアウト機能の有効・無効(チェックで有効)
Logout the WP User After XX Minutes:
何分間で強制ログアウトさせるか

「Account Activity Logs」は、ログインに成功したユーザーの履歴が表示されます。

「Logged In Users」は、現在、ログイン中のユーザーが表示されます。

ユーザー登録(User Registration)関連の設定

手動承認(Manual Approval)の設定

  • Enable manual approval of new registrations:チェックを入れる
手動承認(Manual Approval)の各項目内容

Enable manual approval of new registrations:
登録フォームからアカウントを作成できるようにしている場合に、手動で各登録を承認するかどうか

「Registration Captcha」は、アカウント登録ページにキャプチャフォームを追加するかという設定です。

「Registration Honeypot」は、アカウント登録ページに、「ハニーポット」と呼ばれる特別な隠れたフィールドを追加するかという設定です。

私は、アカウント登録させないので、両方ともチェックしていません。

データベース(Database Security)関連の設定

WordPress の初期インストール時は、「wp_xxxxx」のような名前で、テーブル名が付けられています

このままだと、サイト攻撃者に簡単に分かってしまうので、セキュリティ的に問題があります。

なので、「Generate New DB Table Prefix」にチェックを入れて、「Change DB Prefix」ボタンを押して、変更してください。

これは、必ずやった方が良いです!

「DB Backup」は、名前の通り、データベースのバックアップを行う者ですが、他のバックアップ専用のプラグインを使う事をおすすめします。

おすすめは、「UpdraftPlus WordPress Backup Plugin」です。

【超簡単】WordPressを自動でバックアップする方法!
いぬ先生 ひよこくん、WordPress は、今どれくらい使われているか知っているかい? ひよこくん 「Web 上の 30% 以上のサイトで、使われている...

ファイル(Filesystem Security)関連の設定

「File Permissions」は、ファイルのアクセス権限を設定します。

「No Action Required」なら問題ありませんが、「Set Recommended Permissions」というボタンが表示されている場合は、全て、押していた方が良いです。

「PHP File Editing」は、ワードプレスの管理画面から PHP ファイルを編集できるようにするかという設定です。

ワードプレスの管理画面以外から、ファイルの編集が出来る方は、チェックしておいた方が良いです。

「WP File Access」は、readme.html、license.txt、wp-config-sample.php などのファイルへのアクセスを禁止することができます。

何も考えずに、チェックしておきましょう。

「Host System Logs」は、エラーが発生した時に、出力ファイル名なので、特に気にしなくて大丈夫です。

WHOIS Lookup

WHOIS(フーイズ)とは、インターネット上でのドメイン名・IPアドレス・Autonomous System (AS) 番号の所有者を検索するためのプロトコルである。

データベース検索を用い、TCPベースでクエリ(質問)・レスポンス(応答)を行う。

引用:WHOIS – ウィキペディア

何かよく分かりませんね。

WHOIS API を使って、IP アドレス・ドメインに関する詳細情報を取得できる機能なのですが、気にしなくていいです。

IP 制限(Blacklist Manager)関連の設定

特定の IP や、海外からのアクセスを制限する時に使います。
特に、気にしなくても良いです。

ファイアウォール(Firewall)関連の設定

ファイアウォール(Basic Firewall Rules)の基本設定

  • Enable Basic Firewall Protection:チェックを入れる
  • Completely Block Access To XMLRPC:チェックを入れる
  • Disable Pingback Functionality From XMLRPC:チェック無し
  • Block Access to debug.log File:チェックを入れる
ファイアウォール(Basic Firewall Rules)の各項目内容

Enable Basic Firewall Protection:
ファイアウォール機能の有効・無効(チェックで有効)
Completely Block Access To XMLRPC:
外部投稿機能を使ってない場合は、チェック
Disable Pingback Functionality From XMLRPC:
外部投稿機能を使っている場合は、チェック
Block Access to debug.log File:
デバッグログにアクセスさせるかどうかの設定(チェックで、アクセスさせない)

他の項目は、特に設定する必要はありません。

ブルートフォース(Brute Force)関連の設定

総当たり攻撃(そうあたりこうげき)とは、暗号解読方法のひとつで、可能な組合せを全て試すやり方。

力任せ攻撃、または片仮名でブルートフォースアタック(英: Brute-force attack)とも呼ばれる。

引用:総当たり攻撃 – ウィキペディア

簡単にいうと、考えられる全ての ID や、パスワードを自動化されたプログラムによってひたすら入力し、解読・解析するための手法です。

サイトを乗っ取られないためにも、必ず設定しておきましょう!

管理画面ログインページ(Rename Login Page Setting)の設定

  • Enable Rename Login Page Feature:チェックを入れる
  • Login Page URL:任意文字列
管理画面ログインページ(Rename Login Page Setting)の各項目内容

Enable Rename Login Page Feature:
管理画面ログインページの URL を変更する場合は、チェック
Login Page URL:
通常、管理画面のログインページの URL は「https://xxx/wp-admin/login.php」
これだと、セキュリティ的に問題があるため、自由に変更できます。

他の項目は、特に設定する必要はありません。

SPAMコメント(SPAM Prevention)関連の設定

特に設定する必要はありません。

ファイル変更検出(Scanner)関連の設定

ファイル変更検出(File Change Detection)設定

  • Enable Automated File Change Detection Scan:チェックを入れる
  • Scan Time Interval:1 days
  • File Types To Ignore:jpeg・jpg・png・gif・css・scss・map・po・mo
  • Files/Directories To Ignore:未入力
  • Send Email When Change Detected:チェックし、メールアドレスを設定
ファイル変更検出(File Change Detection)の各項目内容

Enable Automated File Change Detection Scan:
ファイル変更検出機能の有効・無効(チェックで有効)
Scan Time Interval:
どれくらいの頻度でスキャンするか
File Types To Ignore:
ファイル変更検出しないファイルタイプの指定
Files/Directories To Ignore:
ファイル変更検出しないディレクトリの指定
Send Email When Change Detected:
変更があった場合に、メールを送信するかの設定、送信先メールアドレスの設定

メンテナンスモード(Maintenance)関連の設定

特に設定する必要はありません。

その他(Miscellaneous)の設定

「Copy Protection – Enable Copy Protection」は、記事内容をコピーさせないようにする設定です。

「Frames – Enable iFrame Protection」は、他のサイトにフレームや iframe 経由でコンテンツが表示されないようにすることができる設定です。

「Users Enumeration – Disable Users Enumeration」「WP REST API – Disallow Unauthorized REST Requests」は、特に設定する必要はありません。

最後に

ここで紹介した内容は、あくまで、私がベストだと思う設定です。

WordPress は、機能が豊富なので、使い方によっては、設定を変える必要もあると思います。

WordPress.ORG (日本公式)では、「WordPress は、世界中の Web サイトの約 31% 、6,000 万人以上の人々が WordPressを使っている」と紹介しています。

しかし、使われている数が多ければ多い程、不正アクセスによるハッキングやサイト改ざんなど、不正攻撃を受けるリスクが高くなってしまいます。

Web サイトを運用する時に、セキュリティは、非常に大事です。

時間をかけて作ったサイトを守る為に、しっかりと設定しておきましょう。

サイトがハッキングされた場合の対処法が、WordPress Codex 日本語版に載っているので、一応、紹介しておきます。

FAQ/ハッキング・クラッキング被害 - WordPress Codex 日本語版

コメント