Így néhány hónap távlatában úgy tűnik, hogy bevált.
Egy kompromisszumot kellett csak kötnöm: Link
Azaz sql-ben tárolt spamassassin per-user szabályok alkalmazásával nem működik együtt a bayes auto-learn lokális fájlban (bayes_seen, bayes_toks) való tárolása. Ekkor ezeket is sql-be kellene mind benyomni amit nem akartam, mert félek, hogy belassít.
Így az auto-learn-t kikapcsoltam, maradt az SA szabályok per-user szintű állítása és esténként én tanítom az userek inbox és spam mappájával szintén per-user szinten.
A végső postfix confg a következő:
header_checks = regexp:/etc/postfix/maps/header_checks
A header_checks tartalma:
/^Subject: .*Financier.*/ REJECT Spam
...
Stb tipikus tárgy mezők.
smtpd_client_restrictions = permit_mynetworks,
# check_client_access hash:/etc/postfix/access1_client,
permit_sasl_authenticated,
reject_unknown_sender_domain,
#reject_unknown_client_hostname ## alkalmazása nem javasolt, ez keményebb feltétel, mint a reject_unknown_reverse_client_hostname
reject_unknown_reverse_client_hostname
smtpd_helo_restrictions = permit_mynetworks,
permit_sasl_authenticated,
# check_helo_access = hash:/etc/postfix/access2_helo,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
#reject_unknown_helo_hostname, ## alkalmazása nem javasolt
reject_invalid_hostname,
reject_non_fqdn_hostname
#reject_unknown_hostname ## alkalmazása nem javasolt
smtpd_sender_restrictions =
#check_sender_access = hash:/etc/postfix/access3_sender,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit_mynetworks,
permit_sasl_authenticated
smtpd_recipient_restrictions = reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
permit_mynetworks,
permit_sasl_authenticated,
# check_recipient_access = hash:/etc/postfix/access4_recipient,
reject_unauth_destination,
reject_unlisted_recipient
smtpd_data_restrictions = reject_multi_recipient_bounce,
reject_unauth_pipelining
Mind a 4 rétegben benne hagytam a check_*_access hash fehér listát a biztonság kedvéért. Eddig nem kellett, de sosem lehet tudni.
A nagyon béna próbálkozót lerendezem gyorsan, egy részük ettől nem jön x percenként:
unknown_address_reject_code = 550
unknown_hostname_reject_code = 550
unknown_client_reject_code = 550
A tapasztalat:
Szinte megkönnyeztem úgy ütötte vissza a spammeket. A mailgraph által mért "Rejected" érték közel 10x-es értékre nőtt, a "Received" kb tizedére csökkent. Igaz, egy elég kemény spamelős időszakban álltam át, így a kontraszt nagyobb volt.
Egy beszédesebb mailgraph havi statisztika:
1. egy pár e-mail címes kis cégnél
Fogadott: 12.500 db
Küldött: 1700 db
Kiszűrt Spam: 2700 db
Rögtön visszautasított (fenti rejected): 20.000 db
2. Egy sok weblapos sok céges szerveren:
Fogadott: 102.000 db
Küldött: 47.000 db
Kiszűrt Spam: 46.000 db
Visszautasított: 340.000 db
Az elmúlt 30 napban.
A felhasználó visszajelzések pozitívak, elvileg tévesen visszautasított levél a fenti configgal már nem történt.
Természetesen az elején sokat bújtam a logokat meg kerestük a "szerintem meg kellett volna érkeznie" leveleket, de ezek száma 1-2 hét alatt 0-ra redukálódott.
Szóval nagyon elégedett vagyok a postfix, dovecot, spamassassin trióval.
Köszönöm mindenkinek a segítő hozzászólásokat.