IP Geo Block (防御能力の高いWPプラグイン) の設定方法
前回の記事 で導入した IP Geo Block の設定方法でござる。
IP Geo Block を導入すると、
- コメント投稿
- XML-RPC
- 管理領域( wp-admin )
- admin-ajax.php
- admin-post.php
- プラグイン領域 ( plugins )
- テーマ領域 ( themes )
- その他の重要ファイル ( wp-config.php 等 )
↑ この辺りへの国コードによる防御と、
さらに国コードに関係なく、ゼロディ攻撃も防いでくれる。
かなり強固になるので、おすすめ。
インストール
WordPress の管理画面「プラグイン」から
「新規追加」で「IP Geo Block」で検索してインストール
プラグインを有効化したら
「設定」→「IP Geo Block」をクリックして設定画面を開く。
設定
データベースのダウンロード
一番最初にやるのは、データベースのダウンロード
「今すぐダウンロード」をクリックするだけ。
MaxMind の GeoIP と IP2Location のデータベースを勝手にダウンロードしてくれる。
「自動更新」にチェックをつけておけば、月一回、最新の物をダウンロードしてくれる。
リストの設定
マッチング規則
ホワイトリストかブラックリストを選択する。
- ホワイトリスト – 全てを非許可にして、リストに書かれているものだけを許可する。
- ブラックリスト – 全てを許可して、リストに書かれているものだけを非許可にする。
ブラックリストは、基本的に「全て許可」なので、設定がかなり面倒臭い。
通常はホワイトリストを使う。
マッチング規則の国コード
コメントの投稿やピンバックを許可する国のコード(ISO 3166-1 alpha-2)を
カンマ区切りで入力する。(日本だけ許可するなら「JP」とだけ入力すれば良い)
国コードに優先して検証するIPアドレスのホワイトリスト
「日本人を対象にしたブログだけど、サーバーが海外にある」
とか
「海外在住だけど、日本人向けのブログを書いてる」
とか言う場合は、サーバーの IP アドレスや自分の接続元の IP アドレスをここに入力する。
CIDR なので、単に「192.168.123.45」のような形式でも良いし、「192.168.123.45/24」のようにネットワークの範囲で入力することもできる。
IPアドレスを追加抽出する $_SERVER のキー
ホスト名などを書きたい場合はここに書く。
検証対象の設定
以下は、当方の設定内容である。
海外からのコメント投稿やピンバックを許可するなら、
「コメント投稿」「XML-RPC」を無効にする必要がある。
管理領域は、「国コードで遮断」と「ゼロデイ攻撃を遮断」両方チェック。
管理領域 ajax/post
通常は、「国コードで遮断」と「ゼロデイ攻撃を遮断」の両方チェックに付けておけば問題ない。
ただし、プラグイン等によっては、
「国コードで遮断」のチェックを外す必要があるかもしれない。
プラグイン領域
「ゼロデイ攻撃を遮断」にチェックをつければ強固だが、
プラグインによっては、「国コードで遮断」か「無効」にする必要がある。
テーマ領域
「ゼロデイ攻撃を遮断」にチェックをつければ強固だが、
テーマによっては、「国コードで遮断」か「無効」にする必要がある。
ちなみに、当方で使用してる WpTHK テーマの場合、
ゼロデイ攻撃を遮断すると、SNS のカウント数が取得できない。
2016/04/12 追記
作者様から直々にコメントをいただきました。
WpTHK テーマで、「ゼロデイ攻撃を遮断」しても、SNS のカウント数を取得できる方法をお教えいただきました。
詳しくは、コメント欄を参照してください。
2016/07/05 追記
現行バージョンの Luxeritas では、SNS カウントの取得方法が変更されてるので上記の手順不要。
参考ページ: The best practice of target settings | IP Geo Block (英語)
ログやキャッシュの設定など
この辺は、お好みで。
ログなどの記録が必要なければ、
「検証の統計を記録」と「検証のログを記録」を無効にする。
設定が終わったら、「変更を保存」ボタンを押して終了。
ディスカッション
コメント一覧
詳しい紹介記事をありがとうございます@作者です!
ちなみに、テーマのディレクトリに1つしかインストールしていない場合は意味がありませんが、以下を
functions.php
に追加すれば、nonceのチェックをバイパスするので、SNS のカウント数が取得できます。function my_bypass_themes( $themes ) {
return array( 'wpthk' );
}
add_filter( 'ip-geo-block-bypass-themes', 'my_bypass_themes' );
またWpTHK、公式にアップしないのがもったいない素晴らしいテーマですね!
おお!
作者様、直々にありがとうございます!
SNS のカウント数の件もありがとうございます。
試してみたら、「ゼロデイ攻撃遮断」でも、バッチリ SNS カウント数取得できました。
ピンバック & トラックバック一覧
[…] → IP Geo Block (防御能力の高いWPプラグイン) の設定方法 | Thought is free […]
[…] くださってる順番でやっていきます。 IP Geo Block (防御能力の高いWPプラグイン) の設定方法 […]
[…] くださってる順番でやっていきます。 IP Geo Block (防御能力の高いWPプラグイン) の設定方法 […]