Hlavní navigace

Sagator (1)

David Zejda 10. 1. 2005

Sagator je slovenský GNU/GPL systém, který vytváří rozhraní mezi MTA a filtry obsahu, mezi něž patří zejména různé antiviry a antispamy. Protože se mi líbí o poznání více než konkurence (AMaViS), rozhodl jsem se ho nasadit na náš poštovní server a o zkušenosti se následně podělit.

Nejdříve budete mít tu čest se se Sagatorem zběžně seznámit, příště prozkoumáme některé jeho hlouběji umístěné vnitřnosti (především jisté na první pohled lehce tajemné „skenery“) a nakonec možná přijde i drobné howto..

Architektura

V běžném provozu Sagator sestává z několika démonů, kteří komunikují mezi sebou a s MTA. V současné době je vše testováno především na systémech Postfix a Sendmail. Sagator byl ale odpočátku navrhován jako velice ohebný – díky tomu ho můžete navěsit na prakticky jakýkoliv MTA. Je také silně modulární – můžete ho nakonfigurovat tak, aby poštu proháněl vámi zvolenou sestavou nástrojů na kontrolu obsahu. Jednotlivé testy můžete řetězit do procesních stromů, které se mohou všemožně větvit na základě dílčích výsledků.

Autor dbal také na bezpečnost. Sagator je přímo stvořený pro vězeňské prostředí – velmi rád běhá v kleci. Chroot prostředí nemusíte vytvářet ručně – zajistí to přiložený skript. Navíc se obejde bez práv roota.

K dispozici jsou balíčky pro Fedora Core (1, 2, 3), Debian (Woody) a Slackware (10).

Sagator je napsaný v Pythonu, což je myslím docela velká výhoda – Python je moderní, objektový, snadno se učí a přímo nutí k psaní přehledného kódu. Sagator také závisí na minimu balíčků – v zásadě si vystačí se standardní instalací Pythonu a několika základními systémovými nástroji, které už beztak máte nainstalovány. Abych nezapomněl – samozřejmě budete potřebovat ještě nějaký ten MTA a vlastní filtry obsahu.

Podporované antiviry…:

  • ClamAV – Clam AntiVirus
  • NOD32 (podporovány jsou verze 1 i 2)
  • AVG LS – AVG Linux Email Server Edition
  • sophie/trophie (SAVI – Sophos Anti-Virus Interface, libvsapi – TrendMicro anti virus)
  • ICAP protocol (SAVSE – Symantec AntiVirus Scan Engine)
  • BitDefender
  • Kaspersky antivirus
  • Universal dazuko scanner (dazuko je rozhraní, skrze které můžete použít několik dalších antivirů)
  • a jiné (zejména poslední beta přidává několik dalších)

… a antispamy:

  • SpamAssassin
  • Bogofilter
  • Quick Spam Filter
  • momentálně se pracuje na podpoře dspam filtrů

Interní skenery

Jako „skener“ je v terminologii Sagatoru označován jakýkoliv kód, který lze zařadit do procesního stromu, jímž zpráva prochází. Kromě skenerů pro antispamy a antiviry můžete využít mnohé další, které zprávy nějak kontrolují či předpracovávají. Jejichž funkce je víceméně zřejmá z názvu: const, exec_any, smtp_comm, regexp_scan, string_scan, max_file_size, file2stream, stream2file, stream2mbox, match_all, alternatives, match_any, nothing, recover, parsemail, mimeparse, mime_ext, file_type, decompress, store, restore. Trochu více si o nich povíme příště…

Rozsudek jménem Sagatoru

Podle virovosti, spamovitosti či nějakého jiného kritéria můžete zprávám naordinovat vhodný osud. Paleta možností je dostatečně široká. Neškodné zprávy necháte asi v klidu projít, pouze nastavíte do hlaviček, že je vše v pořádku (skener modify_header, add_header). Zprávy s přílohami spustitelnými v prostředí Windows a identifikované viry asi přesunete do karantény (quarantine), odkud je jednoduchým příkazem můžete vrátit do příchozí fronty MTA či přímo do uživatelského mailboxu, pokud to bude v budoucnu třeba. Téměř jisté spamy možná smažete (drop), pravděpodobné spamy nejspíše pouze označíte do hlaviček (modify_header, add_header) a předmětu (modify_subject) a necháte projít (deliver).

Pokud zprávu z nějakého důvodu smažete či přesunete do karantény, můžete dát pokyn MTA, aby poslal klasické bounce oznámení odesílateli, jako že problém je v tom a v onom, a ať se příště polepší, či nechat Sagator odeslat vhodné oznámení příjemci (report_recipi­ents) – že zpráva byla zlikvidována, a pokud se mu to nezdá, ať se ozve, nebo správci (skener report). Výchozí už tak docela přehlednou šablonu zprávy je možné změnit či přizpůsobit.

Statistiky

Sagator volitelně spouští speciálního logovacího démona, který předžvýkává informace o aktuálním dění pro účely statistik. Pro účely logování můžete využít některý z logovacích „skenerů“ – log, log_mysql, log_pgsql, log_sqlite, stat. Pokud logování spustíte, budete moci snadno nastavit například MRTG (flexibilní nástroj pro tvorbu grafů o provozu lecjakého typu, často se používá třeba pro statistiky síťového provozu), aby zobrazoval detailní statistiky o došlých, prošlých, zlikvidovaných či jiných zprávách.

Skenování na rozkaz

Viry se dnes šíří velice rychle – často během několika hodin zaplaví tisíce poštovních serverů. Může se tak snadno stát, že vámi používaný antivirus nerozpozná takový virus v době, kdy k vám míří, ovšem po aktualizaci by si s ním již poradil. Například v takové situaci vám přijde vhod řádkový příkaz sgscan, kterým můžete aplikovat sadu pravidel Sagatoru na vybrané mailboxy/maildiry plné zpráv.

Podpora

Na projektové stránce sagatoru na sourceforge je k dispozici anglický mailinglist sagator-users(at)lists­.sourceforge.net. Adresu archivu a formuláře pro přihlášení najdete v odkazech. Komunita kolem Sagatoru není například ve srovnání s konkurenčním AMaViSem zatím příliš rozsáhlá. Zakladatel projektu a hlavní autor Ján ONDREJ (SAL) ale bere uživatele docela vážně. Při nasazování Sagatoru na našem debianím serveru jsem narazil na několik drobných potíží se závislostmi, které SAL ještě tentýž den vyřešil a zveřejnil v podobně opravených balíčků. Kromě toho také na moji prosbu a návrh velmi rychle doplnil několik funkcí, z nichž některé jsou ve svém oboru docela výjimečné, konkrétně možnost předepsat zprávám různý osud podle různých úrovní spam hits a zaznamenání spam hits v podobě hvězdiček či číselného indexu do předmětu – např. „[SPAM *****] Fr3e p0rn“ nebo „[SPAM 5,7] Fr3e p0rn“.

Odkazy

Sagator – projektová stránka

Sagator – archiv mailing listu

Sagator – formulář pro přihlášení do mailing listu

seriál Stavíme mailový server

seriál MRTG – grafické prehľady

Našli jste v článku chybu?

2. 3. 2006 16:43

Alik (neregistrovaný)
Zkus c# na .net - MS nebo Mono.
PS: mono take pouziva boehm-gc

31. 1. 2005 18:57

uživatel si přál zůstat v anonymitě
Sagator ma standardne definovane nazvy virov, pre ktore sa neoplati posielat odosielatelovi ziadne informacie. Vacsina antivirov ich definuje ako "Worm" alebo "@mm". Ak si ale
chce uzivatel definovat svoje vlastne, tak ma na to moznost
zadat ich regularnym vyrazom. Sice mas pravdu, ze je to momentalne nevhodne posielat, ale SMTP protokol hovori, ze mail mozes bud dorucit, alebo poslat spat s nejakou hlaskou, takze je to potom v rozpore s SMTP. Myslim, ze sagator neposiela zia…

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

120na80.cz: Vitaminová abeceda

Vitaminová abeceda

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?