※本記事にはプロモーションが含まれています。
WordPressを公開すると、インターネット上のボットによる自動スキャンがすぐに始まります。
これまでのログシリーズでは、WordPress公開直後に来たBotのアクセスやスキャンの様子を分析してきました。
今回は、WordPressサイトでよく狙われるxmlrpc.phpへのPOSTリクエストをサーバーログから確認していきます。
実際のログを見ると、WordPress公開から数時間後にxmlrpc.phpへのアクセスが記録されていました。
xmlrpc.phpとは
xmlrpc.phpは、WordPressに標準で含まれている機能のひとつです。
このファイルは、外部アプリケーションからWordPressを操作するためのAPIとして使われます。
主な用途は次のとおりです。
- モバイルアプリからの投稿
- 外部ツールからの投稿
- Jetpackなどのサービス連携
- pingback機能
通常のブログ運営では使われないことも多い機能ですが、WordPressでは標準で有効になっています。
xmlrpc.phpが攻撃対象になる理由
xmlrpc.phpは便利な機能ですが、攻撃者にもよく利用されます。
特に多いのが次のような攻撃です。
ブルートフォース攻撃
XML-RPCには system.multicall という機能があり、1回のリクエストで複数のログイン試行を送ることができます。
通常のログイン攻撃では、
/wp-login.phpに対して1回ずつログインを試行しますが、XML-RPCを使うと、1リクエストで大量のログイン試行が可能になります。
そのため、WordPressサイトではxmlrpc.phpがよくスキャンされます。
実際に確認されたアクセスログ
WordPress公開後のサーバーログを確認すると、xmlrpc.phpへのPOSTリクエストが記録されていました。
最初に確認されたアクセスは次のログです。
www.vivisec.net 35.224.48.77 - - [23/Feb/2026:02:05:34 +0900]
"POST //xmlrpc.php HTTP/1.1" 403 2843 "-"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"このログからいくつかの特徴が分かります。
POSTリクエスト
xmlrpc.phpへのアクセスはPOSTメソッドでした。
これは単なる存在確認ではなく、XML-RPC機能を利用した処理を試みた可能性があります。
//xmlrpc.php
リクエストURLは、
POST //xmlrpc.phpとなっています。
スラッシュが2つになっている点が特徴です。
このような形式のリクエストは、URL正規化やフィルタを回避するために使われることがあります。
多くのサーバーでは、
/xmlrpc.phpとして処理されます。
ステータスコード403
レスポンスは、
403 Forbiddenでした。
これはサーバー側でアクセスが拒否されたことを意味します。
つまり、このリクエストは成功していません。
xmlrpc.phpへのアクセス回数
公開後のログを確認すると、xmlrpc.phpへのアクセスは複数回確認されました。
公開から5日間のログでは、
xmlrpc.phpへのアクセス:20件が記録されています。
これは、WordPressサイトが公開されると自動スキャンの対象になることを示しています。
WordPress公開直後からスキャンは始まる
今回のログから分かることはシンプルです。
WordPressサイトは公開するとすぐにボットのスキャン対象になります。
今回の環境では、
- サーバー契約
- ドメイン登録
- WordPress公開
を行った後、数時間以内にxmlrpc.phpへのアクセスが記録されました。
このような自動スキャンは珍しいものではなく、インターネット上では日常的に行われています。
xmlrpc.phpへの対策
このようにWordPressでは、xmlrpc.phpが攻撃の対象になることがあります。
ただし、すべてのサイトで必ずしも対策が必要というわけではありません。
xmlrpc.phpは次のような機能で使用されます。
- WordPressモバイルアプリ
- Jetpack
- 外部投稿ツール
これらを使用していない場合は、XML-RPC機能を無効化することで攻撃対象を減らせます。
XML-RPCを無効化する
WordPressでは、プラグインやサーバー設定でXML-RPCを無効化することが可能です。
例えば、セキュリティ系プラグインにはXML-RPCを無効化する機能が含まれていることがあります。
また、サーバー側でアクセスを制限する方法もあります。
ログを確認する
xmlrpc.phpへのアクセスは、サーバーログから確認できます。
もし大量のPOSTリクエストが記録されている場合、ブルートフォース攻撃が試みられている可能性があります。
定期的にログを確認することで、サイトの状況を把握することができます。
必ずしも危険な状態とは限らない
WordPressサイトでは、xmlrpc.phpへのアクセスがログに記録されることは珍しくありません。
多くの場合は、ボットによる自動スキャンです。
今回のログでは、
403 Forbiddenが返されており、リクエストは成功していませんでした。
このようなxmlrpc.phpへのアクセスは継続的に発生するため、WordPress側の設定だけでなく、サーバー側での防御も含めて対策しておくと安心です。
私の環境でも、サーバーのログ機能やWAFによってアクセス状況を確認できています。
まとめ
今回のログから、WordPressサイトが公開直後からスキャンされる様子を確認できました。
ポイントを整理すると次のとおりです。
- WordPress公開後、
xmlrpc.phpへのPOSTリクエストが記録された - リクエストURLは
//xmlrpc.php - レスポンスは403 Forbidden
- 公開5日間で20件のアクセスを確認
WordPressサイトを運営する場合、このようなスキャンは珍しくありません。
ログを確認することで、実際にどのようなアクセスが行われているのかを知ることができます。
