Postgrey občas nepustí normální mail

Michal Holub

Re: Postgrey občas nepustí normální mail
« Odpověď #15 kdy: 11. 02. 2011, 11:22:31 »
Jenomže to je špatně....
Proč by se měl uživatel obtěžovat, on poslal email a ten někdo ho nedostal. Čí je to chyba? Podle mě toho, kdo to měl doručit.
Celé tohle téma jsem chtěl vyřešit jednu věc - jestli jde nějak systémově vyřešit, že to občas zachytí email, který by měl projít.
Jenom dodám, že pokud to řešení nemá, tak je to podle mě špatný systém (postgrey), to je celé.


Dadko

Re: Postgrey občas nepustí normální mail
« Odpověď #16 kdy: 11. 02. 2011, 11:55:37 »
Problem bude pravdepodobne v neopravenej feature Exchange 2003, ktory proste pri pokuse o dorucenie na greylistovany server hodi mail do nejakej blackhole odkial sa ten email dostane len po restarte serveru. M$ o tejto feature vedel ale nikdy ju neopravil. Nie je to chyba greylistoveho systemu, ale serveru opdosielatela. Tam sa neda nic ineho robit ako bud whitelistovat danu adresu, alebo proste povedat dotycnemu odosielatelovi, nech si necha opravit poriadne mailovy server, t.j. upgradnut na verziu ktora touto nedokumentovanou feature netrpi. Ziaden prijemca nie je povinny robit si diery v greylisting systeme len kvoli tomu, ze odosielatel je lenivy a ma deravy mailovy server ktory sa nechova podla RFC SMTP protokolu!

Gazda

Re: Postgrey občas nepustí normální mail
« Odpověď #17 kdy: 11. 02. 2011, 13:05:07 »
Ešte raz upozorňujem, že to, čo hovorím, platí pre sqlgrey a nemusí platiť pre postgrey.

V hre sú
 - dve, alebo viac podsietí n1, n2, ...
 - a pozor, nie jedna jediná správa, ale v priebehu dhlšieho časového obdobia viacero správ m1, m2, ...

Tu je jeden možný scenár, s ktorým si sqlgrey neporadí:
čas t0:
   n1 chce doručiť m1 - sqlgrey si greylistuje dvojicu [n1, m1]
čas t0 + 5min
   n2 chce doručiť m1 - sqlgrey si greylistuje dvojicu [n2, m1]
čas t0 + 60min
   n2 chce doručiť m1 - sqlgrey prepustí m1 a whitelistuje n2 ako legálneho klienta

a teraz problém:
čas t0 + 30 dní
   n1 chce doručiť m2 - sqlgrey blacklistuje n1 ako nelegálneho klienta, pretože sa neunúval znovu poslať m1


A proč dvě podsítě vadí? V nejhorším případě to tedy vypadá tak, že nastane pokus z první podsítě, postgrey ho odmítne. Oni to po pár minutách zkusí z druhé podsítě, postgrey odmítne. Potřetí to projde, protože postgrey už má zaznamenané pokusy z obou podsítí.

Ahojte,

nedávno som tiež pátral, prečo náš sqlgrey neprepúšťa niektoré správy. Bolo to preto, že druhý pokus o doručenie prišiel síce od toho istého hostname, ale z inej IP-adresy. U mňa išlo konkrétne o moutng.kundenserver.de

dig moutng.kundenserver.de

vráti viacero IP-adries, i čím si sqlgrey bežne poradí, pokial sú tie adresy z jedného /24 subnetu, lenže v tomto prípade sú v hre dva subnety).

V sqlgrey pomohlo jedine zaradenie do whitelistu. Postgrey má možno rovnaký problém.

Re: Postgrey občas nepustí normální mail
« Odpověď #18 kdy: 11. 02. 2011, 16:55:41 »
Jenomže to je špatně....
Ano, je :)
Proč by se měl uživatel obtěžovat, on poslal email a ten někdo ho nedostal. Čí je to chyba?
Podle mě toho, kdo to měl doručit.
O uživateli nepadlo ani slovo, bavíme se o komunikaci mezi dvěma mailovými servery.

A ano, souhlasím, že je to chyba toho serveru, který to měl doručit - tj. toho, který poslední mail PŘEVZAL - tj. toho, který ho odesílá na tvůj (postrgeyovaný) server. Tvůj server totiž mail NEPŘEVZAL, proto ani nemůže být zodpovědný za jeho doručení.

Tvůj server (B) prostě odesílajícímu serveru (A) řekne "sorry, ale teď DOČASNĚ nejsem schopen zprávu přijmout" - jestliže si to server A vyloží jako "mail doručen" nebo "mail nelze doručit" nebo "mail můžu zahodit", je to očividně jeho chyba, nikoli chyba serveru B. Minimálně proto (což už tu zaznělo), že mailserver může být chvíli mimo provoz, to je něco, s čím prostě A musí počítat.

Jak by se ti líbilo, kdyby pošťačka zazvonila na tvoje dveře, tys neotevíral a ona by usoudila, že balíčky pro tebe může hodit do koše?

Celé tohle téma jsem chtěl vyřešit jednu věc - jestli jde nějak systémově vyřešit, že to občas zachytí email, který by měl projít.
Ale to je právě úplně špatně položené - postgrey nic "nezachytává", tím méně falešně pozitivně (snad až na těch víc IP, co tady zmiňoval kolega). Postgrey prostě jednoduše odesilateli řekne "teď to nepřijmu, zkus to později". Problém pramení z toho, že to odesilatel nepochopí.

Jenom dodám, že pokud to řešení nemá, tak je to podle mě špatný systém (postgrey), to je celé.
No za prvé je otázka, jestli chci svůj server ohýbat tak, aby řešil chyby jiných serverů. A za druhé je otázka, jaké prostředky mám k řešení chyby jiných serverů.

Co třeba kdyby nějaký mailserver nezačínal komunikaci HELO/EHLO, ale třeba ZDAR, TADY VENCA? Je můj server špatný, když s ním nebude komunikovat?

Re: Postgrey občas nepustí normální mail
« Odpověď #19 kdy: 11. 02. 2011, 20:20:40 »
sqlgrey blacklistuje n1 ako nelegálneho klienta, pretože sa neunúval znovu poslať m1

A není problém především tady? Přiznám se, že doteď jsem netušil, že nějaký greylisting nástroj dělá blacklisting z tohodle důvodu... A pokud ho dělá, není na místě zvážit vypnutí téhle feature? (samotný greylisting by IMHO měl úplně vklidu stačit, notoričtí spammeři by měli být nacházení jinak - nějakým "oficiálním" blacklistem)