( Proci85 | 2013. 01. 03., cs – 21:19 )

Í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.