FreeBSDサーバー構築マニュアル

Postfix Amavisd-new SpamAssassin インストール


この章を始める前に下記の設定が必要です

「アンチウイルス Clam Antivirus インストール」
「Postfix Dovecot インストール」

■amavisd-newインストール
[root@ns1 ~]# cd /usr/ports/security/amavisd-new
[root@ns1 amavisd-new]# make BATCH=yes install clean
[root@ns1 amavisd-new]# cd

■amavisd.conf編集
[root@ns1 ~]# cp /usr/local/etc/amavisd.conf /usr/local/etc/amavisd.conf.org
[root@ns1 ~]# chmod 644 /usr/local/etc/amavisd.conf
[root@ns1 ~]# vi /usr/local/etc/amavisd.conf

# @bypass_spam_checks_maps  = (1);  # controls running of anti-spam code
↓
@bypass_spam_checks_maps  = (1);  # controls running of anti-spam code ←コメント解除(スパムチェックを行わない)

$mydomain = 'example.com';   # a convenient default for other settings
↓
$mydomain = 'freebsd.orz';   # a convenient default for other settings ←変更(ドメイン名を指定)

$virus_admin               = "virusalert\@$mydomain";  # notifications recip.
↓
#$virus_admin               = "virusalert\@$mydomain";  # notifications recip. ←コメントアウト(ウイルス検知を管理者に通知しない)

↓下記をコメント解除
### http://www.clamav.net/
['ClamAV-clamd',
  \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
  qr/\bOK$/m, qr/\bFOUND$/m,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

※黄色い部分は環境に合わせて変更してください。

ヒントヒント

$final_virus_destiny ←ウイルスメールの最終処理方法。
$final_banned_destiny ←banned(禁止された)メールの最終処理方法。
$final_spam_destiny ←SPAMメールの最終処理方法。
$final_bad_header_destiny ←ヘッダにASCII以外の文字が含まれるメール(bad header)の最終処理方法。

D_DISCARD ←メールは受信者に配信しない。送信者に通知しない。
D_BOUNCE ←メールは受信者に配信しない。送信者に通知する。ただし例外は送信者に通知しない。
D_BOUNCE ←メールは受信者に配送しない。送信者に通知する。
D_PASS ←メールは受信者に普通に配送される。

■amavisd起動
[root@ns1 ~]# vi /etc/rc.conf

amavisd_enable="YES" ←追加(amavisd起動)
[root@ns1 ~]# /usr/local/etc/rc.d/amavisd start

■main.cf編集
[root@ns1 ~]# vi /usr/local/etc/postfix/main.cf

↓最終行に下記を記入
# Filter configuration
content_filter = smtp-amavis:[127.0.0.1]:10024

■master.cf編集
[root@ns1 ~]# vi /usr/local/etc/postfix/master.cf

↓最終行に下記を記入
# Amavis configuration
smtp-amavis unix -      -       n       -       2       smtp
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o disable_dns_lookups=yes
    -o max_use=20
127.0.0.1:10025 inet n  -       n       -       -       smtpd
    -o content_filter=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o smtpd_restriction_classes=
    -o smtpd_delay_reject=no
    -o smtpd_client_restrictions=permit_mynetworks,reject
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o smtpd_data_restrictions=reject_unauth_pipelining
    -o smtpd_end_of_data_restrictions=
    -o mynetworks=127.0.0.0/8
    -o smtpd_error_sleep_time=0
    -o smtpd_soft_error_limit=1001
    -o smtpd_hard_error_limit=1000
    -o smtpd_client_connection_count_limit=0
    -o smtpd_client_connection_rate_limit=0

■SpamassAssin設定
[root@ns1 ~]# vi /usr/local/etc/mail/spamassassin/v310.pre

#loadplugin Mail::SpamAssassin::Plugin::TextCat
↓
loadplugin Mail::SpamAssassin::Plugin::TextCat ←コメント解除

■spamassassin起動
[root@ns1 ~]# vi /etc/rc.conf

spamd_enable="YES" ←追加(spamd起動)
[root@ns1 ~]# sa-update [root@ns1 ~]# /usr/local/etc/rc.d/sa-spamd start

■wgetインストール
[root@ns1 ~]# cd /usr/ports/ftp/wget/
[root@ns1 wget]# make BATCH=yes install clean
[root@ns1 wget]# cd

■SpamassAssinアップデート
[root@ns1 ~]# vi /etc/periodic/daily/610.spamassassin

↓下記を記入
#!/bin/sh

cd /usr/local/etc/mail/spamassassin
/usr/local/bin/wget -qN http://tlec.linux.or.jp/docs/user_prefs
cp user_prefs local.cf
cat << EOF >> local.cf
report_safe 0
rewrite_header Subject ***SPAM***
EOF
/usr/local/etc/rc.d/sa-spamd restart > /dev/null
[root@ns1 ~]# chmod 755 /etc/periodic/daily/610.spamassassin [root@ns1 ~]# /etc/periodic/daily/610.spamassassin [root@ns1 ~]# ll /usr/local/etc/mail/spamassassin total 732 drwxrwxrwx 2 root wheel 512 Mar 2 20:50 bayes -rw-r--r-- 1 root wheel 1300 Mar 2 20:29 init.pre -rw-r--r-- 1 root wheel 1300 Mar 2 20:29 init.pre.sample -rw-r--r-- 1 root wheel 331820 Mar 2 20:51 local.cf ←local.cfを確認 -rw-r--r-- 1 root wheel 1208 Mar 2 20:29 local.cf.sample -rw-r--r-- 1 root wheel 331630 Mar 2 08:00 user_prefs -rw-r--r-- 1 root wheel 2602 Mar 2 20:49 v310.pre -rw-r--r-- 1 root wheel 2603 Mar 2 20:29 v310.pre.sample -rw-r--r-- 1 root wheel 1195 Mar 2 20:29 v312.pre -rw-r--r-- 1 root wheel 1195 Mar 2 20:29 v312.pre.sample -rw-r--r-- 1 root wheel 2416 Mar 2 20:29 v320.pre -rw-r--r-- 1 root wheel 2416 Mar 2 20:29 v320.pre.sample

ヒント

local.cfはドメイン下すべてのユーザーに対して有効です。
1ユーザーのみ有効にさせたいときはuser_prefsを使う。

■postfix再起動
[root@ns1 ~]# /usr/local/etc/rc.d/postfix restart

■Procmail設定 (POPの場合)
[root@ns1 ~]# vi /usr/local/etc/procmailrc

SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
#LOGFILE=$MAILDIR/procmail.log
#VERBOSE=ON # 詳細ログ出力

:0
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTCQ\+NUJ6OS05cCIo
/dev/null

# ヘッダーに「X-Spam-***」がない場合 spamassassin を起動
:0fw
*!^X-Spam.*
|spamassassin

■Outlook Expressの設定 (POPの場合)

01.「ツール」>「メッセージ ルール」>「メール」をクリック。



02.「件名に指定した言葉が含まれる場合」にチェックを入れ
「指定した言葉が含まれる」をクリック。



03.「***SPAM***」と入力して「追加」をクリック。



04.「OK」をクリック。



05.「指定したフォルダに移動する」にチェックを入れ
「指定したフォルダ」をクリック。



06.「新規フォルダ」をクリック。



07.「SPAM」と入力して「OK」をクリック。



08.「SPAM」を選択した状態で「OK」をクリック。



09.「OK」をクリック。



10.「OK」をクリック。



11.件名に「***SPAM***」が付くメールはSPAMフォルダに格納される。


■既存ユーザー用スパムメールボックス作成(IMAPの場合)
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/.spam/new
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/.spam/cur
[root@ns1 ~]# mkdir -p /home/hoge/Maildir/.spam/tmp
[root@ns1 ~]# chmod -R 700 /home/hoge/Maildir/.spam
[root@ns1 ~]# chown -R hoge:hoge /home/hoge/Maildir/.spam

※黄色い部分は環境に合わせて変更してください。

■追加ユーザー用スパムメールボックス作成(IMAPの場合)
[root@ns1 ~]# mkdir -p /usr/share/skel/Maildir/.spam/new
[root@ns1 ~]# mkdir -p /usr/share/skel/Maildir/.spam/cur
[root@ns1 ~]# mkdir -p /usr/share/skel/Maildir/.spam/tmp
[root@ns1 ~]# chmod -R 700 /usr/share/skel/Maildir/.spam

■procmailrc編集(IMAPの場合)
[root@ns1 ~]# vi /usr/local/etc/procmailrc

↓下記を記入
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
SPAM=$MAILDIR/.spam/
#LOGFILE=$MAILDIR/procmail.log
#VERBOSE=ON # 詳細ログ出力

:0
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTCQ\+NUJ6OS05cCIo
/dev/null

# ヘッダーに「X-Spam-***」がない場合 spamassassin を起動
:0fw
*!^X-Spam.*
|spamassassin

# ヘッダーに「X-Spam-Status: Yes」がある場合「.spam」ディレクトリに格納
:0
*^X-Spam-Status: Yes
$SPAM

■スパムメール学習
[root@ns1 ~]# vi /etc/periodic/daily/620.sa-learn

↓下記を記入
#!/bin/sh

# spamフォルダをスパムとして学習
/usr/local/bin/sa-learn --spam /home/*/Maildir/.spam/cur

# Maildirフォルダを通常のメールとして学習
/usr/local/bin/sa-learn --ham /home/*/Maildir/cur

# spamフォルダ削除する場合は下記をコメント解除
#/bin/rm -f /home/*/Maildir/.spam/cur/*

■Outlook Expressの設定 (IMAPの場合)

01.アカウントをクリックして「IMAPフォルダ」をクリック。



02.「リセット」をクリック。



03.「spam」フォルダをクリックして「表示」をクリック。



04.「OK」をクリック。



05.ヘッダーに「X-Spam-Status: Yes」がある場合は「spam」フォルダに格納される。

■スパムメール送信テスト
[root@ns1 ~]# echo "XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X"|mail hoge

※黄色い部分は環境に合わせて変更してください。


Home PageTop Last updated 2010-05-21

このサイトはリンクフリーです。ご自由にリンクしてください。 Copyright freebsd.server-manual.com