vishaの日記: qscan(3)
日記 by
visha
で、これでちゃんと機能はしてくれるのだが(さっそくMyDoom-Aを弾いた)、ちょっと問題がある。
- qmail-smtpdが返すエラーメッセージが「qq permanent problem (#5.3.0)」となる。
- SMTP上のパーマネントエラーになるので、メッセージは問答無用でMAIL FROM宛にたたき返されてしまう。
- 検出ログがsyslogに吐かれてしまう。
- ウィルススキャン中SMTP peerと接続しっぱなしなので、同じホストから一気に複数セッション張られた場合、すぐ接続上限に達してしまう可能性が高い。
1はqscanがウィルス検出時に返す39というステータスをqmail-smtpdが「何らかのパーマネントエラー」としか扱えないことが原因なので、qmail.c中のqmail_close()に39を扱うコードを足せば良い。
2は、最近のメールばらまき型ウィルスの場合MAIL FROMを詐称するのが当たり前なので問題となる。もっとも、最近のメールばらまき型ウィルスの多くはSMTPエンジンを自前で持っているため、SMTPセッションの中で弾くという選択肢もありなのかもしれない。どこかのMTAを中継していると、詐称されたアドレス宛にバウンスしてしまうのが悩ましい。
3は好みの問題だろうが、他のメッセージといっしょにmultilogで処理したいだけだ。
4はtcpserverで「同一IPアドレスからの同時接続数の上限」というのを別途ハンドリングするのがいいかと思っている。
# ともあれ、しばらく実験を続けることにしよう。
qscan(3) More ログイン