アクセスログを確認すると国外から変なアクセスが来ていてブロックしたいという人もいるでしょう。
WordPressを乗っ取ろうと管理画面なのに不正アクセスしようとするのはほぼ全て国外からのアクセスであるため、国外から管理画面へのアクセスをブロックすればWordPress乗っ取り被害の可能性を大幅に減らせます。
今回は、WordPressで特定の国からのアクセスをブロック、日本以外からのアクセスをブロックする方法を解説していきます。
国外からのアクセスをブロックする方法
functions.php
を直接編集してブロックする方法もありますが、管理が煩雑になったり、ブロックしていることを忘れてしまいがちなので、プラグインを使う方法がおすすめです。
国外からのアクセスをブロックできるプラグインはいくつかありますが、中でも使いやすくて現在も積極的に開発が続けられている『IP Location Block』です。
『IP Location Block』の導入方法
『IP Location Block』はプラグイン追加画面からインストール・有効化できます。

"IP Location Block"
と検索したら見つかる『IP Location Block』を有効化すると管理画面の設定
に[IP Location Block]
が追加され、国外からのアクセスを制御できるようになります。

ひとつだけ必要な初期設定があるので、[IP Location Block]
の設定画面にアクセスしてください。
アクセスしたら設定ページの一番下までスクロールして[Download database]
のDownload
をクリックします。

この作業を忘れると正しくブロックできないので必ずやっておきましょう。
日本(自分がいる国)以外からのアクセスを全てブロックする
『IP Location Block』の設定画面を開くと一見難しそうな設定項目がいくつかありますが、実際に触る設定は少しだけです。
まずは、Your IP address / Country
のScan country code
をクリックして、自分のIPアドレスから国コードを取得します。

IP2Location
のとなりにある2文字のアルファベットが国コード国コードを取得したら、[Matching rule]
をWhitelist
に切り替えます。

Whitelistを選択するとWhitelist of country code
という項目が表示されるので、先ほど取得した国コードを入力します。

入力したら一番下までスクロールして変更を保存
をクリックします。
これでホワイトリストに登録した国以外から管理画面にアクセスしようとしてもブロックされてアクセスできなくなります。
特定の国からのアクセスのみブロックする
日本以外すべてブロックではなく、中国やロシアなど一部の国だけブロックしたい場合は、ホワイトリストではなくブラックリストを使用します。

Matching rule
をBlacklist
に切り替える国コード一覧ページを参考に、ブロックしたい国の国コード(2文字の大文字アルファベット)をカンマ区切りで指定します。

CN
とRU
をカンマ区切りで入力するこれで、ブラックリストに追加された国からのアクセスは強制的にブロックされるようになります。
うっかり間違えてしまった場合はファイルマネージャーやFTPクライアントを使ってIP Location Blockプラグインをフォルダごと削除してください。
フォルダごと削除するとプラグインが強制的に無効化されて設定がリセットされるので、再度プラグインをインストールするところからやり直せます。
レンタルサーバーの設定でブロックできる場合もある
レンタルサーバーによっては海外からのアクセスをブロックできる国外IPアクセス制限機能が提供されていることがあります。
代表的なのはエックスサーバーで、WordPress乗っ取りに利用されやすいXML-RPC APIやREST API・ダッシュボード(管理画面)へのアクセスを日本国内限定にできる機能が提供されています。

エックスサーバー以外のレンタルサーバーでは提供されていることがあるので、サーバー管理画面に同様の機能があるか探してみるといいでしょう。