ピンバック機能(XML-RPC)悪用対策

WordPressのピンバックによるDDoS攻撃が話題になっていますね。
こちらの記事によると、なんと162,000!?もの正規のサイト(スパムサイトではない)がDDoS攻撃の踏み台に悪用されたという驚きの内容です。

「今度はWordPressが踏み台に、Pingback機能を悪用しDDoS攻撃」

WordPressのピンバック機能は自分のサイトの記事URLが貼られると自動的に通知するという機能ですが、これはXML-RPC APIにより実装されており、3.5以上からはデフォルト有効になっています。

XML-RPCとは

XML-RPCとはリクエストをXMLでポストしてレスポンスをXMLで取得するための規格です。
WordPressの場合はXML-RPC APIを使用すると管理画面以外から、記事投稿や編集などのいわゆるリモート投稿が行えるようになります。

今回のDDoS攻撃ではこのXML-RPCを悪用してターゲットに大量のピンバック通知を送りつけるようです。
踏み台サイトは世界中にいくらでもあるわけです。
しかも、攻撃者はXML-RPCに向けてポストを投げるだけなので、身元を隠すことができます。

踏み台対策

プラグインやフィルタでXML-RPCを無効化

Disable XML-RPC Pingbackというプラグインで文字どおりXML-RPCを無効化できます。
また、wp-config.phpやfunction.phpにて、add_filterを定義することで無効化できるようです。

「WordPressのXML-RPCの設定見直し」

htaccessでXML-RPCの使用を制限する

以下でxmlrpc.phpにはアクセスできなくなります。

わたしはリモート投稿を使うことがあるため、指定のIPからしかXML-RPCを許可しないようにしてみました。
実用的には微妙かもしれませんが、外出の際は指定IPアドレスのVPNを経由することでxmlrpc.phpにアクセスできます。

※XML-RPCで最新投稿の取得したり、外部のサーバなどからXML-RPCを使って自動投稿されるような仕組みを構築している場合はそのIPを許可することで、これまでと同じように動作しますが、他でXML-RPC APIを使用している場合は影響が生じる可能性があります。

ちなみにブルートフォースアタック対策として管理画面のログイン自体も制限しているため、下記のように記述しています。

XML-RPC使用に関する補足

ちなみにレンタルサーバによってはデフォルトインストールでXML-RPCが制限されている場合もあるようです。
基本的にはデフォルトインストールで有効のはずですが、「動作しない」という場合は実際の環境での使用許可をチェックしてみてください。

今注目の記事

超簡単!アイコンフォント Font Awesomeの使い方
WP子テーマの作り方
Contact Form 7の送信完了画面がでない

フォローする

WordPressとはなにかもう一度おさらいしてみよう!

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


+ 七 = 12

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">