Awesome, thanks for everyone's advice.
On 12/25/14 7:19 PM, li...@rhsoft.net wrote:
oh and don't forget URIBL scores for SpamAssassin
URIBL_BLACK has a zero-false-positive policy
as said, sapmass-milter runs with block above 8.0 here and the default
max-message size which is scanned is *way* too low, spammers know that
/usr/sbin/spamass-milter -p /run/spamass-milter/spamass-milter.sock -g
sa-milt -r 8.0 -- -s 5242880 --port=10028
score URIBL_AB_SURBL 4.5
score URIBL_JP_SURBL 4.5
score URIBL_MW_SURBL 5.0
score URIBL_PH_SURBL 5.0
score URIBL_WS_SURBL 3.5
score URIBL_SC_SURBL 0.5
score URIBL_SBL 1.5
score URIBL_SBL_A 1.5
score URIBL_DBL_SPAM 3.0
score URIBL_DBL_BOTNETCC 3.0
score URIBL_DBL_PHISH 3.5
score URIBL_DBL_MALWARE 3.5
score URIBL_DBL_ABUSE_SPAM 3.0
score URIBL_DBL_ABUSE_BOTCC 3.0
score URIBL_DBL_ABUSE_PHISH 5.0
score URIBL_DBL_ABUSE_MALW 5.0
score URIBL_BLACK 7.0
score URIBL_GREY 0.5
score URIBL_RED 0.5
score URIBL_DBL_REDIR 0.1
score URIBL_DBL_ABUSE_REDIR 0.3
score URIBL_BLOCKED 0
score URIBL_DBL_ERROR 0
score URI_PHISH 3.5
score URI_TRY_3LD 0.5
score URI_WP_HACKED 3.5
Am 26.12.2014 um 03:15 schrieb li...@rhsoft.net:
make them hate you by more aggresive RBL scoring and *slow down them* as
well as consider a manual trained global bayes with at least 1000 ham
and 1000 spam messages
* find common tags in the maillog
* adjust scores in SA local.cf for them
* adjust the scores for bayes after it si well trained
* consider global hashing services like IXHASH for SpamAssassin
* whatever you setup - be careful about non-scored decisions
our incoming spam *attempts* dopped down from 293 per minute to 20 per
minute and even the last two days the highest peak was 50 per minute and
we are talking here about rejections before the SA milter
below some key configs of our inbound-only filter, i avoid detail
configs because i am happy about some common senders, HELO's and a lot
of PTR's catched with regex and would like them not to change by
bot-developers monitoring public mailing lists :-)
since i trust my bayes with 15000 hand-trained messages that's the
scoring in context of 8.0 = milter reject
# adjust bayes scoring
ifplugin Mail::SpamAssassin::Plugin::Bayes
score BAYES_00 -3.5
score BAYES_05 -1.5
score BAYES_20 -0.5
score BAYES_40 -0.2
score BAYES_50 2.5
score BAYES_60 3.0
score BAYES_80 5.0
score BAYES_95 6.5
score BAYES_99 7.5
score BAYES_999 0.4
endif
here some real numbers of the current month
Connections: 210100
Delivered: 58351
Blocked: 151749
Invalid User: 6639
Disallowed User: 11
Reject Postscreen: 121348
Reject Postfix: 14346
Reject Milter: 5263
Reject Temporary: 3706
Blacklist: 113766
Pregreet: 15197
Hangup: 50176
Protocol Error: 3876
Illegal Syntax: 8
SpamAssassin: 5158
Virus: 99
Helo: 1669
Subject: 241
Attachment: 13
Sender Regex: 297
Sender Blocked: 573
Sender Verify: 15
Sender Invalid: 1888
Sender Spoofed: 14
Sender Parked: 21
PTR Missing: 1592
PTR Generic: 970
SPF: 569
______________________________________________________________
bots don't like to wait, that's 5 seoconds penalty even after somebody
passed postscreen until the server is under load or the client is on any
DNSWL
smtpd_client_restrictions =
reject_unlisted_recipient
permit_dnswl_client list.dnswl.org
permit_dnswl_client wl.mailspike.net
permit_dnswl_client iadb.isipp.com
permit_dnswl_client sa-accredit.habeas.com
permit_dnswl_client dnswl.inps.de
permit_dnswl_client swl.spamhaus.org
permit_dnswl_client hostkarma.junkemailfilter.com=127.0.0.1
${stress?sleep 0}${stress: sleep 5}
______________________________________________________________
some ideas for a restriction order, the thoughts behind the config files
should be clear by their names
smtpd_recipient_restrictions =
reject_non_fqdn_recipient
reject_non_fqdn_sender
reject_unauth_destination
reject_unlisted_recipient
check_helo_access regexp:/etc/postfix/blacklist_helo_uncond.cf
reject_non_fqdn_helo_hostname
reject_invalid_helo_hostname
reject_unknown_sender_domain
check_recipient_access hash:/etc/postfix/blacklist_rcpt.cf
check_sender_access hash:/etc/postfix/whitelist_sender.cf
check_sender_access hash:/etc/postfix/blacklist_sender.cf
check_sender_access hash:/etc/postfix/spoofing_protection.cf
check_sender_access regexp:/etc/postfix/blacklist_sender_regex.cf
reject_unknown_reverse_client_hostname
check_sender_ns_access hash:/etc/postfix/blacklist_ns.cf
permit_dnswl_client wl.mailspike.net=127.0.0.[19;20]
permit_dnswl_client list.dnswl.org=127.0.[0..255].[2;3]
check_policy_service unix:private/spf-policy
check_recipient_access hash:/etc/postfix/skip_ptr_check.cf
permit_dnswl_client wl.mailspike.net
permit_dnswl_client list.dnswl.org
permit_dnswl_client iadb.isipp.com
permit_dnswl_client sa-accredit.habeas.com
permit_dnswl_client dnswl.inps.de
permit_dnswl_client swl.spamhaus.org
permit_dnswl_client hostkarma.junkemailfilter.com=127.0.0.1
check_helo_access regexp:/etc/postfix/blacklist_helo.cf
check_reverse_client_hostname_access
regexp:/etc/postfix/generic_ptr.cf
reject_unverified_sender
______________________________________________________________
lower the RBL TTL of postscreen to catch new blacklisted clients faster
and consider setup a unbound dns-cache on localhost with tuned caching
the min-TTL lowers the network costs for DNSBL/DNSWL with a very low
origin TTL after postscreen as well a prevents exceed limits of some
lists
cache-min-ttl: 270
cache-max-ttl: 7200
postscreen can be much more aggressive by slow down new clients for 10
seconds, use a lot of more RBL's but back them up also with DNSWL to
avoid false positives and i have not seen any FP with that setup, look
also at the spamassassin config and consider raise up the scores for
RBL's to give more penalty if as example someone is on the barracuda RBL
but you really don't want to reject because any single RBL
postscreen_dnsbl_ttl = 5m
postscreen_dnsbl_threshold = 8
postscreen_dnsbl_action = enforce
postscreen_greet_action = enforce
postscreen_greet_wait = ${stress?3}${stress:10}s
postscreen_dnsbl_sites =
dnsbl.sorbs.net=127.0.0.10*8
zen.spamhaus.org=127.0.0.[10;11]*8
b.barracudacentral.org=127.0.0.2*7
dnsbl.inps.de=127.0.0.2*7
dnsbl.sorbs.net=127.0.0.5*7
zen.spamhaus.org=127.0.0.[4..7]*7
zen.spamhaus.org=127.0.0.3*5
bl.mailspike.net=127.0.0.2*5
bl.mailspike.net=127.0.0.[10;11;12]*4
bl.spamcop.net=127.0.0.2*4
bl.spameatingmonkey.net=127.0.0.[2;3]*4
dnsrbl.swinog.ch=127.0.0.3*4
zen.spamhaus.org=127.0.0.2*3
dnsbl.sorbs.net=127.0.0.7*3
dnsbl.sorbs.net=127.0.0.8*2
dnsbl.sorbs.net=127.0.0.6*2
dnsbl.sorbs.net=127.0.0.9*2
wl.mailspike.net=127.0.0.[18;19;20]*-2
list.dnswl.org=127.0.[0..255].0*-2
list.dnswl.org=127.0.[0..255].1*-3
list.dnswl.org=127.0.[0..255].2*-4
list.dnswl.org=127.0.[0..255].3*-5
Am 25.12.2014 um 23:24 schrieb Asai:
We have a real spam problem for some users, and this seems to be really
tough spam to block. I have postscreen set up which blocks a lot of
spam, of the spam that does get through, Spamassassin catches about 200
spams a day, but we have about a dozen users that get 20 - 30 spams a
day, so I ask if anyone can give me some advice about my configs here.
This is what I have had thus far, postscreen's deep protocol tests have
been turned on a turned off at different times due to troubleshooting a
particular user's iPhone connection, and they are off at this time:
postscreen_access_list = permit_mynetworks,
cidr:/etc/postfix/postscreen_access.cidr
postscreen_dnsbl_threshold = 3
postscreen_dnsbl_sites = zen.spamhaus.org=127.0.0.[2;3;4;5;6;7]*4
#l2.apews.org*3, ##I've used this with variable successs
dbl.spamhaus.org*2
cbl.abuseat.org*2
zen.spamhaus.org*1
bl.spamcop.net*1
b.barracudacentral.org*1
bl.spameatingmonkey.net*1
dnsbl.sorbs.net*1
psbl.surriel.com
bl.mailspike.net
zen.spamhaus.org=127.0.0.11*-3
swl.spamhaus.org*-5
list.dnswl.org=127.[0..255].[0..255].0*-2
list.dnswl.org=127.[0..255].[0..255].1*-3
list.dnswl.org=127.[0..255].[0..255].[2..255]*-4
postscreen_dnsbl_whitelist_threshold = -1
postscreen_dnsbl_action = enforce
postscreen_blacklist_action = drop
postscreen_greet_banner =
postscreen_greet_action = drop
I'm wondering about turning this back on under
smtpd_recipient_restrictions which has been turned off since I started
using postscreen:
smtpd_recipient_restrictions = permit_mynetworks,
...
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client cbl.abuseat.org,
reject_rhsbl_sender dbl.spamhaus.org,
reject_rhsbl_sender rhsbl.sorbs.net,
permit
I would be grateful for any advice here and if anyone could share their
experience
--
--asai