2014/09/19スパイク状の集中的なトラフィックでサーバが落ちるように先月に入ってからたびたびサーバが無応答の状態に陥るようになりました。本ブログが利用するさくらVPSのステータスを確認したところ、たびたびスパイク状の極端に集中したトラフィックがあり、それを契機に無応答になっていることが分かりました。Apacheのアクセスログを見ると、WordPressのxmlrpc.phpにアクセスが集中していて、ブルートフォースアタックであることが判明。/var/log/apache2/access.log海外のIPアドレスからのアクセスを制限xmlrpc.phpに対して、海外のIPアドレスからアクセスできないようにアクセス制限をかけることに。パソコンやホームページに関するITの部屋こちらから.htaccessのディレクティブ用の国内IPアドレスリストをダウンロード。CGI’sxmlrpc.phpと同階層にある.htaccessに以下のように追記。(省略).</Files>xmlrpc.phpのほか、ログインに使うwp-login.php、コメントを書き込むときに使うwp-comments-post.phpにも適用し、海外のIPアドレスからのアクセスを拒否するようにしました。アクセス制限をかけるのはログインやリモート投稿、コメント投稿のための機能のみなので、設定後も海外のIPアドレスからの閲覧には支障は生じません。Limit」に変更し、サービスを再起動しました。restart攻撃が弾かれてサーバが落ちなくなった対策後、しばらくしてからサーバのステータスを確認したところ、xmlrpc.phpなど制限をかけたページへの海外のIPアドレスからのアクセス、即ち攻撃は弾かれ、スパイク状の集中的なトラフィックも生じなくなりました。xmlrpc.phpへの攻撃自体は依然として来ていると思うんですが、それをApacheで弾いても負荷軽減になるんですね。Apacheを通さないため、iptablesで対処せよ、というアドバイスをいただきました。特定のファイルへのアクセスだけiptablesで止められたりするんでしょうか。AMiptables側ではファイルアクセスをトリガーとする実装ができるかもしれませんが、HTTPリクエストをTCPパケットから取り出せたとしても、そこにはURLしか情報がないので、URLから該当ファイルを引き当てる手立てが必要となり、iptablesの範疇を大幅に超えるように思います。TCPレイヤーでは)効果的なブロックは難しいように思います。WAFをいれるかApacheの体力向上かVPSプロバイダに回線の上位でなんらかの対策を相談/依頼すること等でしょうか。AMコメントありがとうございます。アドバイスいただいた方は、Webサーバでの手当のレベルを超えた攻撃があったときに、アクセスを全部弾いてしまうという処置を想定しているのかもしれないですね。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。