Peter Vilhan - analýza záznamov email servera

    Table of contents
    No headers

    Motivácia: So zlepšovaním dostupnosti pripojenia do siete Internet, došlo v poslednom desaťročí aj k zmene návykov používateľov. Spolu s rastom dynamiky komunikácie sa čoraz viac dostávala do popredia elektronická komunikácia formou emailu. 

    Medzi jej prednosti patrí, rýchlosť, vysoká efektivita a nulové náklady spojené s doručením správy adresátovi. V posledných rokoch sa do popredia dostáva aj komunikácia formou krátkych okamžitých správ, tzv."instant messaging", email si však zachováva svoju obľúbenosť najmä v obchodnom styku a to vďaka využitiu prvkov PKI infraštruktúry a zavedeniu legislatívnej podpory elektronického podpisu.

    Spolu s rozmachom emailu ako prostriedku na nízkonákladové a efektívne posielanie správ dochádza k rozšíreniu špeciálnej kategórie správ - navyžiadanej pošty, tzv. SPAM. Prvý SPAM bol odoslaný v roku 1978 a v súčasnosti tvorí 98% zasielanej pošty. Prevádzka emailových serverov je v takýchto podmienkach skutočne náročná a vyžaduje si proaktívne monitorovanie stavu poštového servera.

    Úlohou tohto projektu bude vytvoriť nástroj slúžiaci na analyzovanie logov poštového servera a prehľadnú reprezentáciu analyzovaných údajov.

    V súčasnosti je dostupných niekoľko vhodných nástrojov, ktoré sa od seba odlišujú platformou na ktorú sú stavané, množstvom podporovaných serverov ako aj rozsahom a kvalitou poskytovaných funkcií.

     AWStats(http://awstats.sourceforge.net/) - patrí medzi aktívne vyvíjané projekty. Napísaný je v jazyku Perl a front-end je realizovaný pomocou cgi skriptov. Umožňuje analýzu logov web, ftp a email serverov, čo predstavuje cca 17 ôznych formátov log súborov.Šírený je pod licenciou GNU/GPLv2.

    BetterAWStats(http://betterawstats.com) - je front-end  pre AWStats napisaný v jazyku PHP. Vzhľadom na to, že zdroj dát tvoria dáta generované awstats jeho funkčnosť je ohraničená možnosťami awstats.Šírený je pod licenciou GNU/GPLv2.

    Isoqlog(http://www.enderunix.org/isoqlog/) - analyzátor logov MTA qmail, postfix, sendmail a exim. Napísaný v jazyku C. Výsledky sú prezentované pomocou HTML.Doteraz posledná verzia vydaná v roku 2005. Program je vlastníctvom spoločnosti enderunix.

    Sawmill(sawmill.net) - silný komercný nástroj pre analýzu logov, v súčasnosti podporuje 828 rôznych formátov súborov logov, serverova zariadení.

    Log Mail Analyzer(LMA, http://lma.sourceforge.net/) - nástroj pre analýzu logov email serverov. Doteraz posledná verzia vydaná v roku 2006. LMA môže pracovať aj ako Intrusion detection tool. Napísaný je v jazyku Perl.

    Prehľad a porovnanie vlastností niektorých riešení je dostupný tu: http://awstats.sourceforge.net/docs/...s_compare.html

    Po analýze dostupných riešení som sa rozhodol pre rozšírenie projektu awstats, tak aby poskytoval v potrebnej miere informacie o serveroch a staniciach s ktorými komunikoval a o doplnenie kompatibility s Postfix, SASL a Postgrey.
    Awstats je napísaný v jazyku perl a v prípade analýzy logov mail servera ho môžeme rozodeliť na tri časti:

    1. Analýza a parsovanie log súboru - awstats v pravidelných intervaloch scannuje log súbor, parsuje ho a získané informácia ukladá do databázy vo forme textového alebo XML súboru. V prípade email serverov túto fázu zabezpečuje skript maillogconvert.pl písaný v jazyku perl, ktorý prechádza súbor s logom riadok po riadku a extrahuje analyzované údaje.

    Príklad vstupu:(Údaje boli depersonifikované).

    Naslednovný odstavec zobrazuje prijatie emailu z adresy emailxyz@stonline.sk do schranky emailabc@dk-net.sk. Počas procesu prijatia sa spustí kontrola, čí prijatá správa nieje SPAM. Z tohoto dôvodu by sme mohli tok správy zobrazit nasledovne:

    vzdialený_mail_server->mail_server(Postfix)->kontrola_spam(AMAVIS)->mail_server(Postfix)->doručenie do schránky

    Jednou z implementovaných funkcií bolo aj ošetrenie analyzátora logu pri použití antispam ochrany.Tento nesprávne vyhodnocoval loklne pripojenia od antispam filtra ako novu prichádzajúcu poštu.

    Nov 30 13:47:17 dk-net postfix/smtpd[30746]: connect from sas5.t-com.sk[213.81.152.135]
    Nov 30 13:47:17 dk-net postfix/smtpd[30746]: 8E1BA15C064: client=sas5.t-com.sk[213.81.152.135]
    Nov 30 13:47:17 dk-net postfix/cleanup[30753]: 8E1BA15C064: message-id=<0KB5009O7CRNXA@smtp1.stonline.sk>
    Nov 30 13:47:17 dk-net postfix/qmgr[4163]: 8E1BA15C064: from=<emailxyz@stonline.sk>, size=3040, nrcpt=1 (queue active)
    Nov 30 13:47:17 dk-net amavis[20862]: (20862-05) ESMTP::10024 /var/lib/amavis/tmp/amavis-20081130T001802-20862: <
    emailxyz@stonline.sk> -> <emailabc@dk-net.sk> Received: SIZE=3040 from dk-net.sk ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 20862-05 for <emailabc@dk-net.sk>; Sun, 30 Nov 2008 13:47:17 +0100 (CET)
    Nov 30 13:47:17 dk-net postfix/smtpd[30746]: disconnect from sas5.t-com.sk[213.81.152.135]
    Nov 30 13:47:17 dk-net amavis[20862]: (20862-05) Checking: n9WTBg5+Jgkn [213.81.152.135] <
    emailxyz@stonline.sk> -> <emailabc@dk-net.sk>
    Nov 30 13:47:17 dk-net postfix/smtpd[30756]: connect from localhost[127.0.0.1]
    Nov 30 13:47:17 dk-net postfix/smtpd[30756]: C1AFE15C070: client=localhost[127.0.0.1]
    Nov 30 13:47:17 dk-net postfix/cleanup[30758]: C1AFE15C070: message-id=<0KB5009O7CRNXA@smtp1.stonline.sk>
    Nov 30 13:47:17 dk-net postfix/qmgr[4163]: C1AFE15C070: from=<
    emailxyz@stonline.sk>, size=3411, nrcpt=1 (queue active)
    Nov 30 13:47:17 dk-net postfix/smtpd[30756]: disconnect from localhost[127.0.0.1]
    Nov 30 13:47:17 dk-net amavis[20862]: (20862-05) FWD via SMTP: <
    emailxyz@stonline.sk> -> <emailabc@dk-net.sk>, 250 2.6.0 Ok, id=20862-05, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as C1AFE15C070
    Nov 30 13:47:17 dk-net amavis[20862]: (20862-05) Passed CLEAN, [213.81.152.135] [213.151.218.142] <
    emailxyz@stonline.sk> -> <emailabc@dk-net.sk>, Message-ID: <0KB5009O7CRNXA@smtp1.stonline.sk>, mail_id: n9WTBg5+Jgkn, Hits: -, 259 ms
    Nov 30 13:47:17 dk-net postfix/smtp[30754]: 8E1BA15C064: to=<
    emailabc@dk-net.sk>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.75, delays=0.47/0.01/0.01/0.26, dsn=2.6.0, status=sent (250 2.6.0 Ok, id=20862-05, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as C1AFE15C070)
    Nov 30 13:47:17 dk-net postfix/qmgr[4163]: 8E1BA15C064: removed
    Nov 30 13:47:17 dk-net postfix/virtual[30761]: C1AFE15C070: to=<
    emailabc@dk-net.sk>, relay=virtual, delay=0.18, delays=0.09/0.07/0/0.02, dsn=2.0.0, status=sent (delivered to maildir)
    Nov 30 13:47:17 dk-net postfix/qmgr[4163]: C1AFE15C070: removed

     Po spracovaní tejto komunikácie sa do výstupného súboru zapíše nasledovný záznam vo formáte vhodnom pre načítanie programom awstats.

    2008-11-30 13:47:17 emailxyz@stonline.sk emailabc@dk-net.sk sas5.t-com.sk localhost SMTP - 1 3411
     

     2. awstats.pl - skript napísaný v jazyku perl, ktorý v pravidelných intervaloch prechádza výstupný súbor z kroku 1 a do internej databýzy realiovanej ako textový alebo XML súbor pridáva dáta spolu so štatistickými informáciami.

    Monitorované parametre:

    • frekvencia výskytu adresáta/odosielateľa
    • počet a veľkosť emailov
    • SMTP error kód - sumar počet, veľkosť správ a popis chybového kódu
    • frekvencia výskytu odosielajúceho servera
    • globálny pohľad na aktivitu počas dňa, týždňa, mesiaca,roka

    3. cgi-skripty - vizualizujú údahe z databázy vytvorenej v kroku 2.

    Súhrn:

    Zdroj dát: subor záznamov o prevádzke a aktivite email servera tzv. log súbor

    Cieľ projektu: analyzovat a prípadne prehľadne vizualizovať aktivitu email servera.

    Navrh riesenia: rozsirenie funckionality projektu AWStats (http://awstats.org/)

    Sledované parametre:

    • prichádzajúce/odchádzajúce spojenia
      • počet/veľkosť prijatých emailov
      • lokalizácia prichádzajúceho spojenia(Geo::IP modul Maxmind)
      • aktivita odosielateľ/príjemca
      • analýza aktivity komunikácie z časového hľadiska
      • neplatné/neštandardne pokusy o doručenie,vyzdvihnutie pošty), detaily chybových hlásení

     

    Charakter vyvíjanej aplikácie:

    • Klientska časť

    Prostredie: multiplatformné, webová aplikácia

    • Serverová časť

    Prostredie: OS Linux/Unix, Perl

    Mail server: Postfix, qmail a mnoho inych. vid(http://awstats.sourceforge.net/#FEATURES)

    Inštalácia: Inštalácia prebieha štandardnem, jej opis je súčasťou balíčka so zdrojovým kódom, prípadne odporúčam nasledovať niektorý z nasledovných odkazov:

    Popis možnosti nastavení extensions http://www.antezeta.com/awstats.html

    Popis inštalácie v anglickom jazyku: http://www.g-loaded.eu/2005/12/04/configure-awstats

    Po nainčalovaní softwaru je potrebné prepísať nasledovné súbory súbormi z tu uverejnenej prílohy

     Problémy ktoré sa mi podarilo vyriešiť:

    1. maillogconvert.pl - doplnenie funkcionality o schopnosť spracovať záznamy zo servera s Antispamovou ochranou Amavis bolo realizovane v jazyku perl za pomocou regulárnych výrazov, polí a logických konštrukcií.

    2. awstats.pl - odstránenie logickej chyby a rozšírenie kódu o schopnosť zobrazovať serery s ktorými mail server komunikoval.

    3. Lokalizácia vzdialených serverov s ktorými server komunikoval. Realizované prostredníctvom GeoIP MaxMind modulu-DB zadarmo len po úroveň štátov.

    Testovanie:  Program bol aj je testovaný v reálnych podmienkach na servery mail.dk-net.sk. Z tohoto dôvodu nieje možné uverejniť testovacie súbory, avšak toto vďaka povahe programu nepredstavuje problem.

    Funkcionalita bude demonštrovaná online.

     

     

     

    Tag page (Edit tags)
    Viewing 10 of 10 comments: view all
    No, uz som tam aspon daco pridal, ty to ale zas nemusis za den spravit :D
    Posted 23:11, 9 Oct 2008
    Following my analysis, thousands of people on our planet receive the <a href="http://goodfinance-blog.com">loans</a> at different creditors. So, there is good chances to find a collateral loan in any country.
    Posted 10:36, 28 Oct 2011
    Ukraine software development soft-group.com is designed and developed particularly for individual customer with the aim to meet exact demands of their business.
    Posted 12:29, 23 Nov 2013
    On the Internet, there are a great number of sites that propose essay writing services review, but if you contact best essay sites firm, you will come over the most trustable one.
    Posted 10:06, 1 Jan 2014
    Professional resume writers review will hint you where to buy resume paper when you are busy to write a resume, just visit Resumes expert company, check out resume writing samples and our professional resume writers will be ready to provide you resume services. Buying resume with us is pretty easy, buy resumes now and stay satisfied about your future career.
    Posted 10:01, 7 Jan 2014
    Are you looking which service to choose for buying resume or where to receive CV sample and help with resume writing? Or you simply want to buy CV from clever resume writers? Just get in touch with Resume company perfect-resume.com.
    Posted 10:01, 7 Jan 2014
    Visit Perfect-resume firm "perfect-resume.com" if you feel necessity for professional CV writing services. After working with this trustworthy writing agency, you will be aware of where to buy resume paper and where to look over CV templates. Don’t mull over, buy CV of excellent quality from expert resume writers.
    Posted 10:01, 7 Jan 2014
    You are looking for resume formats or how to write a resume? Or you need to get reliable resume services? Visit Perfect Resume firm and you will find out all necessary info and also a trustful writing centre from which you may buy resumes produced by clever resume writers.
    Posted 10:01, 7 Jan 2014
    Since there is the huge variety of organizations which want job seekers to accept help of the best resume writers, it is really problematic to to select the trustworty bureau.
    Posted 10:03, 7 Jan 2014
    One can find numerous Internet sites providing good essay services overview. Nevertheless, if you want to get definitely enlightening essay writing reviews, contact Essays review company.
    Posted 03:20, 10 Jan 2014
    Viewing 10 of 10 comments: view all
    You must login to post a comment.
    Powered by MindTouch Core