ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
多数の.JPサイトも踏み台化:今度はWordPressが踏み台に、Pingback機能を悪用しDDoS攻撃 - @IT
オープンソースのCMS「WordPress」のPingback機能が、大規模な“反射型”DDoS攻撃に悪用されているとし、注意が呼び掛けられている。セキュリティ企業のSucuriが2014年3月10日に公開したブログによると、WordPressを使っている16万2000もの正規のサイトがDDoS攻撃の踏み台に悪用されているということだ。...
とのことで自分のサイトをチェックしてみるとあるわあるわ…。
93.174.95.41 - - [24/Mar/2014:18:08:54 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:09:10 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:09:16 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:11:42 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:11:52 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:12:54 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 5 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:13:03 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:14:25 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:14:32 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:16:18 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:16:25 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:18:04 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:18:09 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 3 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:19:57 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:20:04 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:22:42 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:22:49 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:23:05 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:23:11 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:26:12 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:26:18 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:26:23 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:26:29 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:29:18 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:29:26 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:29:49 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
184.107.214.242 - - [24/Mar/2014:18:29:56 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:29:55 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
184.107.214.242 - - [24/Mar/2014:18:30:01 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:32:12 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:32:18 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:33:06 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:33:13 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:36:14 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 2 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:36:19 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:37:01 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:37:06 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:39:45 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
198.72.112.4 - - [24/Mar/2014:18:39:50 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:40:01 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
93.174.95.41 - - [24/Mar/2014:18:40:05 +0900] "POST /xmlrpc.php HTTP/1.0" 302 - 1 "-" "-"
これは対応しないと人様のサイトに迷惑を掛けてしまうので対策をすることにします。
More Than 162,000 WordPress Sites Used for Distributed Denial of Service Attack | Sucuri Blog
Update: A better way to block it is by creating a plugin that adds the following filter: add_fi ...
上記サイトによるとフィルタを定義してPingback機能をオフにするように説明があります。
しかし上記のような設定をするとpingbackが飛ばないことになりますので自分のサイトに記事を投稿しても通知が飛ばないことになります。
そこでこういう方法は如何でしょうか?xmlrpc.phpを実行できるのは自サイトからのアクセスのみ、もしくは自サイトがリファラにセットされている場合のみ実行可能というように設定できれば他の悪意あるサイトから悪用されずに自分も今までのようにwordpressの機能を利用できるという寸法です。
<Files xmlrpc.php> SetEnvIf Referer "^https://blog.kamata-net.com" check Order deny,allow Deny from all Allow from env=check Allow from 192.168.0.0/24 </Files>
上記の設定をhttpd.confに追記することで自サイトからのみxmlrpc.phpが利用できることになります。
xmlrpc.phpはwordpressの内部でいろいろと利用されているようですので、単純にファイル名をリネームしたり削除したりするとwordpressの動作自体に問題が発生するようです。
しばらくこの方法で運用してみたいと思います。ちなみにこの設定を入れてから早速以下のログが出ました。
208-55-220-138.compute.us-e1.cloudn-service.com - - [24/Mar/2014:21:17:44 +0900] "POST /xmlrpc.php HTTP/1.0" 403 296 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
403のエラーに変わっていますので実行はできていないように見えます…。
これで駄目であれば、pingback機能を無効にするプラグイン(Disable XML-RPC Pingback)があるのでそれをインストールすればいいでしょう。
WordPress › Disable XML-RPC Pingback « WordPress Plugins