同じ範囲のIPに関連するスパムの洪水に気づきました。
すべてのスパムメールには、異なるHTMLテキスト(英語ですが意味がありません)といくつかの埋め込み画像(私がブロックします)がありますが、実際には明らかに機械で生成され、内部フォーマットは非常に似ています。ところで、すべてのリンクと外部の写真は私のメーラーによってブロックされています。
私が気付いたのは、「from」アドレスドメインのMXはすべて狭い範囲のIPに存在し、それらはすべて同じVPSサービス「NodeOutletIndiaLLP」上にあるということです。そのため、誰かがこのサービスを使用してスパムボットのファームをホストしています。
次のようなspamassassinルールを生成したいと思います。
Linuxで実行されているspampdプロキシとspamassassinを使用しています。
明確にするために、ここに例があります:スパムメールは[email protected]からです
ソースメールはSPF、DMARCを通過し、DKIMで署名されています(すべて合法です)が、スパムです。それらのチェックだけで、それはハムと同様に得点します。
それについてスパムなのはコンテンツだけです。ほとんどの場合、HTMLとドメイン外のリンクが埋め込まれた画像と小さなテキストであり、これらの機能だけがスパムスコアを持ちますが、大きなものではありません。これらの電子メールは、スパム対策を回避するように明確に設計されています。
私はstufftobuy.comでMXRR DNSルックアップを実行し、mail.stufftobuy.comを取得し、mail.stufftobuy.comでA RR DNSルックアップを実行すると、ドメインMXからのすべてのアドレスが激怒する1つからIPV4が返されます。レコードが指す。
さらに分析を行う必要がありますが、インドとトルコの2つのサーバーファームからのもののようです。
1000通の電子メールのうち、1つのIPV4は2回しか表示されない場合があります。
実際のドメイン名は1回しか使用できないため、stufftobuy.comをスコアリングまたはブロックすることはできません。次のメッセージは、makecatvids.comなどからのものです。
同様に、私はpostfixで何千ものIPV4を盲目的にブロックすることはできません。それは、ISPが顧客の1人ではなく悪いと仮定するからです。
更新:askdnsプラグインが存在することはわかりますが、できますあるルールが別のルールにどのようにフィードできるかわかりません。単一のDNSルックアップでは十分ではありません。
はるかに重要:送信者IPレピュテーションを使用していることを確認してください。 Spamhaus Zen および SpamCop Blocking List 経由。これらはデフォルトでSpamAssassinにすでに含まれています(_RCVD_IN_PBL
_および_RCVD_IN_BL_SPAMCOP_NET
_を参照)。 Mail :: SpamAssassin :: Plugin :: DNSEval が正しくロードされていることと、 'ネットワークテストを有効にして実行しています(これはAskDNSにも必要です)。
Mail :: SpamAssassin :: Plugin :: AskDNS これはできません。探していることを正確に実行するには、独自のプラグインを作成する必要があります。
ただし、おそらくこのAskDNSの使用により、次のことが可能になります。
_ifplugin Mail::SpamAssassin::Plugin::AskDNS
askdns JM_SPF_HAS_36_255 _AUTHORDOMAIN_ TXT /\sip4:36\.255\.(?:2[0-4]|3[01])\./
describe JM_SPF_HAS_36_255 From header's SPF record blesses an IP in 36.255.24.0/21
score JM_SPF_HAS_36_255 2.0
endif
_
これにより、ヘッダーFromドメインの Sender Policy Framework (SPF)レコードがチェックされます。警告:
HELO
&_mail from
_コマンド、notヘッダーのドメインをチェックしますv=spf1 ip4:198.51.100.21 mx a include:example.com ~all
_に問題があります:mx
としてリストされているため、IPに解決できません。a
または別の_include:…
_がありますその最初の箇条書きについて:MXレコードは受信メールを参照しているので、SPFの許可された送信ホストのリストの方が関連性が高いと思います一般的なケースでは、私はあなたの正確な意図を話すことはできませんが。
更新:これらのスパムは [〜#〜] dkim [〜#〜] -署名されているとおっしゃいました。それらがすべて同じ署名ドメインを共有していると仮定して、それに基づいてブロックするだけです(ネットワークルックアップは必要ありません!):
_header JM_DKIM_EVIL_EXAMPLE_COM DKIM-Signature =~ /\sd=evil\.example\.com;/
describe JM_DKIM_EVIL_EXAMPLE_COM Message has DKIM signed by evil.example.com
score JM_DKIM_EVIL_EXAMPLE_COM 2.0
_
見つけた署名ドメイン(_d=…
_)ごとにこれらのルールの1つが必要になりますが、これは少数であると思います。
または、正規表現の交替を使用することもできます。例えば:/\sd=(?:(?:evil|spammer)\.example\.com|bad\.example\.info);/
は_d=evil.example.com;
_、_d=spammer.example.com;
_、および_d=bad.example.info;
_をブロックします。