Hi all,

I'm trying to create a rule which will check the results of the ASN plugin. 

My longer term goal is to use this and the Sender information together to catch 
suspicious emails that have Google in the Senders Name but orginate from a non 
Google domain (eg somegoogledomainijustmadeup.com) and doesn't originate from a 
Google ASN (and therefore a Google IP range).

As a test I have the following...

ifplugin Mail::SpamAssassin::Plugin::ASN
   header      T_SCS_ASN_EXISTS              exists:X-ASN
   header      T_SCS_ASN_ANYTHING            X-ASN =~ /.*/i
   header      T_SCS_ASN_ANY_AS              X-ASN =~ /AS[0-9]*/i
   header      T_SCS_ASN_AS15169             X-ASN =~ /AS15169/
   header      T_SCS_ASN_AS15169B            X-ASN =~ /^AS15169 /
endif

On a test message which I sent myself on Friday from my google account and 
which I am now currently pipping into SpamAssassin at the command line the 
rules T_SCS_ASN_EXISTS and T_SCS_ASN_ANYTHING trigger but T_SCS_ASN_ANY_AS, 
T_SCS_ASN_AS15169 and T_SCS_ASN_AS15169B.

I've dabbled with rule priorities but it didn't appear to make any difference.
In any case the message itself has no ASN header in it so the fact the 
T_SCS_ASN_EXISTS triggers suggests to me my rules are being run after the ASN 
plugin completes its work (?)

I initally had problems even getting SpamAssassin to find the ASN header but 
http://www.gossamer-threads.com/lists/spamassassin/users/178388 pointed out 
"The metadata pseudo-headers are available to rules with an X- prefix." and 
goes on to give an example ...

header ASnnnn X-ASN =~ /^ASnnnn / 

... which doesn't trigger on my system.

Heres the relevant output from scanning my test message...

# spamassassin -D < ~/test-asn.txt | & /usr/bin/grep -i ASN
Nov 23 11:54:04.401 [74846] dbg: config: read file 
/usr/local/etc/mail/spamassassin/Spectrum-ASN.cf
Nov 23 11:54:04.670 [74846] dbg: plugin: loading 
Mail::SpamAssassin::Plugin::ASN from @INC
Nov 23 11:54:04.890 [74846] dbg: config: fixed relative path: 
/var/db/spamassassin/3.004001/updates_spamassassin_org/25_asn.cf
Nov 23 11:54:04.890 [74846] dbg: config: using 
"/var/db/spamassassin/3.004001/updates_spamassassin_org/25_asn.cf" for included 
file
Nov 23 11:54:04.891 [74846] dbg: config: read file 
/var/db/spamassassin/3.004001/updates_spamassassin_org/25_asn.cf
Nov 23 11:54:05.457 [74846] dbg: plugin: did not register 
Mail::SpamAssassin::Plugin::ASN, already registered
Nov 23 11:54:12.332 [74846] dbg: plugin: 
Mail::SpamAssassin::Plugin::ASN=HASH(0x80a83d798) implements 'parsed_metadata', 
priority 0
Nov 23 11:54:12.337 [74846] dbg: asn: using first external relay IP for 
lookups: 74.125.82.50
Nov 23 11:54:12.337 [74846] dbg: async: launching 
TXT/50.82.125.74.asn.routeviews.org for asnlookup-0-asn.routeviews.org
Nov 23 11:54:12.345 [74846] dbg: dns: providing a callback for id: 
23747/IN/TXT/50.82.125.74.asn.routeviews.org
Nov 23 11:54:12.345 [74846] dbg: async: starting: TXT, 
asnlookup-0-asn.routeviews.org (timeout 15.0s, min 3.0s)
Nov 23 11:54:12.345 [74846] dbg: asn: launched DNS TXT query for 
50.82.125.74.asn.routeviews.org in background
Nov 23 11:54:12.345 [74846] dbg: async: query 
23747/IN/TXT/50.82.125.74.asn.routeviews.org already underway, adding no.2 
asnlookup-1-asn.routeviews.org
Nov 23 11:54:12.345 [74846] dbg: asn: launched DNS TXT query for 
50.82.125.74.asn.routeviews.org in background
Nov 23 11:54:12.345 [74846] dbg: async: launching 
TXT/50.82.125.74.ip2asn.sasm4.net for asnlookup-2-ip2asn.sasm4.net
Nov 23 11:54:12.346 [74846] dbg: dns: providing a callback for id: 
18937/IN/TXT/50.82.125.74.ip2asn.sasm4.net
Nov 23 11:54:12.346 [74846] dbg: async: starting: TXT, 
asnlookup-2-ip2asn.sasm4.net (timeout 15.0s, min 3.0s)
Nov 23 11:54:12.346 [74846] dbg: asn: launched DNS TXT query for 
50.82.125.74.ip2asn.sasm4.net in background
Nov 23 11:54:12.346 [74846] dbg: async: launching 
TXT/50.82.125.74.origin.asn.spameatingmonkey.net for 
asnlookup-3-origin.asn.spameatingmonkey.net
Nov 23 11:54:12.347 [74846] dbg: dns: providing a callback for id: 
21798/IN/TXT/50.82.125.74.origin.asn.spameatingmonkey.net
Nov 23 11:54:12.347 [74846] dbg: async: starting: TXT, 
asnlookup-3-origin.asn.spameatingmonkey.net (timeout 15.0s, min 3.0s)
Nov 23 11:54:12.347 [74846] dbg: asn: launched DNS TXT query for 
50.82.125.74.origin.asn.spameatingmonkey.net in background
Nov 23 11:54:12.379 [74846] dbg: async: calling callback on key 
asnlookup-0-asn.routeviews.org
Nov 23 11:54:12.379 [74846] dbg: asn: asn.routeviews.org: lookup result packet: 
50.82.125.74.asn.routeviews.org. 83431 IN TXT 15169 74.125.0.0 16
Nov 23 11:54:12.379 [74846] dbg: asn: ASNCIDR added route 74.125.0.0/16
Nov 23 11:54:12.379 [74846] dbg: asn: ASN added asn 15169
Nov 23 11:54:12.379 [74846] dbg: check: tagrun - tag ASN is now ready, value: 
AS15169
Nov 23 11:54:12.379 [74846] dbg: check: tagrun - tag ASNCIDR is now ready, 
value: 74.125.0.0/16
Nov 23 11:54:12.379 [74846] dbg: async: calling callback on key 
asnlookup-0-asn.routeviews.org
Nov 23 11:54:12.380 [74846] dbg: asn: asn.routeviews.org: lookup result packet: 
50.82.125.74.asn.routeviews.org. 83431 IN TXT 15169 74.125.0.0 16
Nov 23 11:54:12.380 [74846] dbg: asn: ASNCIDRROUTEVIEWS added route 
74.125.0.0/16
Nov 23 11:54:12.380 [74846] dbg: asn: ASNROUTEVIEWS added asn 15169
Nov 23 11:54:12.380 [74846] dbg: check: tagrun - tag ASNROUTEVIEWS is now 
ready, value: AS15169
Nov 23 11:54:12.380 [74846] dbg: check: tagrun - tag ASNCIDRROUTEVIEWS is now 
ready, value: 74.125.0.0/16
Nov 23 11:54:12.381 [74846] dbg: async: calling callback on key 
asnlookup-2-ip2asn.sasm4.net
Nov 23 11:54:12.381 [74846] dbg: asn: ip2asn.sasm4.net: lookup result packet: 
50.82.125.74.ip2asn.sasm4.net. 631 IN TXT AS15169
Nov 23 11:54:12.381 [74846] dbg: asn: ASNSASM4 added asn 15169
Nov 23 11:54:12.381 [74846] dbg: check: tagrun - tag ASNSASM4 is now ready, 
value: AS15169
Nov 23 11:54:12.383 [74846] dbg: async: calling callback on key 
asnlookup-3-origin.asn.spameatingmonkey.net
Nov 23 11:54:12.383 [74846] dbg: asn: origin.asn.spameatingmonkey.net: lookup 
result packet: 50.82.125.74.origin.asn.spameatingmonkey.net. 221 IN TXT (
Nov 23 11:54:12.383 [74846] dbg: asn: [...] "74.125.0.0/16 | AS15169 | Google 
Inc. | 2000-03-30 | US" )
Nov 23 11:54:12.383 [74846] dbg: asn: ASNCIDRSEM added route 74.125.0.0/16
Nov 23 11:54:12.383 [74846] dbg: asn: ASNSEM added asn 15169
Nov 23 11:54:12.383 [74846] dbg: check: tagrun - tag ASNSEM is now ready, 
value: AS15169
Nov 23 11:54:12.383 [74846] dbg: check: tagrun - tag ASNCIDRSEM is now ready, 
value: 74.125.0.0/16
Nov 23 11:54:12.397 [74846] dbg: async: completed in 0.034 s: TXT, 
asnlookup-3-origin.asn.spameatingmonkey.net
Nov 23 11:54:12.398 [74846] dbg: async: completed in 0.027 s: TXT, 
asnlookup-0-asn.routeviews.org
Nov 23 11:54:12.398 [74846] dbg: async: completed in 0.034 s: TXT, 
asnlookup-2-ip2asn.sasm4.net
Nov 23 11:54:13.574 [74846] dbg: rules: ran header rule T_SCS_ASN_EXISTS 
======> got hit: "<YES>"
Nov 23 11:54:13.574 [74846] dbg: rules: ran header rule T_SCS_ASN_ANYTHING 
======> got hit: "15169"
Nov 23 11:54:14.396 [74846] dbg: async: timing: 0.027 . 
asnlookup-0-asn.routeviews.org
Nov 23 11:54:14.397 [74846] dbg: async: timing: 0.034 . 
asnlookup-2-ip2asn.sasm4.net
Nov 23 11:54:14.397 [74846] dbg: async: timing: 0.034 . 
asnlookup-3-origin.asn.spameatingmonkey.net
Nov 23 11:54:14.571 [74846] dbg: check: 
tests=BAYES_00,DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,FREEMAIL_FROM,HTML_MESSAGE,NML_ADSP_CUSTOM_MED,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS,TXREP,T_DKIM_INVALID,T_SCS_ASN_ANYTHING,T_SCS_ASN_EXISTS
X-Spam-ASN: AS15169 74.125.0.0/16
        T_SCS_ASN_ANYTHING,T_SCS_ASN_EXISTS shortcircuit=no autolearn=no
X-Spam-ASN_RV: AS15169 74.125.0.0/16
X-Spam-ASN_SASM4: AS15169
X-Spam-ASN_SEM: AS15169 74.125.0.0/16
        
SPF_PASS=-0.001,TXREP=-1.021,T_DKIM_INVALID=0.01,T_SCS_ASN_ANYTHING=0.01, 
T_SCS_ASN_EXISTS=0.01

Any advice gratefully received!

Steve


Reply via email to