FreeBSD/Postfix+amavisd+clamav の変更点


*Postfix + amavisd + clamav [#uc572ba1]

[[dokuwiki.fl8.jp掲載済>http://dokuwiki.fl8.jp/02_freebsd/03_mail/03_postfix_amavisd_clamav]]

#contents

*ClamAVインストール [#bf305c2f]
**portsからインストール [#nec737da]
 # cd /usr/ports/security/clamav
 # make install

**/etc/rc.confに追加 [#d03885ea]
 # ClamAV
 clamav_clamd_enable="YES"
 clamav_freshclam_enable="YES"

**起動 [#r824bc77]
 # /usr/local/etc/rc.d/clamav-clamd start
 # /usr/local/etc/rc.d/clamav-freshclam start

*Postfixインストール [#tf75999e]
**portsからインストール [#m4a60a37]
 # cd /usr/ports/mail/postfix
 # make install
 
 このあと、いくつか質問されるので適切に答えます。
 
 Added group "postfix". 
 Added group "maildrop". 
 Added user "postfix". 
 You need user "postfix" added to group "mail". 
 Would you like me to add it [y]? y
 これは y。
 
 Would you like to activate Postfix in /etc/mail/mailer.conf [n]? y

**/etc/rc.confの修正 [#fafb7c56]
 # /etc/rc.conf
 postfix_enable="YES"
 
***sendmailが動いている場合 [#j90b6d93]
 # /etc/rc.conf
 sendmail_enable="NONE"
 
 # /etc/rc.d/sendmail stop

**/usr/local/etc/postfix/main.cf 修正 [#f59c6e86]
mydomain に自分のドメインを設定します。
 mydomain = domain.tld
 
mydestination に、自分が受け取るメールの宛先を指定します。$mydomain は含めるようにしましょう。それ以外にも、受け取りたいドメインがあれば追記します。
 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

mynetworks に「信頼できる」SMTPクライアントの属するネットワークを指定します。これ以外のところからメールの中継を拒否します。
 mynetworks = 168.100.189.0/28, 127.0.0.0/8

**起動 [#r1016384]
 # /usr/local/etc/rc.d/postfix start


**postfix キューの確認 [#k3a79678]
 # /usr/sbin/postqueue -p

**postfix キューの削除 [#qc793dc2]
 # /usr/sbin/postsuper -d [Queue ID]

*amavisd [#x601651b]

**インストール [#s2566e07]
 # cd /usr/ports/security/amavisd-new
 # make AMAVISUSER=clamav AMAVISGROUP=clamav install

**amavisdでspamチェックを行わない [#r1f091f3]
 # vi /usr/local/etc/amavisd.conf
 14  @bypass_spam_checks_maps  = (1);  # controls running of anti-spam code

これだけだと、こんなエラーが出る。
 Can't locate object method "new" via package "Amavis::SpamControl" at /usr/local/sbin/amavisd line 13878. 

直接13878行目をコメントアウトすれば、すんなり起動する。
 # vi /usr/local/sbin/amavisd
 13878 #$spamcontrol_obj = Amavis::SpamControl->new  if $extra_code_antispam;

**添付ファイルがあるとはじかれる [#r329708a]
 $banned_filename_re = new_RE(
 
 ### BLOCKED ANYWHERE
 # qr'^UNDECIPHERABLE$',  # is or contains any undecipherable components
   qr'^\.(exe-ms|dll)$',                   # banned file(1) types, rudimentary
 # qr'^\.(exe|lha|tnef|cab|dll)$',         # banned file(1) types
 ・
 ・
 ・
 );
この部分を
 $banned_filename_re = new_RE();

**参考URL [#wbb823da]
http://www.leafgreen.jp/freebsd/clamav.html



*postfixの設定 [#h832ef30]
**inet_interfaces [#p8734415]
 # vi /usr/local/etc/postfix/main.cf
 -------------------------------------------
 inet_interfaces = all  # どこからでも接続OK
 inet_interfaces = localhost # localhostからだけ接続OK

localhostからだけ接続OKの場合netstatだとこんな感じになる。
 # netstat -ant
 Proto 受信-Q 送信-Q 内部アドレス            外部アドレス            状態       
 tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN

どこからでも接続OKの場合だと
 # netstat -ant
 Proto 受信-Q 送信-Q 内部アドレス            外部アドレス            状態       
 tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN