トラブルの記録とメモです。
要約 §
"DoCoMo/2.0+P90liS(c100;TB;W20H10)"というuser agentのアクセスが急増する。通常の利用者のアクセスを含め、ピーク時で1秒あたり300アクセスを超え、ASP.NET+XSLTという重い構成のオータムマガジンは実質的にダウンさせられた。これは一見、DoCoMoの携帯からのアクセスに見えるが実際には単一のIPからアクセスしてくるクローラと推定され、IPをIISのアクセス拒否対象に設定して問題は解消。
しかし、別IPから送信された前歴もあるらしいので、完全な対策とは言い難い。
経緯 §
昨日の夜、オータムマガジンにアクセスしても応答がないためサーバにリモートデスクトップで接続して確認したところ、CPUがほぼ100%に貼り付いている問題を確認。
その後、調査の結果、"DoCoMo/……"というuser agentのアクセスが急増したことが原因と判明。
この時点では、DoCoMoの携帯ユーザーからのアクセスが急に増加したと考えた。携帯からの読者を切るのは忍びないと思ったが、そもそもオータムマガジンは携帯向けに構築されたコンテンツではないので、アクセス元のIPをIISのアクセス拒否に登録。
しばらく高負荷は続いたが、処理中リクエストの処理完了に伴い、CPU負荷は大幅に下落。
翌日の今日になってログを子細に調べたところ、全てのUser-Agentが"DoCoMo/2.0+P90liS(c100;TB;W20H10)"という同じ名前であることに気付く。
更に、ピーク時には秒間300アクセスあり、その大半が同一のIPの上記User-Agentと判明。従って、送信者は1人と推定。
しかし、たった1個の携帯電話から1秒間に数百アクセスもリクエストできるとは思えないので、これはUser-Agentの詐称と判断。
更によく調べたところ、"P90liS"の4文字目は数字の"1"ではなくアルファベット小文字のエル"l"と判明。
これで、完全に携帯電話とは無関係のアクセスと判断。
対策 §
今のところ、確実に有効な策は無し。
とりあえず、IP拒否リストに登録しているが、他にも別IPから同じUser-Agentのクローリングを受けて迷惑している人がいるようなので、別IPからまた来るかもしれない。
その時は、とりあえずIP拒否リストに追加登録して対策予定。
感想 §
立て続けにアクセスするクローラは迷惑だからダメ。アクセスは時間を置いて行うこと。……というクローラ作りのある種の「常識」も知らない開発者がクローラ作って野放しにしているのでしょうかね。
こういう行為がまかり通る世界だとすれば、インターネットを免許制するとか、そういう話もあり得るでしょうね。
ちなみに、アマチュア無線経験者の立場から言うと、免許制で致命的に悪い理由は特に思いつきません。