Re: Kdo mi cmare do souboru ?
On 25.5.2020 17:00, Dan Lukes wrote: Pri pristup k mailboxu pouzivam imap-uw - konkretne IMAP protokol, ve variante STARTTLS. Ja vim, to neni udrzovany software, je dokonce az tak stary, ze autor uz ani nezije. Klidne prijmu radu na neco jinyho Obcas se stane, ze mi to mailbox /var/mail/$username poskodi, a to tak, ze se na zacatku souboru objevi blok binarnich dat. Jen kratce se vratim k tehle kvetnove debate. Zda se, ze nakonec je resenim nahrada imap-uw za panda-imap. Kod je to stejny, jen to nekdo prevzal a zrejme doladil chyby (i vyvojo bych primo nemluvil). Takze pokud nekdo pouzivat IMAP (POP) pres TLS a IMAP-UW, tohle je zamena, kterou bych doporucil. Dan -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l
Re: Kdo mi cmare do souboru ?
Vilem Kebrt wrote (2020/05/26): > > Do /etc/security/audit_user přidej pro každého potenciálního > > uživatele user:ex,fw:no. Seznam sledovatelných tříd je > > v /etc/security/audit_class a dají se dodefinovat vlastní. > > "fw" je sledování zápisů, "ex" pro dohledání, který proces > > zápis provedl. > > > Na systemovy demony se to da aplikovat taktez, je to jenom otazka nastaveni > audit confu. Globální nastavení sledovaných událostí se dá nastavit v /etc/security/audit_control přes flags pro atributované události a naflags pro neatributované (tj. s loginem a bez loginu). -- Rudolf Cejka http://www.fit.vut.cz/~cejkar Brno University of Technology, Faculty of Information Technology Bozetechova 2, 612 66 Brno, Czech Republic -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l
Re: Kdo mi cmare do souboru ?
Ahoj. Tady nemas tak uplne pravdu, daji se sledovat i primo soubory a dane akce nad nima. > Audit je spíš o uživatelích než o souborech. Pokud máš množinu potenciálních uživatelů, pak by třeba trošku pomoct mohl. Do /etc/rc.conf přidej auditd_enable="YES". Do /etc/security/audit_user přidej pro každého potenciálního uživatele user:ex,fw:no. Seznam sledovatelných tříd je v /etc/security/audit_class a dají se dodefinovat vlastní. "fw" je sledování zápisů, "ex" pro dohledání, který proces zápis provedl. Na systemovy demony se to da aplikovat taktez, je to jenom otazka nastaveni audit confu. Zkusim vyhrabat auditni konfiguraci co pouzivame pro zasilani full auditu do siemu. Ta by mela pomoct. Ale obsah vidět není. Jo a ještě je to hlavně pro uživatele, kteří se normálně přihlašují. Na systémové dénony je to otázka. Záleží kdy a jak se spouštějí. Víc v man audit_user na konci. Vilem -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l
Re: Kdo mi cmare do souboru ?
Dan Lukes wrote (2020/05/26): > Doufal jsem, ze > existuje neco hotovyho nebo prinejmensim snadneji upravitelnyho. Treba v > ramci auditingu, o kterym moc nevim co umi. Audit je spíš o uživatelích než o souborech. Pokud máš množinu potenciálních uživatelů, pak by třeba trošku pomoct mohl. Do /etc/rc.conf přidej auditd_enable="YES". Do /etc/security/audit_user přidej pro každého potenciálního uživatele user:ex,fw:no. Seznam sledovatelných tříd je v /etc/security/audit_class a dají se dodefinovat vlastní. "fw" je sledování zápisů, "ex" pro dohledání, který proces zápis provedl. Spusť audit /etc/rc.d/auditd start. Výpis všech záznamů např. praudit [-lx] /var/audit/current. Pokud tě zajímá jen konkrétní soubor, můžeš výpis záznamů omezit na vybraný soubor přes auditreduce. Po ukončení auditu /etc/rc.d/auditd stop zůstává log ve /var/audit, např.: # auditreduce -o file=/root/x /var/audit/20200526110902.20200526111500 | praudit -lx /root/x Ale obsah vidět není. Jo a ještě je to hlavně pro uživatele, kteří se normálně přihlašují. Na systémové dénony je to otázka. Záleží kdy a jak se spouštějí. Víc v man audit_user na konci. -- Rudolf Cejka http://www.fit.vut.cz/~cejkar Brno University of Technology, Faculty of Information Technology Bozetechova 2, 612 66 Brno, Czech Republic -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l
Re: Kdo mi cmare do souboru ?
Dňa 26. 5. 2020 o 7:45 Dan Lukes napísal(a): riadiaci blok v maiboxe ... imap-uw ho robí binárny. Do textoveho MBOXu nemuze a imap-uw to nedela. To by tam MTA uz nemusel byt schopen pridat dalsi email. V tomhle problem neni, do textoveho MBOX souboru IMAP-UW dava data textove. Dan Síce neviem vo FreeBSD jednoducho si zapnúť logovanie operácii na konkrétnom súbore (čas, program, typ operácie) a musím isť na to okľukou, ale aj tak som zistil, že do MBOXu mi chodil len sendmail, pop3 a imap4, ak nerátam aktivitu pri logine ktorá v sell informuje o nových emailoch. Lenže ani pop3 ani imap4 ho nezamykajú trvale počas celej svojej činnosti. Viem to preto, lebo som si otvoril spojenie a počas mazania emailov a pomalého listovania zoznamu mailov som poslal cez sendmail novy email a v zozname mailov sa ihneď objavil, co by pri uzamknutí súboru počas prace klienta s príslušným deamom nebolo možné. Čiže by som súčasne sledoval zmeny súboru a i/o od imap-uw. Jozef -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l
Re: Kdo mi cmare do souboru ?
Zareaguju takhle v jednom emailu na vsechny tri dopisy, at toho konferenci nelita moc. Problém nastáva pri ukončení spojenia na klienta, vtedy deamom (a nie hneď) zapíše do mailoxu čo s nim robil (aj len pri čítaní zapisuje príznak čítania) a ak sú dva deamony tak si mailbox navzájom prepisujú. Zrejme programátori nepredpokladali rôzne deamony (aj od roznych výrobcov) do jedného mailboxu. Novy email muze prijit kdykoliv. Bez zamkovani (ci jineho rizeni pristupu k souboru) by to neslo, a IMAP-UW zamyka. Problem sice nejak s konkurencnim pristupem souvisi, ale nejak netricialne. Zapsany binarni bordel byl identifikovan jako segment SSL komunikace. K datum v tyhle podobe aplikace obvykle pristup nema a nemuze je tedy "prostou chybou" zapsat. Pri "proste" chybe zamkovani by si to sice prepisovali, ale porad "formatove korektnimi" daty. Odhad "naslepo" je, ze (zrejme pri reseni zamkovani) aplikace uzavre deskriptor sitoveho spojeni standardnim systemovym close() - nikoliv volanim SSL funkce. Nasledne aplikace otevre maillbox a system ji vrati volny deskriptor - ten, co byl prave uvolnen, tedy ten, ktery si SSL knihovna stale drzi v internich datech jako deskriptor otevreneho SSL spojeni. No a nekdy pozdeji do nej ta knihovna zapise. riadiaci blok v maiboxe ... imap-uw ho robí binárny. Do textoveho MBOXu nemuze a imap-uw to nedela. To by tam MTA uz nemusel byt schopen pridat dalsi email. V tomhle problem neni, do textoveho MBOX souboru IMAP-UW dava data textove. napadl mne prográmek inotifywait, který používám. Nicméně ten dokáže odchytit jen patřičnou změnu (vytvoření/update) nějakého souboru. Jak ale zjistit, kdo do něj zrovna zapisuje - možná hned zkusit zavolat lsof či něco podobného, třeba se to stihne a něco prozradí. Sice rikam, ze nejdriv potrebuju zjistit kdo a pak teprve hledat proc, ale nakonec to druhy budu stejne potrebovat, takze stejne budu potrebovat chytit ten konkretni zapis, abych sestrelil to co ho dela a nasledne v coredumpu hledat co se delo a jak tomu napriste zabranit. Pokud prijdu na to jak udelat tohle, nejspis to pujde pouzit i pro detekci "kdo". Ja vim jak to v nejhorsim vyresit. Proste budu muset patchnout libc nebo kernel a u zapisu zkontrolovat, jestli nezapisuju na pozici nula sledovaneho souboru nezadouci blbosti. A pokud ano, tak to sestrelit. Ale potrebna uprava neni uplne trivialni a strasne se mi do toho nechce. Doufal jsem, ze existuje neco hotovyho nebo prinejmensim snadneji upravitelnyho. Treba v ramci auditingu, o kterym moc nevim co umi. pro IMAP / POP3 server bych z vlastni zkusenosti doporucil Dovecot Zatim se mi nechtelo ho zkoumat. Na to co potrebuju je zbytecne komplexni. Mozna me ale situace nakonec donuti. Kazdopadne diky vsem za napady, pokdu byste jeste na neco narazili, klidne dejte vedet, jestli se fakt budu muset hrabat v kernelu, tak to mi bude jeste nejakou dobu trvat, nez se do toho dokopu ... Dan -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l
Re: Kdo mi cmare do souboru ?
Riešil som niečo iné a narazil na ten istý problém. Ešte keď som sa rozhodoval či sendmail alebo postfix tak som skúšal aj rôzne protokoly pre pop a imap. Problém bol ten, že hoci som si stihol poštu cez pop3 tak aj po hodinách sa mi tam už prečítané a vymazané emaily objavili znovu. Nepomohlo ani vymazanie /var/mail/maibox Najprv som podozrieval sendmail, potom tunderbird. Nakoniec som to bol ja :) POP3 je určený pre ťahanie správ z mailboxu do klienta. Proces len číta a maže spravy, pritom čítanie (príznak a dátum) si poznačuje do tela správy. Klient si ukladá správy u seba do roznych foldrov. Správy v mailboxe servera spravidla maze po stiahnutí alebo necháva niekoľko dní. Ak sa tam nechajú trvale tak po niekoľko mesiacoch sú tam gigabajty a ťahanie nových emailov začne haprovať až zamrzne. Ak máš dvoch pop3 klientov a každý na inom počítaci alebo mobile, tak si navzájom kradnú došlé emaily. Kto ťahá prvý ten stiahne a vymaže. IMAP4 je určený pre udržanie správ v mailboxe a ich nálepkovanie príznakmi. Imap si vytvára riadiaci blok v maiboxe. Dovecot ho robí textový ako fiktívny email spravu s upozornením nemazať, imap-uw ho robí binárny. Všetky správy sa držia v mailboxe a majú nálepky. Foldre neexistujú. Klient ma u seba len kópiu mailboxu. Tento spôsob je ideálny ak chceš pristupovať k mailboxu z rôznych počítačov súčastne. Problém je mazanie a odkladanie správ. Ak mail vymažeš, tak sa stane nedostupný u všetkých klientov. Len málo klientov pre IMAP umožnuje u seba mať lokálny folder do ktorého sa dajú maily presunúť, respektíve skopírovať a zo živého mailboxu vymazať. Tie IMAP klienti ktoré majú uliožiť do archívu (spravidla v mobiloch) len dajú nálepku "archiv" ale ostanú v živom mailboxe a ten narastá a narastá. IMAP zvláda dobre vačšie nafúknutie mailboxov ako POP, ale tiež s narastajúcim objemom sa spomaľuje. Teraz k vzniku problémov. Pokiaľ sa neprihlásiš ako klient cez POP3 alebo IMAP4 tak sa o mailbox zaujíma len sendmail a prihadzuje tam poštu. V momente aktivovania prvého prihlásenia tak si deamom POP3 aj IMAP4 načíta celý súbor k sebe, rozindexuje emaily a poskytuje služby. Sledujú len to, či je nejaký append do suboru, (od sendamilu) ak je, tak si refrešnú dáta. Problém nastáva pri ukončení spojenia na klienta, vtedy deamom (a nie hneď) zapíše do mailoxu čo s nim robil (aj len pri čítaní zapisuje príznak čítania) a ak sú dva deamony tak si mailbox navzájom prepisujú. Zrejme programátori nepredpokladali rôzne deamony (aj od roznych výrobcov) do jedného mailboxu. Zistil som, že tento chaos nastáva nielen medzi POP3 a IMAP4 k tomu istému mailboxu, ale aj medzi medzi šifrovaným a nešifrovaným spojením, ale prečo tomu tak je už som nezistil. Na jeden mbox treba ísť len pop alebo imap protokolom, ale aj nešifrovane alebo šifrovane a navzájom tieto 4 veci nemiešať, respektíve byť si vedomý následkov. Jozef p.s. ten blok dát v textovej podobe vyzerá nasledovne: >From MAILER_DAEMON Wed Feb 27 19:30:20 2019 >Date: Wed, 27 Feb 2019 19:30:20 +0100 >From: Mail System Internal Data >Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA >Message-ID: <1551292220@**> >X-IMAP: 1549215201 000132 >Status: RO > >This text is part of the internal format of your mail folder, and is not >a real message. It is created automatically by the mail system software. >If deleted, important folder data will be lost, and it will be re-created >with the data reset to initial values. Dňa 25. 5. 2020 o 17:00 Dan Lukes napísal(a): Pri pristup k mailboxu pouzivam imap-uw - konkretne IMAP protokol, ve variante STARTTLS. Ja vim, to neni udrzovany software, je dokonce az tak stary, ze autor uz ani nezije. Klidne prijmu radu na neco jinyho (ale nechci aby to melo samostatnou databazi uzivatelu, at to jede nad systemovou a format mailboxu a to to idealne ma textovy), ale to neni duvodem proc sem pisu. Obcas se stane, ze mi to mailbox /var/mail/$username poskodi, a to tak, ze se na zacatku souboru objevi blok binarnich dat. Pravdepodobne to nejak souvisi se soucasnym pristupem vice procesu k tomu souboru - vice IMAPu (kdyz clovek pristupuje k mailboxu z vice nez jedne aplikace/pocitace) pripadne v tom muze hrat roli i sendmail, kdyby zrovna ukladal dalsi email. Binarni data se objevi na zacatku souboru, a nasledne s nim pak nelze pracovat (protoze nema znamy format) dokod to ho neopravim v textovem editoru. Moje zkusene oko dokonce dokazalo identifikvoat co to je za binarni data - je to sifrovany segment nejake TLSv1.2 komunikace. Mohl by to napriklad klidne byt kus te IMAPs komunikace, ale je to sifrovany, dovnitr nevidim, jistotu nemam. Takze konecne k dotazu. Ocenil bych nejaky napad, jak "pri cinu" chytit proces, ktery mi prave zapisuje do souboru. Podminka je jednoducha, konkretni soubor, zapis na zacatek souboru a prvni byte zapisovanych dat neni "F" (protoze F je tam patri spravne, binarni data vzdy zacinaji jinou hodnotou).
RE: Kdo mi cmare do souboru ?
Ahoj, napadl mne prográmek inotifywait, který používám. Nicméně ten dokáže odchytit jen patřičnou změnu (vytvoření/update) nějakého souboru. Jak ale zjistit, kdo do něj zrovna zapisuje - možná hned zkusit zavolat lsof či něco podobného, třeba se to stihne a něco prozradí. Milan > -Original Message- > Takze konecne k dotazu. > > Ocenil bych nejaky napad, jak "pri cinu" chytit proces, ktery mi prave > zapisuje do souboru. Podminka je jednoducha, konkretni soubor, zapis na > zacatek souboru a prvni byte zapisovanych dat neni "F" (protoze F je tam > patri spravne, binarni data vzdy zacinaji jinou hodnotou). > > Uplne nejlip, kdybych ho pri tom rovnou dokazal zcoredumpovat, protoze > tu chybu budu potrebovat orpavit. Pro zacatek ale staci zjistit "kdo". > > Neresil jste nekdo neco podobnyho ? > > Dan -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l
Re: Kdo mi cmare do souboru ?
On 2020-05-25 17:00, Dan Lukes wrote: Pri pristup k mailboxu pouzivam imap-uw - konkretne IMAP protokol, ve variante STARTTLS. Ja vim, to neni udrzovany software, je dokonce az tak stary, ze autor uz ani nezije. Klidne prijmu radu na neco jinyho (ale nechci aby to melo samostatnou databazi uzivatelu, at to jede nad systemovou a format mailboxu a to to idealne ma textovy), ale to neni duvodem proc sem pisu. S ladenim tveho problemu nepomuzu, ale pro IMAP / POP3 server bych z vlastni zkusenosti doporucil Dovecot. Drive jsem pouzival Courier-IMAP, ale ten uz mi dlouho nevyhovuje. Dovecot by mel podporovat mbox, Maildir a dbox format - podle toho, jak si ho nakonfigurujes. Ucty ze systemu myslim taky umi, i kdyz ja je pouzivam v databazi. V kombinaci s Postfixem ho pouzivam i jako MDA - umoznuje server side filtry na rozdelovani zprav do podslozek (sieve protokol), ale to asi neni featura, kterou bys ty hledal. Mirek -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l