Ako fungujú spamfiltre 6

14.01.2007 18:33 | betmen

Dnes seriál skončím. V šiestich predošlých častiach (áno šesť, vrátane 1.5) som popisoval teóriu spamfiltrov a jednen zo spôsobov riešenia spamových problémov. Dnes popíšem ešte niekoľko prvkov na riešenie spamu a veci z praxe.

V niektorých reakciách na články ľudia spomínali tzv. greylisting. V dnešnej dobe je to veľmi efektívna ochrana, ktorá navyše nevyužíva výpočtový čas procesora rôznymi testami. Ide o "bránu", ktorá sa postaví pred samotný smtp server a ona prijíma/neprijíma emaily. Vytvára si whitelisty/databázy aby neskôr maily nezdržovala. Totiž každý prvý krát odoslaný email je automaticky odmietnutý s dočasnou chybou. Temporary errors sú v mailových systémoch bežné a pri komunikácii server/server znamenajú, že email zostane vo fronte a server sendera sa ho snaží opakovane pri prechádzaní fronty odosielať znova až kým sa nedoručí. Ak odosielate email cez legitímny server, spôsobí to jedine to, že prvý email prípadne prvé 2-3 od vás sa doručia s nejakým oneskorením. To je ale problém, kvôli ktorému som ja prestal greylisting používať, lebo ako sa hovorí, klient náš pán a keď sa sťažovali ako im meškajú maily, tlak ma posunul a greylisting som vypol. Okrem toho neúplný rfc kompliant server na strane sendera nemusí taký problém rozdýchať.
K prínosu k ochrane pred spamom. Spamerkovia bežne nevyužívajú klasické smtp servery ale majú len svoje senderské aplikácie, ktoré chybové hlásenia neriešia, nemajú čakaciu frontu, nemajú nič. V takom prípade jednoducho mail je odmietnutý dočasne = je odmietnutý natrvalo, nemá sa totiž odkiaľ pokúšať odoslať znova. Tak isto kopa zombíkov a zavírených počítačov nevyužíva smtp server ale konektuje sa priamo na smtp server adresáta čím tiež nemá výhodu mailovej fronty.
V prípade, že vás nikto neukameňuje za meškanie mailov, určite by som odporučil greylisting používať (pre postfix existuje pekný postgrey démon).

V reakciách sa tiež niekoľko krát spomenuli tzv. blacklisty (áno, časť využíva aj spamassassin ale on podľa nich len prispôsobuje skóre, na rozdiel od toho, blacklist v smtp serveri maily odmieta). Využívanie rbl je veľký kompromis a môže byť dvojsečná zbraň. Často skončí v blacklistoch smtp sendera alebo jeho konkrétna ip adresa kvôli nejakému userkovi, ktorý ani nevie že má napadnutý počítač. Problém je najviac kritický pri low-cost provideroch, ktorí neponúkajú verejnú ip, tak niekoľko desiatok userov môže loziť cez jednu ip. O serveroch providerov, cez ktoré lietajú denno denne tony odpadkov v podobe vírusov a inej pliagy ani nehovoriac. Vymazanie z blacklistov trvá nejakú dobu a pri niektorých dokonca podmieňujú prevádzkovatelia vymazanie rôznymi príspevkami na charitu atď... (úradný preklad dokladu o sponzoringu atď..). A keď si napríklad cez warn_if_reject dáte do postfixu sorbs.org, zistíte že by ste tak odrezali obrovskú časť slovenských senderov. Ale ak to chcete vyskúšať, v postfixe ide o direktívy smbpd_client_restrictions a smtpd_sender_restrictions s vlastnosťami reject_rbl_client a reject_rhsbl_sender. Tu by som do smtpd_sender_restrictions pridal ale určite reject_unknown_sender_domain, čo odstráni všetky maily odosielané z neexistujúcich domén. Podľa rfc by bolo v poriadku pridat do smtpd_client_rectrictions reject_unknown_client ale o tomto probléme som písal v nedávnom blogspote "Špecifikum slovenských providerov".

Jeden čitateľ spomenul ako alternatívu k amavisd-new sagator. Plní identickú funkciu ako amavis ale je napísaný v pythone. To by mohlo znamenať že je rýchlejší ako amavis (napísaný v perli) ale ja s ním nemám skúsenosti a zatiaľ som s amavisom spokojný, preto ho uvádzam ako zaujímavosť s reakcií.

Na stránke http://dspam.nuclearelephant.com/ je zaujímavé riešenie na ochranu pred spamom. Autori sa hrdia tým že je navrhnutý ako enterprise systém a že má úspešnosť medzi 99.5% až 99.95%. Máte k nemu pekné klikacie webrozhranie. Keď raz budem mať čas, tak ho vyskúšam, možno niektorého čitateľa zaujme.

Spamerkovia sú zrejme už narodení ako vychcanci, preto špekulujú. Dobrý mailserver má jeden alebo niekoľko záložných serverov, ktoré by mali zachytávať emaily počas výpadku hlavného. Často je taký server vo vlastnej réžii len "zdochlina", ktorá sa nevyužíva. Prípadne zdieľame taký server s inými firmami a tým si garantujeme že máme server nastavený úplne inak ako tá firma. Spamerkovia sa to snažia využívať, preto veľa ich odosielacích systémov automaticky skúša doručovať na niektorý zo záložných systémov. Preto odporúčam mať spamfiltre rovnako nakonfigurované, v ideálnom stave by som aspoň na začiatku celú bayesovú databázu z primáru prekopíroval na sekundár. Každý spam ktorý totiž prejde cez sekundár má menšiu šancu byť odhalený na primári ako keby tam šiel napriamo.
Amavis v tomto prípade dáva možnosť využívať ho na viacerých serveroch súčasne, čím docielite zhodnú kontrolu mailov. Musíte si byť ale istí že ak sa mu niečo stane, zabezpečíte jeho obnovu čím skôr lebo inak budú na serveroch maily stáť vo fronte. Ak ste sado-maso-praso orientovaní, môžte na sekundári využívať amavis umiestnený na primári. Nebude to na doručiteľnosť mať žiadny efekt, mail sa doručí pri výpadku na sekundár a ten aj tak musí čakať na primár, takto len počká aj na amavis.

Pri assassine som sa stretol len s jedným vážnejším problémom. Pri bayesovej databáze potrebuje mať tuším aspoň 200 spamov a 200 hamov. Ak máte dáky menší serverík s pár adresami a málo mailami, odporúčal by som assassina trénovať, lebo "samočinne" mu bude trvať celkom dlho kým si vytvori databázu vlastným pričinením. Do tej doby sa vyhodnocovanie spolieha na ostatné testy a tie nie sú tak spolahlivé.

Pozor na doménové koše. Kedysi bežná vlastnosť mať wildcard na celú doménu ale dnes je to mailová samovražda. Maily totiž často lozia z náhodných adries vašej domény (spamerkovia su pliaga, mor) a preto sa vám začnú množiť v mailoxe maily typu "undelivered mail...bla bla bla". Občas dostanete aj email od dákeho lúzerského systému info že vraj ste odoslali spam (povedzme, pri vírusoch je to bežné aj keď nie korektné posielať takéto info ale pri spame lúzerstvo) a to už vie nasrať :)

Ako som pri amavise spomínal v seriáli, je možné nastaviť notifikácie o vírusoch/spame. To by som v žiadnom prípade neodporúčal. Je totiž jasné že spam ani vírusy nám nikto neposiela úmyselne a keď mu začneme posielať takéto emaily, je to tiež nevyžiadaná pošta a ja pokladám podobné servery za misconfigured.

Na stránkach sa často vyskytujú tzv. sondy. Môže to byť celkom efektívna metóda vytvárania spamovej databázy lebo umiestnite cielene email na niektorý link na stránke a spambot si ho nájde. Len tam napíšte že to nie je kontakt pre userkov lebo vám môžu degradovať databázu. Na internete som už videl niekoľko domén, ktoré sú komplet zaregistrované len za týmto účelom. Sú naplnené náhodným textom ktorý sa obmieňa a miestami sa zobrazuje email.

Slovenský spam. To je špecialita sama o sebe. Bayes databáza je voči nemu často bezmocná keďže neobsahuje anglické slová v klasických spamoch. Okrem toho býva písaný veľmi sugestívne a ľudia ho ako spam často nevnímajú. Verím, že sa legislatíva bude uberať smerom veľmi silných postihov takýchto spoločností lebo lokálne je to najefektívnejší spôsob.

Na viac vecí som si teraz nespomenul. Hádam aspoň niekomu seriál pomohol a pomôže pri likvidácii pliagy. Ďakujem za pozornosť.

    • Vďaka za super seriál, 15.01.2007 | 07:42
      Avatar blackhole_backslash   Používateľ
      Vďaka za super seriál, načerpal som z neho kopec informácií a dostal som nové inšpirácie, ktoré využijem pri plánovanom reinštalovaní servera tento víkend. Ad greylisting: V prípade, že sa ľudia začnú sťažovať, že neskoro chodia maily, treba oponovať, že e-mail nie je IM. Ja som tak urobil a ľudia sú spokojní, že sa nemusia prehrabávať v spamoch. Správca siete by mal v niektorých veciach rázny a tvrdý. Aj keď chápem, že nie vždy to ide. -- Najnebezpečnejší tvor na svete je blbec s nápadom, takže pozor na mňa!
      -- Najnebezpečnejší tvor na svete je blbec s nápadom, takže pozor na mňa!
      • Razny a tvrdy bych byl taky 16.01.2007 | 21:16
        redtime   Návštevník

        Razny a tvrdy bych byl taky rad, ale pokud chces, aby u tebe zakazni dlouho vydrzel, tak neni na miste je posilat do nekam s tim, ze jim maily chodi i za hodinu. Pokazde si najdou argumenty, ze u firmy, kde boli driv to fungovalo takto a takto a na to ze jim usetris prehrabovani se spamem taky neslysi, protoze i bez greylistingu jim chodi jeden spam za den, coz je vubec nezdrzuje :)

    • taktiez dakujem za serial.. 15.01.2007 | 11:56
      Avatar patie   Návštevník

      taktiez dakujem za serial.. za vsetkych ktorym aspon trosku pomohol a nieco dal ako mne..

      zivot je tazky - jeden z najtazsich