Spam: postfix, amavis, spamassassin

Fórumok

Sziasztok!

Spamekkel probalok harcolni, es valmiert a levelezoszerver hibasan van beallitva. Ezert kernem segitsegeteket.

Amit tapasztalok.
- postfix, amavis, spamassassin futnak.
- a levelet atvizsgalja az amavis, mivel latom a fejlecben.
- spamassassin-nak hiba adom meg hogy minden egyes levelbe tegye bele a score-t, nem latni a fejlecben.
- postfixnek hiaba van megadva a 'reject_rbl_client', a kapott spam kuldoje pedig a spamhaus.org feketelistajan van.

Es megis tovabbitja a levelet a postfix.amavis:

$sa_tag_level_deflt = -999;

main.cf erre vonatkozo resze:

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_pipelining,
reject_invalid_hostname,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_unauth_destination,
reject_unknown_recipient_domain,
reject_rbl_client zen.spamhaus.org,
check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
reject_non_fqdn_recipient

master.cf:

smtp inet n - - - - smtpd
...
smtps inet n - - - - smtpd
-o content_filter=spamassassin
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}

pickup fifo n - - 60 1 pickup
-o content_filter=
-o receive_override_options=no_header_body_checks

...

amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_restriction_classes=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
-o local_header_rewrite_clients=

Gyanakodtam mar a smtpd_recipient_restrictions-bel levo sorrendre, de tobbfele modon is probaltam...

A SPAM fejlec: https://pastebin.com/uEdTb6NA

Elore is koszi a segitsegeket!

Hozzászólások

Spam fejlécben "Received from localhost"
Feltételezem, hogy ez benne van a mynetworks-ben, ezért engedi át.
Ha weblapok is futnak a szerveren, akkor fel kell hívni az oldalak tuljainak figyelmét a biztonságra (pl. Captcha).
Végső esetben csak authenticatió után engedni a levél küldést localhost-ról is. Gondolok itt a PHP mail függvény tiltására.
Ha nincs rajta, akkor van esély, bejuttattak egy scriptet és az küldi a leveleket esetleg.

Koszi, gondoltam erre en is.
a from localhost-ot azthittem azert van, mert atadja a localhost:10024-nek, az meg vissza.
Ezek szerint a localhost-rol jon? Igen vannak weboldalak, es mar talaltam ilyen Captcha nelkuli email formot, amit kivagtam.
Ha igen, akkor letiltom a locahostrol auth nelkuli levelkuldest.

"Received: from crush.ridgwaysmodesto.info (crate.chesbros.com [165.227.171.231])"
Nekem ez tunik eredeti feladonak.

mail.log:


Dec 17 14:06:13 mail amavis[4183]: (04183-13) Passed CLEAN {RelayedInbound}, [212.162.149.13]:56664 [212.162.149.13] -> <-----@--------.-->, Queue-ID: 5EB761F02BD3, Message-ID: <4741001-zejcomyfhptdxvwxjvfyuvefrgkkzpr@xeeh.bioactivegroup.info>, mail_id: h3T39w7bIP-0, Hits: 0.544, size: 7375, queued_as: 220201F02BD4, dkim_sd=dkim:bioactivegroup.info, 1745 ms
Dec 17 14:06:13 mail postfix/smtp[8655]: 5EB761F02BD3: to=<-----@--------.-->, relay=127.0.0.1[127.0.0.1]:10024, delay=2, delays=0.27/0/0.01/1.7, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 220201F02BD4)

Én is folyamatosan küzdök ezzel több szerveren, és az alábbi beállítások működnek eddig a legjobban:

main.cf
master.cf

Ezek nem teljes konfigok, csak az ide vágó részei!

Ez egy régi, 2.7.1-es Postfix-en fut (rajtam kívülálló okokból nem frissíthetem egyenlőre), így nem használhatok minden friss Postfix funkciót (pl. RHSBL listák).

Ami érdekes lehet:
- ezek a beállítások engednek nem saját domain/e-mail cím használatot feladóként (kis ISP szervere, nem egycéges), szóval céges esetben szűkíteni érdemes az elfogadható feladók körét.
- a dnsbl.sorbs.net azért van kommentezve, mert az nagyon szigorú, kidobálja ügyesen a Facebook, Google, Outlook, stb. szervereinek IP címeit is
- a zen.spamhaus.org szerver nem fogad publikusan elérhető DNS szerverektől kéréseket (8.8.8.8, 1.1.1.1, 4.2.2.4, 9.9.9.9, stb.), így ha a DNS kéréseidet ilyenekhez irányítod, a zen nem válaszol, így nem kapsz vissza pozitív találatot sem. De a zen egyébként nagyon jó, nekem messze az szűri ki a legtöbb IP címet, így érdemes egy saját rekurzív DNS-t beüzemelni hozzá, megéri azt a kis melót. Vagy kipróbálhatod, hogy az internet szolgáltatód DNS szerverének ad-e választ (az önállóan rekurzív-e), és azt is használhatod.
- a Te master.cf konfigodban lévő spamassassin rész nem kell amavis esetén (sőt, a spamd-nek sem kell futnia amavis mellett), de ha kiveszed, akkor az smtps részt is javítsd ki, ne hivatkozzon rá.
- manapság elfogadottabb a submission-t (port 587/StartTLS) használni ügyfél levelek fogadására, mint az smtps (port 465/SSL) modult. De persze nekem mindegy, csak mondom. Nálunk a régi rossz alapok miatt még port 25-ön is jöhet "belső" hálózatból ügyféltől levél (amíg az új levelező szerver össze nem áll, és fel nem szívjuk magunkat az átállásra, ami több ezer ügyfél konfigurációs megsegítését is magával hozza majd).
- azért van pre-cleanup és cleanup, hogy a helyi műveletek során ne hívja meg kétszer az amavis-t a postfix (pl. BCC vagy forward esetén), hanem csak egyszer, amikor a levél először bejön az smtp-n vagy a pickup-on keresztül. Ha akkor nincs semmi, akkor rewrite után sem lesz már.
- nézd meg az amavis indulási log-ot, hogy a spamassassin-t látja-e és betölti-e. Én azt gondolom, hogy -999 tag level esetén csak akkor nem tesz bele spam infót, ha a spamassassin modul nem működik egyáltalán. Lehet még amavis -d indítással parancssorból futtatni ellenőrzésképp, és nézni egy bejövő levélnél a kimenetét, mert lehet, hogy a spamassassin modul létszik és be van töltve, de ha hiányzik valami függősége, és akkor nem fut le értelmesen.
- ez a konfig postfix rbl-lel csak IP címekre szűr, domain név RBL szűrést csak az amavis/spamassassin csinál (de ilyenkor neked kell belőni, hogy mennyi pont felett dobja ki a levelet kézbesítés nélkül). Újabb postfix (2.10+) esetén működnek az rhsbl_ opciók is, és a postfix is tud keresni domain neves RBL-en (pl. multi.surbl.org), és még amavis hívás előtt elutasítani, ha rajta van.
- Nekünk most 4 pont felett jelöl meg spam-nak és 7.2 pont felett megy karanténba. De a karantén szint további lefelé módosítását fontolgatjuk.
- Ha van még Outlook Express 6.0 kliens, akkor az 5 pont feletti kimenő leveleket gyárt alapból, így vagy whitelist kell neki az adott feladónak, vagy le kell cserélni más levelezőre.
- a csatolt fejléc teljesen egyértelmű, nem helyből való a levél, hanem a 165.227.171.231 című levelező szervertől jött, majd amavis, majd amavis-tól vissza. A csatlakozó kliens IP címe fent van a Barracuda-n és a Spamhaus-on egyaránt, a feladó domain pedig fent van a Spamhaus DBL-en és a SURBL Multi-n egyaránt. Az IP alapján a postfix/zen már kidobná (REJECT), de a nélkül is, ha működne a spamassassin, az felpontozná a DBL alapján.

Ha használod a fenti konfigokat, az első időkben azért pflogsumm-mal (vagy bárhogy máshogy), figyeld, mit nem enged be, mert ez nagyon sok dolgot megfog (nemlétező gépnév, nemlétező feladó domain, nemlétező címzett domain, HELO-ban kapott hibás/nem létező gépnév, stb.). Nehogy valamelyik szűrés legális küldőt kizárjon, mert konfig hibás a szervere, aztán balhé legyen belőle. Nálunk nagyjából 70% a REJECT arány, mióta ezekkel fut a szerver, és ezen felül a mégis "bejutó" levelek 10-15%-a megy még a spam-ba vagy kukába (pontosabban karanténbe).

"- a levelet atvizsgalja az amavis, mivel latom a fejlecben.
- spamassassin-nak hiba adom meg hogy minden egyes levelbe tegye bele a score-t, nem latni a fejlecben."

mivel a postfix konfigban nemlatom, ezert arra tippelek a spamassassinnak az amavis adna at a levelet, valoszinusitem ez nem tortenik meg.

* vak vagyok, ott van a spamassassin content filter. de csak smtps -re.

--
HUP te Zsiga !