Archive for 5月 8th, 2015

Webサーバー障害から復旧(ブログ&アップローダー)

なんかうちのWebサーバが重いなぁと思って、アクセスログの統計を見たところ、

webaccesslog_toukei

1日100件のアクセスもなかったうちのサーバだけど、
4/29には1日に233276件のアクセス数になってる。

ログを見たら
1秒間に10件以上のペースで大量のアクセスが来ていた。

normalproxy状態ログ

それもリクエストの中に”http://~”とかのプロトコル部分も入っていてproxyとして動作しちゃっている上にレスポンスコード200でアクセスに成功しちゃっている。

完全に踏み台になっとるやんけ。

カラオケ予約ツールの動作確認用に
Reverse proxy として動作するように設定していたつもりが normal proxyになってた。
/etc/apache2/mods-enabled/proxy.conf 内
ProxyRequests On ← normal proxy

とりあえずReverse proxyとしてだけ動作するように
ProxyRequests Off
に変更

とりあえず、Proxyアクセスは404 File not foundとしてレスポンスを返すようになったので踏み台になることはなくなった。
proxy404化ログ

それで安心していたら、ファイルアップローダーでアップロードできない不具合が発生。
Proxy大量アクセスは止まることなく続いていたので、404 File not foundを出しているアクセスログでディスクがいっぱいになってしまってた。
もともと大量アクセスは想定してなかったんだよ・・・

ログの出力先をRAMディスク(tmpfs)に変更。
ramlog化

これでどれだけログが出力されようともディスクがいっぱいになることはない。(ついでにディスク(iscsiなので超遅い)アクセスも減ってパフォーマンスも向上するはず)

さらに
大量アクセスがうざいので
アクセス元のネットワークを次々とiptablesのDROPルールに追加していく。
iptables_drop

DROPルールのおかげでとりあえずアクセス数は1分間に数件くらいに収まった。

block後accesslog

もう踏み台としては動かないんでそのうち収まってくれるでしょう

No Comments