header_checksで中継サーバーを弾く

postfixの設定で、外部メーラーからの転送時に弾くことを追加した。
header-checks等である。

postfixの設定ファイル(main.cf)に次を加える。

元々、main.cfには
#header_checks = regexp:/opt/local/etc/postfix/header_checks
と入っていて、etc/postfixの中にもheader_checksファイルが存在する。
これらは、perlの正規表現検索を用いて弾く対象かどうかを判断する。
regexp:でなくprce:なのは次の一行目を使いたかったから。

とコンパイル時にオプションを付け加えている。
–enforce-variantsはupgrade前とvariantsが違う(追加されている)からで、入れないとportから要求される。
pcre(Perl Compatible Regular Expressions)はperl互換正規表現のc言語ライブラリで、組み込むとperlと一緒の正規表現が使えるようになる。regexpの上位互換だと思えば良いらしい。(Geminiさん情報)

postscreenは送信先をチェックする。
中間の経由Serverはチェックしない。
なので、header_checksが有効になってくる。
上の/^Received:.*\.usedtruckyard\.com/は正規表現でReceived(中継サーバー)がusedtruckyard.comなら弾くDISCARD(受け取ったふりをして捨てる)となっている。REJECT(拒否)でなくDISCARDなのは、転送先が再送信してくる(基本的な対応だと思う)から。

同様に、mime_header_checksは添付ファイル(の拡張子)をチェックする。

中身は全部、Geminiさんにお任せである。
これで判るが、Windowsに特化しているね。
Macだから、これ(mime_header_checks)いらないかも。(笑)

次は、nested_header_checks。

これもGeminiさんに考えてもらった。(コメントごと)
こいつもWindows使わない人には意味が無いな。

最後が、milter_header_checks。中身は、

これだけ。
何が何でも届けるぞってサーバー(結構ある)は、Spamだと判っていても、逆引きに失敗しても「Domainが正しい、DNSに登録されている」Serverだと受け取る。
これは全世界に「逆引きできないレンタルサーバー」の利用者が多いせいらしい。
なので、header_checksの一行目
/^Received:.*\.(site|xyz|online|top|club|cn|kr|ru)/ REJECT Spamer-sender
が生きてくる。
中継に中国やロシアのサーバーが絡んでいたら落とす。弾く。無視する。
大体これでspamや迷惑メールは弾ける設定である。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)