====== 03 Postfix + amavisd + clamav ====== ===== ClamAVインストール ===== ==== portsからインストール ==== # cd /usr/ports/security/clamav # make install ==== /etc/rc.confに追加 ==== # ClamAV clamav_clamd_enable="YES" clamav_freshclam_enable="YES" ==== 起動 ==== # /usr/local/etc/rc.d/clamav-clamd start # /usr/local/etc/rc.d/clamav-freshclam start ===== Postfixインストール ===== ==== portsからインストール ==== # 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の修正 ==== # /etc/rc.conf postfix_enable="YES" ==== sendmailが動いている場合 ==== # /etc/rc.conf sendmail_enable="NONE" # /etc/rc.d/sendmail stop ==== /usr/local/etc/postfix/main.cf 修正 ==== 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 ==== 起動 ==== # /usr/local/etc/rc.d/postfix start ==== postfix キューの管理 ==== [[02_freebsd:03_mail:02_manage_postfix_queue]] ===== amavisd ===== ==== インストール ==== # cd /usr/ports/security/amavisd-new # make AMAVISUSER=clamav AMAVISGROUP=clamav install ==== amavisdでspamチェックを行わない ==== # 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; === 添付ファイルがあるとはじかれる === $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 === [[http://www.leafgreen.jp/freebsd/clamav.html]] ==== postfixの設定 ==== === inet_interfaces === # 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 {{tag>postfix amavisd clamav}}