【WordPress】XMLRPCを無効化する方法(セキュリティ/脆弱性対応)
こんにちは!CODE CLUB965のKです!
今回は、WordPressにおけるXMLRPCの停止方法について書こうと思います。
WordPressでは「XMLRPC」というものを使っているのですが、それの脆弱性をついた攻撃がされることがあります。
以下のサイトが分かりやすく記載されていたので載せておきますが、この攻撃が成功してしまうとユーザーIDやパスワードが読み取られてしまいサイトを改ざんされてしまうなどの影響があります。
いわゆるブルーフォースアタックですね。
XMLRPCとは?
簡単に説明すると、外部システムからWordPressをコントロールするために様々な機能を提供しているのが「XMLRPC」です。
例えば、
- 投稿をメールで作成
- 投稿の編集
- 投稿の削除
- ファイルのアップロード
- コメントの追加削除
- コメントの編集
- ピンバック(リンク元がリンク先に通知する機能)
が挙げられます。
スマートフォンアプリなどから、リモートで記事投稿や画像のアップロードを行う際に利用されるプロトコルといったところでしょうか。
これらをの機能を悪用しようとするのが問題となる攻撃です。
対策方法
結論から言うと「XMLRPC」を停止することです。
ただし、停止しようとするサイトが「XMLRPC」の機能を使っていないか確認してから停止しましょう。
停止すると、メールによる投稿機能やピンバック機能が使用不可能となります。
また、プラグインによっては「XMLRPC」を使用しているものもあるので停止する前に必ず確認してください。
停止する方法には以下の2つの方法があります。
・プラグインで停止する
・「.htaccess」でxmlrpcへのアクセスを禁止する記述をする
ちなみに、WordPress 3.5 未満の場合は、管理画面で「設定」>「投稿設定」で、XMLRPCを停止(無効化)することができます。
WordPress 3.5 以上の場合はこれから紹介する方法で対応してください。
プラグインで停止する
こちらの方法が一番簡単かと思います。
停止(無効化)できるプラグインは例えば、以下のようなものがあります。
・SiteGuard
・Wordfence Security
・All In One WP Security & Firewall
・iThemes Security
上記のようなセキュリティプラグインであれば停止する機能がついているので確認してみてください。
「.htaccess」に記述する
こちらの方法はFTPなどで接続して「.htaccess」ファイルにxmlrpcへのアクセス禁止を記述をする方法です。
xmlrpc.phpがあるディレクトリの.htaccessに下記の記述を追加すればOKです。
xlmrpc.phpファイルは、WordPressをインストールしたディレクトリの直下にあるかと思います。
<Files xmlrpc.php>
Order Deny,Allow
Deny from All
</Files>
「Deny from All」と書くことで、誰からもアクセスできないファイルにしているだけです。
最後に
今回はWordPressの脆弱性を狙った攻撃の対策方法について書きました。
なんでもそうですが、WordPressでもしっかりセキュリティ対策しないと場合によってはとんでもない損失に繋がる可能性もあるので気をつけましょう!
もしWordPressのセキュリティのことで分からないことや質問があれば、お問い合わせやTwitterのDMでも大丈夫ですので、お気軽にどうぞ!
それでは、また!