このブログを検索

2016年6月24日金曜日

postfixとSPFとDKIMとamavisの話

このところメールの問い合わせが多いのですが、今回SPF、DKIM、スパムチェックをある顧客に追加した際の話です。

先にpostfixが入っており、今回、amavisの追加し、spamチェック機能を強化するということが目的で追加構築しました。

すでにあるメールサーバーはそのままに、弊社ではリレーサーバーを担当し、
今回新たに追加する機器がMXで指定されたメールサーバーに変更されました。



こうすることで、既存サーバーはそのままに、スパムチェック機能が追加されます。
amavisで、スパムを数値化されるのですが、アルゴリズムの詳細はすべて公開されていないようなので、顧客によっては、修正(ドメインなどによる加減)が必要となり、最低ひと月から三か月はログを精査する必要があります。

このamavisでスパムのポイント化と同時にDKIMやSPFのチェックもしております。
参考まで、スパムのヘッダー部分を下記にアップします。

-メールヘッダー(スパムの場合)-
Received: from localhost (localhost [127.0.0.1])
 by tsukuyomi.niriakot.jp (Postfix) with ESMTP id 82132384427
 for <master@tsukuyomi.niriakot.jp>; Thu, 23 Jun 2016 18:10:04 +0900 (JST)
X-Virus-Scanned: amavisd-new at niriakot.jp
X-Spam-Flag: YES
X-Spam-Score: 9.821
X-Spam-Level: *********
X-Spam-Status: Yes, score=9.821 tagged_above=0 required=8 tests=[BAYES_95=4,
 CONTENT_TYPE_PRESENT=-0.1, DIRECTUNKNOWN=0.3, HELO_MISC_IP=0.249,
 ONLY1HOPDIRECT=1, QENCPTR1=0.2, RCVD_IN_AHBL=0.5,
 RCVD_IN_AHBL_PROXY=0.2, RCVD_IN_AHBL_SPAM=0.1, RCVD_IN_CHINA=0.1,
 RCVD_IN_CHINA_KR=0.1, RCVD_IN_TAIWAN=0.1, RCVD_NUMERIC_HELO2=1.5,
 RDNS_NONE=0.793, SPF_NEUTRAL=0.779] autolearn=no
Received: from tsukuyomi.niriakot.jp ([127.0.0.1])
 by localhost (tsukuyomi.niriakot.jp [127.0.0.1]) (amavisd-new, port 10024)
 with LMTP id rPuOpak0CBBj
 for <master@tsukuyomi.niriakot.jp>;
 Thu, 23 Jun 2016 18:10:00 +0900 (JST)
Received-SPF: Neutral (access neither permitted nor denied) identity=mailfrom; 
client-ip=144.48.160.218; helo=[144.48.160.218]; envelope-from=mclaughlin.10309@bluelink.se;
 receiver=master@niriakot.jp 
Received: from [144.48.160.218] (unknown [144.48.160.218])
 by tsukuyomi.niriakot.jp (Postfix) with ESMTP id D3174382B95
---終了---

gmailのヘッダーも参考にあげておきます。

-メールヘッダー(gmailの場合)-
Received: from localhost (localhost [127.0.0.1])
 by tsukuyomi.niriakot.jp (Postfix) with ESMTP id 41063384427
 for <master@tsukuyomi.niriakot.jp>; Thu, 23 Jun 2016 16:34:55 +0900 (JST)
X-Virus-Scanned: amavisd-new at niriakot.jp
X-Spam-Flag: NO
X-Spam-Score: 1.457
X-Spam-Level: *
X-Spam-Status: No, score=1.457 tagged_above=0 required=8 tests=[ARIN=0.1,
 AWL=-0.443, BAYES_50=0.8, CONTENT_TYPE_PRESENT=-0.1, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001,
 ISO2022JP_CHARSET=-0.1, QENCPTR1=0.2, RCVD_IN_AHBL=0.5,
 RCVD_IN_AHBL_PROXY=0.2, RCVD_IN_AHBL_SPAM=0.1, RCVD_IN_CHINA=0.1,
 RCVD_IN_CHINA_KR=0.1, RCVD_IN_TAIWAN=0.1, SPF_PASS=-0.001]
 autolearn=no
Authentication-Results: tsukuyomi.niriakot.jp (amavisd-new);
 dkim=pass (2048-bit key) header.d=gmail.com
Received: from tsukuyomi.niriakot.jp ([127.0.0.1])
 by localhost (tsukuyomi.niriakot.jp [127.0.0.1]) (amavisd-new, port 10024)
 with LMTP id eES68BIpqxoL
 for <master@tsukuyomi.niriakot.jp>;
 Thu, 23 Jun 2016 16:34:50 +0900 (JST)
Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.85.220.51;
 helo=mail-pa0-f51.google.com; envelope-from=master@gmail.com; receiver=master@niriakot.jp 
Received: from mail-pa0-f51.google.com (mail-pa0-f51.google.com [209.85.220.51])
 by tsukuyomi.niriakot.jp (Postfix) with ESMTPS id 78B29383120
---終了---

このamavisのDKIMチェックは1行分結果が出るのですが、SPFに関しては、X-Spam-Statusの部分にSPF_PASS=-0.001という記録が残るだけです。
なので、上記のようにReceived-SPF:のログを残すためには、
pypolicyd-spf 1.3.2
をインストールしてあげる必要があります。

python版を使用した方がコンフィグ設定できるので、python版をお勧め致します。
perl版は単純にログを残すだけならそれでもいいですが、いろいろ制御やログを考えるとpython版を使用した方がいいです。
そのSPFのプログラムを入れる際にmain.cfを修正すると思いますが、
smtpd_recipient_restrictions=
 check_recipient_access hash:/etc/postfix/recipient_access
 permit_mynetworks
 check_policy_service unix:private/policy-spf
 permit_sasl_authenticated
 permit_auth_destination
 reject_unauth_destination
 reject
この「smtpd_recipient_restrictions」は登録した上の方からチェックして、複数同時に実行されませんので、 permit_sasl_authenticatedや permit_auth_destinationで登録してあるとそれが先に実行されて、ヘッダーにログが残らないので、登録する順番に気を付けてください。

外のサイト見ると permit_auth_destinationの下に入れてる方が多いですが、
自分が管理する以外は、ログを残すために弊社では優先度を挙げております。

このようにログを取ることで、いろんな対策が打てるようになります。
ぜひ、ログをとって、不正アクセス対策を実施して下さい。

---CM---
弊社では、ITコンサルティング契約を
5万円(税抜)/月額から承っております。
現状のネットワークの構成やこれから実施したいこと、
一番やりたいこと、2番目にやりたいことなどを明記して頂き、
その他のご相談も含めて
見積依頼をメールで頂ければ、24時間以内にご返答致します。
基本的に弊社の運用は、弊社サーバーを経由したリモートアクセスによるものなので、
外出中でも数時間以内に対応可能です。
打ち合わせや月例会などもオンラインで実施致しますので、
時間及びコスト効率を最大限に考慮し、ご提案させて頂きます。
どうぞお気軽にご相談ください。
これ以外でも、弊社では各種サーバー
(DNS、メール、Web、ファイル共有、カスタマイズ、セキュリティチェック、ベンチマーク)を
オープンソースで、作成し、運用を致しますので、
御用命は、
webmaster@niriakot.jp
までどうぞ。 http://niriakot.jp/
(時給6,000円から請け負います。。。相談は無料。。。)
価格の詳細は、
http://niriakot.jp/service/price.html
を参照ください。

0 件のコメント:

コメントを投稿