As I Please

MTのいんすとーるの練習と、その他びぼうろく・・・

メールのウィルスチェック

先日、virusソフトをアップデートした際に、すでに Freebsd ports では amavis-milter がサポートされなくなっていたので、amavisd-milter + amavisd-new に変更。
milterを使う理由は、別portで待ち受けるMTA 2枚使うパターンにはちょっと躊躇してしまうため。。。
FreeBSD4 では、最新のports ではamavisd-milter (Ver 1.3.1 )が compile できない。

20070901:
Performance optimization: use sem_timedwait instead of
sem_trywait+sleep(1) for amavisd connection lock.
Requested by: David Schweikert

とあるけど、sem_timedwait , FreeBSD5 以降でしか入っていなくて、4.xでは使えない。
仕方ないので、1.2.1 を利用することに。

ports からのインストールの変更点は、

  • amavisd-milter: amavisd.conf で

    $unix_socketname = "$MYHOME/amavisd.sock";
  • /etc/mail/hostname.mc で
    define(`confMILTER_MACROS_ENVFROM',
    confMILTER_MACROS_ENVFROM`, r, b')
    INPUT_MAIL_FILTER(`amavisd-milter',`S=local:/var/amavis/amavisd-milter.sock,F=T,
    T=S:10m;R:10m;E:10m')
    と、amavisd-milter に渡すsocketを定義。
  • ports で amavisd-new をinstallすると、 /usr/local/etc/rc.d/amavis-milter.sh もinstallされる。これを、amavisd-milter.sh に rename して 
    amavisd_milter_flags=${amavis_milter_flags:-"-w /var/amavis/tmp"}
    と定義する。  -p /var/amavis/amavisd-milter.sock はデフォルトで設定されているようなので要らないっぽい。
  • amavisd-milter は、sendmail と amavisd への接続には オプションの -s, -S で設定することになっているが、おのおのデフォルトは /var/amavis/amavisd-milter.sock, /var/amavis/amavisd.sock になっている。
amavisd-new 、昔は対応している vscan ソフトの数が4つくらいしかなかったけど、今は Unix系で出回っているものほとんどに対応してるっぽい?
とりあえずうちでは avira, をメインにして f-prot をバックアップに使ってる。

/var/log/maillog への出力例

Nov 8 12:48:39 mina amavis[49876]: (49876) Passed CLEAN, AM.PDP-SOCK [x.x.x.x] [x.x.x.x] -> , Queue-ID: mA83mY2h051930, Message-ID: <20081108034829.56183205FB5@cd14-0793>, mail_id: UNup7LuHjHB3, Hits: -, size: 5100, 3897 ms
Nov 8 12:48:39 mina sendmail[51930]: mA83mY2h051930: Milter insert (0): header: X-Virus-Scanned: amavisd-new at xxx.yyy

コメントする