この記事の内容は古くなっています。新しい記事はこちらにあります。
BlueOnyx に SpamAssassin と ClamAV をインストールし、メールサーバに対して SPAM およびウイルス対策を行った。BlueOnyx に限らず、以下の環境であれば同じ手順で問題なくインストールできると思われる。
- CentOS 5.5
- sendmail 8
RPMforge レポジトリの有効化
まず、今回使用する各プログラムを yum でインストールできるようにするため、RPMforge レポジトリを有効にする。
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
# sed -i -e "s/enabled = 1/enabled = 0/" /etc/yum.repos.d/rpmforge.repo
SpamAssassin のインストール
SPAM メールの検証ソフト SpamAssassin をインストールする。
- yum で spamassassin、spamass-milter をインストールする。
# yum install -y spamassassin spamass-milter --enablerepo=rpmforge
- 送信ドメイン認証や SPF を検証するための Perl モジュールをインストールする。
# yum install -y perl-Mail-DKIM perl-Mail-DomainKeys perl-Mail-SPF-Query --enablerepo=rpmforge
- SpamAssassin の定義ファイルを作成する。今回は TLEC さんのものを使用させていただいた。
# cd /etc/mail/spamassassin # wget http://tlec.linux.or.jp/docs/user_prefs -O 10_user_prefs
- SpamAssassin の設定ファイルを作成する。
# vi 20_local.cf required_score 7.5 report_safe 0 rewrite_header Subject [SPAM] # 不要なスコアリング score TVD_SPACE_RATIO 0.0 score FH_DATE_PAST_20XX 0.0 score GAPPY_SUBJECT 0.0 score DNS_FROM_OPENWHOIS 0.0 # SPF & DomainKeys score SPF_HELO_SOFTFAIL 2.5 score SPF_SOFTFAIL 2.5 score SPF_FAIL 3.0 score SPF_PASS 0 score DKIM_VERIFIED -2.0 score DKIM_SIGNED -1.0 # 逆引きできない or 動的IPのホスト score RDNS_NONE 4.5 score RDNS_DYNAMIC 1.0
- spamass-milter によるメールヘッダの書換を許可する。
# echo "EXTRA_FLAGS=\"\"" >> /etc/sysconfig/spamass-milter
- ルールセットをアップデートする。
# yum install -y perl-Archive-Tar # sa-update
- spamass-milter を起動する。
# /etc/init.d/spamass-milter start # /sbin/chkconfig spamass-milter on
ClamAV のインストール
次に、ウイルスチェックソフト ClamAV をインストールする。
- yum で clamav clamd clamav-milter をインストールする。
# yum install -y clamav clamd clamav-milter --enablerepo=rpmforge
- ウイルス定義ファイルを最新版に更新する。
# freshclam
- TCP ソケット通信を停止する。
# sed -i -e "s/TCPSocket 3310/#TCPSocket 3310/" /etc/clamd.conf
- 検査結果をメールヘッダに追加するようにする。
# sed -i -e "s/#AddHeader Replace/AddHeader Add/" /etc/clamav-milter.conf
- clamd を起動する。
# /etc/init.d/clamd start # /sbin/chkconfig clamd on
- clamav-milter を起動する。
# /etc/init.d/clamav-milter start # /sbin/chkconfig clamav-milter on
Sendmail との連携
最後に、インストールした 2 つのプログラムと Sendmail を連携させる。
- Sendmail の設定ファイル (/etc/mail/sendmail.mc) を開き、
MAILER(smtp)dnl
という行の直前に、以下の 3 行を追加する。
INPUT_MAIL_FILTER(`clamav', `S=local:/var/clamav/clmilter.socket, F=, T=S:4m;R:4m') INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m') define(`confINPUT_MAIL_FILTERS', `spamassassin,clamav')
- Sendmail を再起動する。
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf # /etc/init.d/sendmail restart
以後、受信したメールに spamass-milter や clamav-milter のヘッダが挿入されていれば成功だ。ClamAV はメモリをバカ食いするので注意が必要である。
コメント