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

Postfix Amavisd-new SpamAssassin インストール


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

「rpmforgeリポジトリ追加」
「アンチウイルス Clam Antivirus インストール」
「Postfix インストール」

■amavisd-newインストール
[root@ns1 ~]# yum -y install amavisd-new

■amavisd.conf編集
[root@ns1 ~]# cp /etc/amavisd.conf /etc/amavisd.conf.org
[root@ns1 ~]# vi /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 = 'centos.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"], ←変更(ソケットをclamdに合わせる)
qr/\bOK$/m, qr/\bFOUND$/m,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

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

■amavisd起動
[root@ns1 ~]# /etc/rc.d/init.d/amavisd start
[root@ns1 ~]# chkconfig amavisd on
[root@ns1 ~]# chkconfig --list amavisd
amavisd         0:off   1:off   2:on    3:on    4:on    5:on    6:off

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

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

■master.cf編集
[root@ns1 ~]# vi /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 /etc/mail/spamassassin/v310.pre

#loadplugin Mail::SpamAssassin::Plugin::TextCat
↓
loadplugin Mail::SpamAssassin::Plugin::TextCat ←コメント解除(TextCatを有効にする)

■SpamAssassin起動
[root@ns1 ~]# /etc/rc.d/init.d/spamassassin start
[root@ns1 ~]# chkconfig spamassassin on
[root@ns1 ~]# chkconfig --list spamassassin
spamassassin    0:off   1:off   2:on    3:on    4:on    5:on    6:off

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

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

cd /etc/mail/spamassassin
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
/etc/rc.d/init.d/spamassassin restart > /dev/null
[root@ns1 ~]# chmod +x /etc/cron.daily/spamassassin [root@ns1 ~]# /etc/cron.daily/spamassassin [root@ns1 ~]# ll /etc/mail/spamassassin 合計 720 -rw-r--r-- 1 root root 1299 1月 8 10:22 init.pre -rw-r--r-- 1 root root 328085 1月 20 03:55 local.cf ←local.cfを確認 -rw-r--r-- 1 root root 64 1月 8 10:22 spamassassin-default.rc -rw-r--r-- 1 root root 35 1月 8 10:22 spamassassin-helper.sh -rw-r--r-- 1 root root 55 1月 8 10:22 spamassassin-spamc.rc -rw-r--r-- 1 root root 328071 1月 19 10:00 user_prefs -rw-r--r-- 1 root root 2602 1月 20 03:51 v310.pre -rw-r--r-- 1 root root 1195 1月 8 10:22 v312.pre -rw-r--r-- 1 root root 2416 1月 8 10:22 v320.pre

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

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

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

# 件名に「未承諾広告※」を含むメールを破棄
:0
* ^Subject:.*iso-2022-jp
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -mwZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※'
/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 /etc/skel/Maildir/.spam/new
[root@ns1 ~]# mkdir -p /etc/skel/Maildir/.spam/cur
[root@ns1 ~]# mkdir -p /etc/skel/Maildir/.spam/tmp
[root@ns1 ~]# chmod -R 700 /etc/skel/Maildir/.spam

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

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

# 件名に「未承諾広告※」を含むメールを破棄
:0
* ^Subject:.*iso-2022-jp
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -mwZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※'
/dev/null

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

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

■スパムメール学習 (IMAPの場合)
[root@ns1 ~]# vi /etc/cron.daily/sa-learn

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

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

# Maildirフォルダを通常のメールとして学習
/usr/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-08-25

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