【WordPress】XML-RPCを利用したブルートフォースアタックを受けました。

X(旧Twitter)で、WordPressのセキュリティの話をつぶやいていたら、コメントをいただきました。XML-RPC(xmlrpc.php)を無効化していないとブルートフォースアタックを受けることがあるとのこと。この機会に見直してみたところ、ブルートフォースアタックされていた痕跡がありました。XML-RPCを無効化したので、備忘録として残しておきます。
私のサイトは、SiteGuard WP Pluginを使って、WordPressのログイン画面のURLを変更していたので、不正ログインはないだろうと高を括っているところがありました。ご指摘いただいたので、SiteGuard WP Plugin のログイン履歴を確認してみたところ…

めちゃくちゃブルートフォースアタックの痕跡が残っていました💦
さすがにマズいので、XML-RPCを無効化することを考え、いろいろググりました。
.htaccessに記述する方法やプラグインを使う方法、それからフィルターフックを使う方法があるようでした。
SiteGuard WP Pluginを利用しているので、機能一覧を確認してみたところ、「XMLRPC防御」という項目があり、XML-RPCの無効化設定ができるようになっていました。デフォルトでピンバックは無効化されています。それでもブルートフォースアタックをされていたので、XMLRPC無効化を選択しました。

SiteGuard WP Plugin のXML-RPC無効化は、.htaccessに記述する機能らしく、.htaccessを確認してみると次のコードが追記されていました。
<Files xmlrpc.php>
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Order allow,deny
Deny from all
</IfModule>
</Files>
プラグインを使わない方は、単純にこのコードを.htaccessに追記するだけでもいいかもしれません。
XML-RPCが無効化できているかどうかは、https://ドメイン名/xmlrpc.php にアクセスするとわかります。
有効化されている場合: XML-RPC server accepts POST requests only. の文言が表示されます。
無効化されている場合: 403 Error や Forbidden が表示されます。
XML-RPCを無効化することにより、XML-RPCを使用した機能やアプリ、プラグインも利用できなくなりますので、XML-RPCの設定には注意が必要です。