XML-RPCとは、ネットワーク経由で別のコンピュータのプログラムや処理を呼び出すための通信規格(プロトコル)で、WordPressでは、標準で使用できる状態になっています。スマホから投稿する等の場合には便利な機能ですが、遠隔で接続できるため、セキュリティ上の問題があります。
リモートで投稿する必要のない場合は、セキュリティ強化のため、XML-RPC機能を無効化します。
ここでは、初心者にもわかりやすいプログイン(Disable XML-RPC)を使って無効化します。
XML-RPCのリスク
主なセキュリティリスクとしては、次のようなものがあります。
- DDoS攻撃(分散型サービス拒否攻撃)の踏み台
外部の別サイトへ自動通知を行う「ピンバック機能」が悪用されるリスクです。攻撃者が大量の偽の通知を送りつけることで、サーバーに過大な負荷がかかり、サイトが閲覧できなくなる(サーバーダウンする)恐れがあります。 - ブルートフォース攻撃とパスワードの割り出し
XML-RPCは、リクエストのたびにユーザー名とパスワードを送信する仕様になっています。攻撃者はこれを悪用し、プログラムを用いて短時間に何万回ものログインを試行することで、パスワードを強引に割り出そうとします。 - ユーザー名の漏洩やシステム情報の取得
認証を通過しなくても、登録されているユーザー名の一覧やシステム構成が漏洩するリスクがあります。これらの情報は、その後の不正アクセスの「足がかり」として悪用されます。
Disable XML-RPCのインストール
1.WordPress管理画面から 「プラグイン」 → 「プラグインを追加」を選択します。

2.「プラグインの検索」欄に ”Disable XML-RPC” と入力します。(入力により自動的に検索されます)
3.「Disable XML-RPC」を探し、「今すぐインストール」ボタンをクリックします。


4.「有効化」が表示されるので、クリックします。(プラグインの有効化です)

5.以上の操作により、XML-RPC機能が無効となります。
プラグインを使いたくない場合
プラグインを使いたくない場合には、「.htaccess」に次の記述を追加する方法があるそうです。
当サイトでは採用していませんので、詳細は利用しているマニュアル等を確認ください。
契約しているサーバによっては、「.htaccess」を直接書き換えず、設定できる場合もあるようですので、マニュアルを確認ください。
# XML-RPCをブロック
<Files xmlrpc.php>
Require all denied
</Files>
注意点
Jetpackプラグインの一部の機能や、外部の自動投稿ツール(スマホから投稿—等)を利用している場合は、XML-RPCを無効化すると正常に動作しなくなる可能性があります。無効化する前に、現在使っているツールやプラグインが影響を受けないか必ず確認してください。
(Jetpackとは)
セキュリティ強化、サイトの高速化、アクセス解析、SNS連携など、Webサイト運営に必要な約30種類以上の機能を1つにまとめた多機能プラグインです。
当サイトでは使用していません。