Am 20.01.2017 um 02:27 schrieb Paul Kosinski:
We currently chain Postfix (with its SMTP protocol and rate filters)
via Procmail, first to Clamd, to filter any mail with a virus (etc.) and
send it to a Virus bucket. Next the mail goes to Bogofilter which
attaches a tag for Spam/Mail/Ambiguous. Next the mail goes to an
address filter, which blocks some senders while changing the Spam tag
to Ambiguous for other senders (in particular senders who have been
recipients of outbound mail). Finally, anything tagged as Spam is
routed to a Spam bucket (for possible later retrieval), while Mail and
Ambiguous mail is delivered to the final recipient.
postscreen with 50 DNSBL/DNSWL weighted which already kills more than
90% of all crap as you can see in the stats below and the whole setup is
running all day long with 50-300 MHz in a VM for some hundret domains
smtpd_milters = unix:/run/spamass-milter/spamass-milter.sock,
unix:/run/clamav-milter/clamav-milter.socket
the milters are at the end of the chain
SA is using two clamd instances one with 5.5 points (tag-score) and one
with (9.5 points) - reject score is 8.0 - so even if the clamav-milter
whitelists serious things are blocked anyways
two bayes-databases with 110000 hand-selected samples, SA builtin-bayes
as well as bogofilter and that combined with currently 1500 local
subject filters from 0.5 to 8.0 points and the same for 2000 body-filters
the clamavmilter is essentially the very last stage and did not hit a
single message in the last two months because the chain before already
rejected everything correctly and so a whitelisting there can't do any
real harm
smtpd_recipient_restrictions =
reject_unlisted_recipient
reject_unauth_destination
reject_non_fqdn_recipient
reject_non_fqdn_sender
check_policy_service unix:private/spf-policy-info
check_recipient_access proxy:hash:/etc/postfix/whitelist_rcpt.cf
reject_non_fqdn_helo_hostname
reject_invalid_helo_hostname
check_helo_access proxy:pcre:/etc/postfix/blacklist_helo_unconditional.cf
check_recipient_access proxy:hash:/etc/postfix/blacklist_rcpt.cf
check_sender_access proxy:hash:/etc/postfix/whitelist_sender.cf
check_sender_access proxy:hash:/etc/postfix/blacklist_sender.cf
permit_dnswl_client dnswl-aggregate.example.com=127.0.0.[2;3]
check_sender_access proxy:hash:/etc/postfix/spoofing_protection.cf
permit_dnswl_client dnswl-aggregate.example.com=127.0.0.4
check_sender_access proxy:pcre:/etc/postfix/blacklist_sender_regex.cf
reject_unknown_sender_domain
check_sender_ns_access proxy:hash:/etc/postfix/blacklist_ns.cf
check_recipient_access proxy:hash:/etc/postfix/skip_spf_check.cf
permit_dnswl_client dnswl-aggregate.example.com=127.0.0.5
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_sender_access proxy:pcre:/etc/postfix/blacklist_tld.cf
reject_unknown_reverse_client_hostname
check_recipient_access proxy:hash:/etc/postfix/skip_ptr_check.cf
permit_dnswl_client dnswl-aggregate.example.com
permit_dnswl_client dnswl-whitelisted-org.example.com
permit_dnswl_client list.dnswl.org=127.0.[0..255].[0..254]
permit_dnswl_client wl.mailspike.net=127.0.0.[16;17;18]
permit_dnswl_client hostkarma.junkemailfilter.com=127.0.0.[1;3;5]
permit_dnswl_client bl.nszones.com=127.0.0.5
permit_dnswl_client score.senderscore.com=127.0.4.[80..100]
permit_dnswl_client iadb.isipp.com
permit_dnswl_client sa-accredit.habeas.com
permit_dnswl_client dnswl.inps.de=127.0.[0;1].[2..10]
permit_dnswl_client swl.spamhaus.org=127.0.2.[2;3;102;103]
check_helo_access proxy:pcre:/etc/postfix/blacklist_helo.cf
check_reverse_client_hostname_access
proxy:pcre:/etc/postfix/blacklist_generic_ptr.cf
${stress?sleep 0}${stress: sleep 2}
check_policy_service unix:/var/spool/postfix/postgrey/socket
reject_unverified_sender
Since this is a small email system, we also use Procmail to invoke some
recipient dependent adhoc rules along the way to do this and that.
P.S. Depending on the exact set of ClamAV signatures, this flow may have
to be split into two Clamd stages: the first to identify hard malware
to be unconditionally blocked and the second to simply flag bad URLs etc.
that is what we do here
stats of the current month (postscreen only names the RBL with the
highest score leading to the 8.0 points for a reject)
dnsblcount.sh
spamhaus.org 215710
sorbs.net 39465
inps.de 13181
barracudacentral.org 7338
thelounge.net 1826
junkemailfilter.com 413
manitu.net 256
psbl.org 147
senderscore.com 135
mailspike.net 75
spameatingmonkey.net 26
spamcop.net 23
swinog.ch 22
spamcannibal.org 16
=================================
Total DNSBL rejections: 278633
spamfilter-scantimes.php
--------------------------------
DAUER ANZAHL PROZENT
--------------------------------
< 0.5 Sek 15366 45.7 %
< 1.0 Sek 17705 52.7 %
0.0 - 0.2 Sek 13982 41.6 %
0.3 - 0.4 Sek 1384 4.1 %
0.5 - 1.0 Sek 3314 9.9 %
1.0 - 2.0 Sek 11386 33.9 %
2.0 - 3.0 Sek 1841 5.5 %
3.0 - 4.0 Sek 1133 3.4 %
4.0 - 5.0 Sek 761 2.3 %
5.0 - 6.0 Sek 728 2.2 %
6.0 - 7.0 Sek 376 1.1 %
7.0 - 8.0 Sek 161 0.5 %
8.0 - 9.9 Sek 256 0.8 %
>= 10 Sek 47 0.1 %
>= 15 Sek 22 0.1 %
spamfilter-general-stats.sh
Connections: 361138
Postscreen WL: 17876 (4.94 %)
Delivered: 31208
Blocked: 329930
Invalid User: 3675
Disallowed User: 9
Reject Postscreen: 279687
Reject Postfix: 8614
Reject Milter: 3099
Reject Temporary: 693
Greylisted: 1371
Blacklist: 278631
Pregreet: 22571
Hangup: 285903
Protocol Error: 363
Illegal Syntax: 2
SpamAssassin: 3099
Virus (Milter): 0
Virus (SA): 619
Helo: 152
Subject: 44
From: 16
Attachment: 1
Header Length: 8
Sender Regex: 89
Sender Blocked: 245
Sender Verify: 122
Sender Invalid: 293
Sender Spoofed: 32
Sender Parked: 1
Spam-TLD: 72
PTR Missing: 152
PTR Generic: 150
SPF: 310
URI-BLACKLISTS
URIBL_LOCAL: 373
URIBL_BLACK: 1246
URIBL_SPAM: 423
URIBL_SBL: 200
URIBL_AB_SURBL: 0
URIBL_JP_SURBL: 0
URIBL_MW_SURBL: 10
URIBL_PH_SURBL: 16
URIBL_SC_SURBL: 0
URIBL_WS_SURBL: 0
URIBL_ABUSE_BOTCC: 1
URIBL_ABUSE_MALW: 0
URIBL_ABUSE_PHISH: 6
URIBL_ABUSE_SPAM: 15
URIBL_BOTNETCC: 0
URIBL_MALWARE: 0
URIBL_PHISH: 46
URIBL_GREY: 1768
URIBL_RED: 57
URIBL_ABUSE_REDIR: 2
URIBL_REDIR: 0
URIBL_RHS_DOB: 66
DIGEST_MULTIPLE: 297
RAZOR: 981
PYZOR: 389
IXHASH: 525
CONTENT-ANALYSE
BAYES_00 10571 61.08 %
BAYES_05 478 2.76 %
BAYES_20 592 3.42 %
BAYES_40 522 3.01 %
BAYES_50 2266 13.09 %
BAYES_60 376 2.17 % 12.13 % (OF TOTAL BLOCKED)
BAYES_80 303 1.75 % 9.77 % (OF TOTAL BLOCKED)
BAYES_95 252 1.45 % 8.13 % (OF TOTAL BLOCKED)
BAYES_99 1945 11.23 % 62.76 % (OF TOTAL BLOCKED)
BAYES_999 1621 9.36 % 52.30 % (OF TOTAL BLOCKED)
SPAMMY 2876 8.55 % 92.80 % (OF TOTAL BLOCKED)
DNSWL 30548 90.89 %
SPF 23710 70.55 %
SPF/DKIM WL 13116 39.02 %
SHORTCIRCUIT 16259 48.37 %
CUST_SUBJ 545 1.62 %
CUST_BODY 2910 8.65 %
BLOCKED 3099 9.22 %
On Thu, 19 Jan 2017 20:57:28 +0100
Reindl Harald <h.rei...@thelounge.net> wrote:
and in a really good setup your spamassassin also uses clamd to add
scores to all the other rules, dnsbl, uribl, digest-services and so
the uncondtional whitelisting in the milter at last stage is only for
dumb unconditional fasle positives leading to rejects
Am 19.01.2017 um 20:54 schrieb Reindl Harald:
Am 19.01.2017 um 20:50 schrieb Paul Kosinski:
What if a white-listed sender later becomes part of a botnet?
However trustworthy the person is, their email isn't necessarily
trustworthy. (The "From:" address could easily be a faked, for
example.)
than hopefully your filter setup does not rely only on clamd,
whitelisting is a local decision with many pros and cons and also
depends on the signatures included in your setup
there is also a difference if you have just one or more than one
clamd instance with different signatures and whitelistings
typically clamav-milter is the last stage of filtering - it's faster
than spamassassin but spamassasin does catch much more than clamd
and so the whole clamd can be skipped in case of sa-milter rejects
On Thu, 19 Jan 2017 08:02:39 +0100
z...@aian.de wrote:
Hey there,
I bet it's an easy one for you, but I couldn't find any
documentation about that.
What I want to do is whitelist a specific sender or recipient from
the scanns.
I read about the whitelist.ign2 for whitelisting signatures, but
nothing about user whitelisting.
Can you help?
_______________________________________________
clamav-users mailing list
clamav-users@lists.clamav.net
http://lists.clamav.net/cgi-bin/mailman/listinfo/clamav-users
Help us build a comprehensive ClamAV guide:
https://github.com/vrtadmin/clamav-faq
http://www.clamav.net/contact.html#ml