サーバ限界(spam的な意味で)

サーバが不安定になっている。

起きたら、ログインすら出来なくなっているし、rebootしてもload averageのわりに反応が悪い。起動してしばらくは動くのだが、webはあっと言う間に見えなくなってしまう。

詳細に調べると、まずmailのqueueがパンク状態。active incomingを数えると、10000を超える。それだけなら、まぁ「うちのサーバにはよくあること」なのだが、内容を見るとどうやら、spammerに乗っ取られたMLがあったらしく、そこから大量の送信。spamばかりだという判断をした後、queueから一気に削除。これでかなり静かになった。と言っても、流入するメールも凄いし、メールサーバが動くようになったものだから、一気に流入が激しくなる。これはしばらくweb serverの方を落として待っていると静かになった。「雪崩」をやり過ごせば、後は普通に高負荷なだけだ。

それでもwebがすぐ詰まってしまうことは変わらない。

いろいろ監視していると、どうやら利用者が持っている掲示板やblogにspammerが大量にメッセージを投げ込んでいる様子。掲示板やblogはロックをかけあいながら動くようなのだが、どうもその加減でcgiが全apacheプロセスを占有して止まってしまう。だから、新しいコネクションは接続待ち状態までは行くのだが、cgiが占有しているプロセスが終わるまでは、次のリクエストが受けられない。ところが、spammerが大量にcgiを起動してしまったものだから、なかなか処理が終わらない… ということで雪崩が起きてしまうという現象らしい。これはサーバを止めたりファイルサーバを再起動してたりするうちに、嵐が去ってくれた。

世の中のspam対策は、人間側のものばかりだ。つまり、「サーバには届いているけれど、自分は見なくていい」ということでspamを無視する。メールのspamフィルタは全てそんな動きだし、blogのspamフィルタも「受けつけてspamと判断して消す」という動作だ。

ところが、サーバから見れば一度は全てのspamを受けつけてしまっている。いや、どこでどうやろうと、結局は一度はサーバで受けつけないと処理が出来ない。それがどのプロセスで行われるかに差異はあるが、結局はサーバの負荷だ。

このままspamが増え続けると、ネットワークがパンクとかという話の前に、コミュニケーションサーバがspam処理でパンクしてしまう。それを思うと、受信側ではもう限界だ。

spamを送信させないという

という対処をしなきゃ、いずれネットは機能停止してしまうだろう。

まぁとりあえずの対策で、受信側としてはメモリでも増やしてapacheのプロセス数を増やすことにはするが…

サーバ限界(spam的な意味で)” への3件のコメント

  1. SPAMは明らかに業務妨害罪で犯罪行為なのですが、なかなか減らないどころか増加していますね。

    SPAM対策として、まずViagraの販売中止を求めると、SPAMの半分は減るのではないかとおもいます。
    あと、ロシアおよび中国からの接続を日本として拒否することにしましょう!!(笑)

  2. > ロシアおよび中国からの接続を日本として拒否すること

    日本として以前にサーバとしてやりたいんだけど、これもなかなか難しくて出来ないんだわさ。正規のアクセスがあるからねぇ。

  3. 許可をもらってない相手へのメール送信は有料にすれば(1円でも)少なくなるんじゃないかなと思いました。

    仕事で郵便配達をしているのですが、最低でも50円掛かるからspam葉書は抑えられているのだろうと思っています。

    でもこんなこと誰が決めるんだろう?

コメントは受け付けていません。