20100910221534

Amavisd-new+SpamAssassin+ClamAV

本日は有給なり。本日は有給なり。 ということで、今日はサーバを相手にキャッキャウフフ。コンピュータは基本的に人に尽くすとても賢くて良い子です。あははは。新参ドメインというのもありますがPostfixにS25Rを導入して未だにSPAMに悩まされた事は無いのですが、来るであろう迷惑メールを想定してSpamAssassinとClamAV、Amavisd-newを導入。

■ /etc/portage/package.use
mail-filter/amavisd-new  -ldap spamassassin
mail-filter/spamassassin -ldap
ただ、ほぼデフォルトで動かしLDAPなど噛む必要が無いのでパッケージオプションは除去。

基本はGoogleにて載っているパッケージをインストールして最低限の調整を行えば動くようになります。 が、そのまま動かすと色々とメンテ上大変になるので幾つか手を加えたものだけ抜粋。 基本部分参考サイト:「Clam AV」 + 「amavisd-new」の設定 (CrimsonSnowさん)

■ /etc/passwd
spamd:x:[pid]:[gid]::/etc/mail/spamassassin:/sbin/nologin
SpamAssassin用ユーザ作成。 (Amavisd,ClamAVはパッケージ標準で作成)

■ /etc/conf.d/spamd
#SPAMD_OPTS="-m 5 -c -H"
SPAMD_OPTS="-m 5 -c -H -u spamd"
デーモンを挙げての動作となるが、rootでの動作が標準となっている為、spamdにて立ち上げるよう変更。

■ /etc/cron.weekly/spam_prefs.cron
#! /bin/sh

FILE_NAME="user_prefs"
PREFS_NAME="local.cf"
PREFS_URL="http://www.flcl.org/~yoh/"

COMM_PREFS="uso8000k_prefs"

SPAMD_PREFIX="/etc/mail/spamassassin/"
SPAMD_SCRIPT="/etc/init.d/spamd"

cd $PREFS_PREFIX

/usr/bin/wget -qN $PREFS_URL$FILE_NAME
cp $PREFS_NAME $PREFS_NAME.bak

diff $FILE_NAME $PREFS_NAME.bak > /dev/null 2>&1
if [ $? -ne 0 ]; then
mv $FILE_NAME $PREFS_NAME
cat $COMM_PREF >> $PREFS_NAME
$SPAMD_SCRIPT restart
fi
一週間に一回SPAM対策用のある程度精査されたSpamassasin用共通設定をダウンロードするスクリプト。また、こちらの設定もCatにてこっそり足している。
また、各デーモンのホームについては全てがAmavisを軸としたメールフィルタの機能となる為、メールフィルタ用のグループ (mailflt等) を作成して、各サービスのホームディレクトリに権限設定しておくと色々と連携させる事も容易。

それにしてもamavisdの設定ファイルが長いうえに実質Perlスクリプトで苦痛。死にたい。

Posted by uso8000k | Categories: Tech | [ツィート(笑)] | [2010/09/10/T22_15_34/]