spam対策 その1

Mailを受信すると結構sapmが来ます。

迷惑なのでヘッダー情報を見てフィルタリングします。

「SPAM」とは、Hormel Foods社の味付け豚肉の缶詰の商品名のこと

とは別ですよ('∇')<わかってるって?w

■ルール作成

# vi /etc/postfix/header_checks

/name=.*\.scr/ REJECT

/name=.*\.exe/ REJECT

/name=\".*\.inf\"/ REJECT

/name=\".*\.scr\"/ REJECT

/name=\".*\.pif\"/ REJECT

/name=\".*\.bat\"/ REJECT

/name=\".*\.dll\"/ REJECT

/name=\".*\.vbs\"/ REJECT

/name=\".*\.reg\"/ REJECT

/name=\".*\.pdf\"/ REJECT

/name=\".*\.fdf\"/ REJECT

/^Return-Path:.*<#.*@.*>/ REJECT

/^From:.*<#.*@.*>/ REJECT

書き方は

/正規表現/ {OK|IGNORE|REJECT}

OK=許可します。

IGNORE=受け取るけど破棄する

REJECT=受け取り拒否でエラーを返す(DSNは500番台を返す)

※大量にMailを捌く場合は負荷の事を考えIGNOREがいいかもねぇ('∇')

上の記述ですと

/name=xxxx って奴が

「name=」が含まれるヘッダ内文字列に任意のファイル名(.*)に加え、

指定した拡張子が 含まれている場合に拒否(REJECT)を意味です。

/^Return-Pathと/^Fromは普通何か記述がついているのですがspamとかなら

ない場合があるのでない場合には拒否(REJECT)って事です。

ルール作成後は

# portmap /etc/postfix/header_checks

■Postfixの変更

# vi /etc/postfix/main.cf

smtpd_recipient_restrictions =

permit_mynetworks

check_client_access btree:/etc/dracd/dracd

check_relay_domains

header_checks = regexp:/etc/postfix/header_checks

# /usr/sbin/postfix reload