Re: Kdo mi cmare do souboru ?

2021-01-23 Tema obsahu Dan Lukes

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 ?

2020-05-27 Tema obsahu Cejka Rudolf
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 ?

2020-05-26 Tema obsahu Vilem Kebrt

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 ?

2020-05-26 Tema obsahu Cejka Rudolf
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 ?

2020-05-26 Tema obsahu Jozef Drahovsky (FreeBSD cz)

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 ?

2020-05-25 Tema obsahu Dan Lukes


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 ?

2020-05-25 Tema obsahu Jozef Drahovsky (FreeBSD cz)

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 ?

2020-05-25 Tema obsahu cizek.milan
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 ?

2020-05-25 Tema obsahu Miroslav Lachman

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