SPF + DMARC dokopy znemožnujú posielať emaily do mailinglistov. Konkrétne "v=spf1 mx -all" a "v=DMARC1; p=reject;". To sa v texte nepíše a pred takýmto nastavením by mali byť všetci, čo chcú posielať emaily do mailinglistov, byť varovaný.
Najlepší spôsob je SFP + DMARC nepoužívať. Listmastri Debianu už premýšľali nad tým, že z dôvodu ochrany Debian list serverov aby neboli pridané na blacklist začnú odmietať emaily z mailových adries, ktorých správci si nastavili DMARC na p=reject. Časom to nastane a ľudia budú mať na výber či skrotia svôjho admina SMTP/DNS servera aby DMARC vypol alebo si budú musieť zaobstarať inú mailovú adresu kompatibilnú s mailinglistami.
A len tak mimochodom, DMARC je nekompatibilný s RFC5322 pre hlavičku Sender. A SPF je nekompatibilné s .forward.
Toto je řešitelné na straně mailinglistu - přepsat hlavičky a odstranit podpis, případně klidně podepsat znovu validně. To, že ty technologie něco rozbíjí, to je obecně známé, ale stav, kdy mohl KDOKOLIV pod JAKOUKOLIV adresou odeslat COKOLIV, aniž by byla nějaká možnost kontroly, je mnohem horší. Pokud někdo v Debianu přemýšlí takhle, tak se ani nedivím, že je Debian v tom stavu, v jakém je.
> Toto je řešitelné na straně mailinglistu
Ako rozumne? Rád sa priučím. Ale keď som čítal SPF a DMARC ako sú definované, tak si myslím, že to nejde. A to kvôli tomu, že rozporujú hlavičku Sender (RFC2822/RFC5322), ktorá by to mohla ešte zachrániť.
> přepsat hlavičky a odstranit podpis
Nefunguje! Podľa p=reject email bez podpisu je nevalidný, prijímateľ ho má zahodiť.
> případně klidně podepsat znovu validně.
Nefunguje! Podľa DMARC podpis musí byť vystavený kľúčom z domény emailovej adresy uvedenej v hlavičke From. A mailing list server rozhodne nemá privátny kľúč ku jednotlivým prispievateľom do konferencie.
Tu si ale autori DMARC štandardu splietli dojmy s pojmami. K účelu, kto je preposielateľ emailu slúži hlavička Sender a ak by sa používala ona namiesto From, tak mailing list server by si mohol pridať vlasnú hlavičku Sender a podpísať to svojím DKIM podpisom. Nič také ale DMARC neumožnuje.
Zato DKIM ráta s tým, že podpis si môže pridať po ceste aj ďalší server.
> To, že ty technologie něco rozbíjí, to je obecně známé, ale stav, kdy mohl KDOKOLIV pod JAKOUKOLIV adresou odeslat COKOLIV, aniž by byla nějaká možnost kontroly, je mnohem horší.
Nie. Horšie je ak príde niekto s technológiu, ktorá je zároveň:
1) nefunkčná
2) vynútená pre užívateľov, bez možnosti vypnúť
3) spôsobí zahodenie validných emailov (také čo nie sú spam/podvrh)
4) pred spamom/podvrhom aj tak nechrání
A to žiaľ pre DMARC platí.
> Pokud někdo v Debianu přemýšlí takhle...
A čo navrhujete?
Ak prijímateľ emailu dostane email s chýbajúcim alebo nevadidným DKIM podpisom a odosielateľova adresa má v DNS uvedené p=reject, potom prijímateľ musí taký email neprijať. V horšiom prípade ešte zaradí SMTP server z ktorého prišiel taký email na spam/black list. Tzn, server mailing listu. Prípadne pošle späť bounce (opäť mailing listu).
V tomto prípade ak niekto nechce skončiť na black liste a chce ochrániť svoje server, tak zakáže ľuďom čo toto spôsobujú posielať príspevky do mailing listu. Rovnako môže mailing listový server kvôli jednému mailu vyfasovať tisícku bouncov...
Na druhú stranu DMARC absolútne nič nerieši. Akonáhle pridám nejakú suffix do emailovej adresy v hlavičke From, tak DMARC kontrola prejde. A v prípade, že tam dám nebodaj ešte validnú doménu (bez zmeny phrase vo From), tak to môže mať ešte aj validný DKIM podpis. Prijímateľ, ktorý vidí v svojom UI iba phrase z From hlavičky si ničoho nevšimne, že ide o podvrh.
Tzn, celý DMARC iba skomplikoval/znemožnil mailing listy ale podvrhnuté emaily nejak nevyriešil.
Načo teda takúto technológiu nasadzovať? (Čakám validné argumenty, nie typu "lebo to nasadil veľký Yahoo").
Btw, mailing listy sa riešia práve týmto spôsobom, list server nahrazí adresu vo From za nejakú nevadlinú, prípadne za svoju. Čím zmenmožní zistenie, kto je skutočný odosielateľ emailu (pritom RFC5322 počíta s tým, viď existencia Sender hlavičky). Prípadne vytvorí nový email a ten pôvodný priloží ako prílohu. Oboje je humus pre prijímateľov -- členov mailing listov.
Takže ak máte nejaký lepší nápad sem s ním!
Ja to žiaľ vidím tak, že každý sa snaží nanútiť SPF+DMARC bez toho aby pochopil a vysvltil prečo to robí a prečo je to skutočne prínos (a pre koho).
Má to tieto problémy:
1) Prijímatelia tohto mailing listu neuvidia adresu skutočného odosielateľa toho emailu v hlavičke From.
2) Rozpor s RFC5322, ktorý je relevantný pre každú vytvorenú emailovú správu (resp. staršie RFC). Stráca sa tu informácia kto je pôvodný autor emailu a kto jeho preposielateľ. Podľa RFC5322, by sa mal pôvodný autor emailu uviesť v hlavičke From a ten kto ten email ďalej posiela (tzn. mailiglistový server) v hlavičke Sender. Vaše riešenie do From vypĺňa adresu, ktorá má byť v Sender.
3) Odosielateľ každého emailu je identifikovaný emailovou adresu, nie menom/phrase (čo je naviac nepovinné). Navrhnuté riešenie ale s emailovou adresou odosielateľa nepočíta (je tam iba meno "Registrovaný užívateľ").
4) Nefunguje s verejnými mailing listami, kde môže prispievať hocikto bez registrácie.
Bod 4) vidím ako najväčší problém.
ad 1) V pořádku. Neexistuje žádný důvod, proč někde hromadit skutečné adresy a přímo je nabízet k vyspamování. Autor se podepsal svým jménem (přezdívkou), je možné s ním v rámci mailing listu komunikovat a nevidím jediný důvod, proč by měl řvát do světa svoji adresu. Pokud ji sdělit chce, může ji uvést do těla zprávy.
ad 2) To samý, co 1
ad 3) To samý, co 1 a 2
ad 4) Veřejný mailing list, kde může kdokoliv neregistrovaný vyspamovat klidně tisíce registrovaných uživatelů je prasečina
Možná to není zcela dle původních záměrů mailing listů, ale doba je prostě taková. Je to velmi malá daň za to, co nabízí SPF a DKIM. Věčná škoda je, že se neujalo místo DMARC raději ADSP, které může být ještě restriktivnější.
ad 1) V prípade, že sa nepodpísal, tak mu nie je možné zaslať súkromnú správu, ktorú by nikto ďalší neprečítal. Ok, chápem, že to pre niekoho môže byť cieľom. Ale kopa ľudí do tela emailu svoju adresu nevádza, lebo je uvedená vo From (emailový štandard to vyžaduje).
Naviac k 1) prijímateľom to znemožní hľadať/filtrovať maily podľa emailových adries (čo funguje na všetky ostatné emaily).
ad 4) Väčšina open source projektov funguje práve s verejnými mailing listami. A takmer nikto sa nesťažuje ako vy, že by to bola prasačina. Nevynímajúc linuxový kernel, ktorý používa ohromné množstvo mailing listov.
Argument voči spamu je irelevantný nakoľko tieto projekty majú verejné gitové repozitáre, kde sú jednotlivé patche/commity identifikované práve platnými mailovými adresami.
SPF naprosto zásadním způsobem rozbíjí forwardování pošty, které je standardní součástí SMTP od nepaměti. A opravit to z principu nelze, takže SPF je zralé tak akorát na zahození.
Co nabízí SPF a DKIM? Dohromady nic moc zajímavého. Spousta spammerů se naučila své spamy podepisovat, takže v poště, která mi běžně chodí, je pravděpodobnost spamovitosti u podepsaného mailu vve skutečnosti o něco vyšší než u nepodepsaného. Slušný statistický filtr se to samozřejmě naučí, takže pokud chci, aby mé maily lidem přišly, nejspíš je výhodnější je pomocí DKIM nepodepisovat :-) A pokud chci, aby příjemce mohl ověřit, že můj mail je autentický, podepíši ho raději pomocí S/MIME nebo PGP.
Takže si osobně myslím, že SPF a DKIM jsou především humbuk prosazovaný lidmi, kteří o fungování mailových protokolů a filtrování spamu vědí pramálo.
SFP rozbíjí jedině rozbité forwardování pošty. Pokud server při forwardování změní obálkového odesílatele (což udělat musí, pokud má být v obálkové hlavičce e-mail, kam posílat případné chyby), SFP funguje správně. Při hromadném rozesílání e-mailů se to tak dělá odjakživa (např. e-mailové konference), při individuálním přeposílání se na to leta kašlalo, protože to nikomu nevadilo – SFP holt vyžaduje, aby to bylo nastavené správně.
Nikde, ale nekterym trotlum to nevysvetlis ...
Jinak odstranit vsechny hlavicky neni dobrej napad ... ;D, pak by ti nefungovalo treba razeni odpovedi.
Podstatny je to, aby se konfera cojavim uberkonference.cz ... nesnazila tvrdit, ze odesila mail ze seznam.cz - to si pak nabije hubu uz na spf. A dkim se da v nejhorsim proste odstranit a problem solved.
Normální mailinglisty odjakživa fungují tak, že při rozesílání e-mailu uvádějí jako obálkového odesílatele svou adresu doplněnou o příznak, kterému adresátovi se e-mail posílá. Když se e-mail vrátí jako nedoručitelný, vrátí se tedy správci konference (softwaru), který s tou chybou jako jediný opravdu může něco udělat (odesílatel původního e-mailu s tím neudělá nic). Např. pokud se e-maily pro adresáta vrací opakovaně, dočasně jej vyřadí z mailinglistu.
Mailinglisty tedy uvádějí obálkového odesílatele většinou správně, protože to pro ně byla nutnost. Chybně je obálkový odesílatel často uváděn při individuálním přeposílání, protože to dříve ničemu nevadilo.
Adresu From v těle e-mailu mailinglisty nemění, podle ní se pozná, kdo je autorem toho e-mailu. Nastavují ale hlavičku Reply-To, aby odpověď (pokud to odpovídající nezmění) šla opět do konference (pokud je to konference určená pro diskuse; konference určené třeba pro oznamování Reply-To nemění, nebo nastavují na nějakého správce).
> Normální mailinglisty odjakživa fungují tak, že při rozesílání e-mailu uvádějí jako obálkového odesílatele svou adresu
S tým som nerozporoval.
> Adresu From v těle e-mailu mailinglisty nemění
Nová verzia mailmana to už vie a v nastaveniach je špeciálne táto voľba popísaná ako jedna z dvoch možností ako byť kompatibilní s DMARC. Druhá možnosť, ktorá sa dá zvoliť, je vytorenie nového emailu a pôvodný (so všetkými hlavičkami) vložiť ako inline attachment.
Neviem či už je to default, ale viaceré mailinglisty postavené na mailmanovi už vidím, že takto fungujú (prepisjú From).
Se SPF není možné posílat e-maily do špatně nakonfigurovaných mailinglistů a přeposílat přes špatně nakonfigurované servery (bohužel je to ale výchozí chování mnoha serverů). Obálkový odesílatel je adresa schránky, která je za daný e-mail zodpovědná – například se na ní reportují chyby. V okamžiku přeposlání na sebe ale odpovědnost přebírá ten, kdo e-mail přeposílá, původní odesílatel s ním už nemá nic společného – takže obálkový odesílatel se má přepsat, nemá tam zůstávat ten původní. Dříve to nikdo neřešil, ale dnes už je to problém. Bohužel třeba Postfix ve výchozím nastavení do přeposlaného e-mailu vkládá původního obálkového odesílatele, Google doporučuje u přeposlaných e-mailů zachovat původního obálkového odesílatele…
SPF naviac síce podporuje .forward ale spôsobom, že obálková adresa sa vygeneruje podľa SRS. Horšie je, že kto to nedorží, tak jeho email bude zahodený. Naviac SRS vygenerovaná adresa nie je validná emailová adresa.
Ale prečo by mal nejakú takú vec implementovať SMTP server, ktorý SPF nevaliduje (tzn. ju nepodporuje)? Naviac štandardy pre SMTP (či už RFC5321 alebo staršie) nič také nevyžadujú.
Btw, pri prepise obálkovej adresy na novú vznikne ďalší problém. Nemusí to prejsť ďalšími spam kontrolami, ktoré overujú, že obálnový odosielateľ je ten vo From/Sender. Prípadne či prijímateľ v obálke sedí s nejakým v To/Cc (čo je naviac tiež dobrá volovina).
> V okamžiku přeposlání na sebe ale odpovědnost přebírá ten, kdo e-mail přeposílá, původní odesílatel s ním už nemá nic společného
To neplatí vždy! Ak si užívateľ na prvom serveri nastaví preposielanie emailov na druhý server a druhý server (z ľubovoľného dôvodu) email nepríjme (resp. ho prvý server na druhý ani doručiť nevie), tak je to stále problém pôvodného odosielateľa a chyba sa má propagovať k nemu.
Váš vyššie uvedený popis pre mailing listy ale platný je.
obálková adresa sa vygeneruje podľa SRS
To je jen jeden ze způsobů, jak nastavovat obálkovou adresu. Na přesném způsobu nezáleží, důležité je, aby to byla adresa někoho nebo něčeho, kdo je za ten e-mail zodpovědný.
Naviac SRS vygenerovaná adresa nie je validná emailová adresa.
Samozřejmě že je to validní e-mailová adresa, jinak by to nedávalo žádný smysl.
Ale prečo by mal nejakú takú vec implementovať SMTP server, ktorý SPF nevaliduje (tzn. ju nepodporuje)?
Protože to se SPF nijak nesouvisí. Jednoduše je to nastavení takové adresy odesílatele, která má v obálce logicky být.
Naviac štandardy pre SMTP (či už RFC5321 alebo staršie) nič také nevyžadujú.
No, nevyžadují. Podle standardu je obálkový odesílatel adresa, kam se mají hlásit chyby. Tedy je to adresa, která je za doručení toho e-mailu zodpovědná, a musí to tedy logicky být nějaká adresa spojená s klientem, který ten e-mail odesílá – nedává smysl dávat tam nějakou cizí adresu.
Nemusí to prejsť ďalšími spam kontrolami, ktoré overujú, že obálnový odosielateľ je ten vo From/Sender.
To jsou ale špatné kontroly, kterými neprojde spousta věcí.
To neplatí vždy! Ak si užívateľ na prvom serveri nastaví preposielanie emailov na druhý server a druhý server (z ľubovoľného dôvodu) email nepríjme (resp. ho prvý server na druhý ani doručiť nevie), tak je to stále problém pôvodného odosielateľa a chyba sa má propagovať k nemu.
Uvedl jste jeden z příkladů, který perfektně ukazuje, proč je špatně nepřepisovat obálkového odesílatele. Původní odesílatel pošle e-mail třeba třiceti adresátům, z toho jeden adresát je franta@example.com. Server example.com ten e-mail přesměruje na pepa@example.net, načež se vrátí původnímu odesílateli zpráva, že e-mail se nepodařilo na adresu pepa@example.net doručit. Co s tím bude odesílatel dělat? On e-mail na takovou adresu neposílal, vůbec nemusí vědět, ke které původní adrese ten e-mail patří. Navíc s tím přesměrováním nemůže nic udělat. Na tom je vidět, že správně řešení je přepsat obálkového odesílatele, tím pádem se chyba vrátí na přeposílající server, a tam je možné s tou chybou jednak něco dělat, jednak je možné informovat původního odesílatele, že se e-mail pro franta@example.com nepodařilo doručit. SRS pak slouží k tomu, aby si nemusel přeposílající server pamatovat, který přeposlaný e-mail patří ke kterému přijatému – ale není nutné to používat, klidně si místo toho může vést tabulku původních a přeposlaných e-mailů.
Mimochodem, dobře je to vidět také na tom, že e-mail je navržen tak, aby bylo možné posílat jej mezi různými druhy sítí. Takže ten přeposílající server také může být brána, která přeposílá e-maily mezi FidoNetem a Internetem. Příjemce nejspíš bude poštovní server, který umí komunikovat jenom přes Internet, takže nemůže případnou chybu poslat přímo původnímu odesílateli – musí ji poslat tomu, od koho e-mail dostal, a ten musí vědět, kam chybu předat dál.
Ok, zlý príklad, v tom máte pravdu.
Ale stále je tu problém, keď doména obálkového odosielateľa a doména vo From nesedia. Pri validovaní DMARC je nutné aby boli domény zhodné.
Ak ale pri preposielaní obálkového odosielateľa prepíšem a email preposielam na inú doménu, tak to cez DMARC validáciu neprejde. V tomto prípade je nutné zachovať pôvodného obálkového adresáta.
Hele bez na zive, tam ti to bude sluset vic. DMARC nic nikde nevaliduje, to zaprvy, zadruhy DKIM je podpis, a validuje se jestli sedi proti zverejnenymu podpisu (navic pro domenu, ktera je uvedena v tom podpisu, a ktera v principu muze byt jina nez odesilajici), tzn pokud neni, tak neni ani co validovat, a SPF resi jen to, jestli odesilajici server je opravnenej odesilat za danou domenu, ktera nema nic spolecnyho s from.
Ono se totiz predpoklada (coz ty ale nemuzes zjevne pochopit) ze pokud nekdo odesila pod svoji domenou (trebas skocdopole.cz) za nekoho kdo poslal from: skocdopole@seznam.cz ... tak ze si sam ve vlastnim zajmu overi toho manika ze seznamu. Vime?
> DMARC nic nikde nevaliduje
RFC7489 3.1.
"DMARC authenticates use of the RFC5322.From domain by requiring that it match (be aligned with) an Authenticated Identifier."
"In relaxed mode, the [SPF]-authenticated domain and RFC5322.From domain must have the same Organizational Domain. In strict mode, only an exact DNS domain match is considered to produce Identifier Alignment.
> DKIM je podpis, a validuje se jestli sedi proti zverejnenymu podpisu (navic pro domenu, ktera je uvedena v tom podpisu, a ktera v principu muze byt jina nez odesilajici)
RFC7489 3.1.1.
"In relaxed mode, the Organizational Domains of both the [DKIM]-authenticated signing domain (taken from the value of the "d=" tag in the signature) and that of the RFC5322.From domain must be equal if the identifiers are to be considered aligned."
Aha, takže z DMARC není nesmyslná jenom to polovina, která umožňuje nechat si hlásit, kolik virů zrovna používá adresy z mé domény, ale i ta druhá polovina, která validuje adresu From místo obálkové adresy. To by mne nenapadlo, že někdo vezme údajnou chybu SPF, a reálně jí implementuje do nového doporučení.
Ale stále je tu problém, keď doména obálkového odosielateľa a doména vo From nesedia.
Problém s tím mají maximálně správci chybně nastavených serverů. Vůbec bych se nedivil, kdyby mezi e-maily, které nejsou spamem, byla nadpoloviční většina těch, které mají From a obálkového odesílatele různé. Je to totiž typické pro hromadně zasílané e-maily (ať už e-mailové konference, automaticky generované transakční e-maily nebo různé newslettery).
Pri validovaní DMARC je nutné aby boli domény zhodné.
Na to jste přišel jak?
> Problém s tím mají maximálně správci chybně nastavených serverů.
To potom platí pre všetkých, ktorí zapínajú a vynucujú DMARC.
> Vůbec bych se nedivil, kdyby mezi e-maily, které nejsou spamem, byla nadpoloviční většina těch, které mají From a obálkového odesílatele různé.
Ani ja by som sa nedivil. Zas p=reject nie je až tak rozšírené.
> > Pri validovaní DMARC je nutné aby boli domény zhodné.
> Na to jste přišel jak?
Píše sa to priamo v štandarde DMARC. Preto vravím, že to spôsobí problémy v kombinácií so SPF a .forward.
Jak je libo. Jestli se vám líbí, že kdokoliv může vaším jménem (jménem vaší firmy) kohokoliv e-mailem oslovit a napsat mu cokoliv, potom je v pořádku to všechno povypínat. Existuje celá řada způsobů, jak udělat mailing list kompatibilní s DMARCem , což je to momentálně jediná použitelná metoda pro boj s podvodnými e-maily, která nám umožní protistraně sdělit, že opravdu trváme na tom, že naše maily mají být naše a nemá je cestou nikdo měnit. Realita je taková, že mailing list do e-mailu zasahuje a proto je JEHO zodpovědnost, jak JÍM odeslaný mail vypadá. Podívejte se na to taky z hlediska typického zaměstnavatele... řekněte mu, že sice existují technologie, které částečně dokáží zabránit podvodným e-mailům, ale že to nebudete zapínat, protože to rozbije pár mailing listů, které mu, na rozdíl od těch potencionálně podvedených zákazníků, nevydělají ani korunu. Jestli máte lepší řešení, sem s ním, rád se poučím.
Jestli se vám líbí, že kdokoliv může vaším jménem (jménem vaší firmy) kohokoliv e-mailem oslovit a napsat mu cokoliv,
K tomuhle ale slouží elektronický podpis, nikoli SPF nebo DKIM. SPF a DKIM jsou záležitosti poštovních serverů, takže to není „jménem mým“ nebo „jménem firmy“, ale „jménem poštovního serveru“.
Existuje celá řada způsobů, jak udělat mailing list kompatibilní s DMARCem
Já ale nechci nic dělat kompatibilní s DMARCem. E-mail tady byl dávno před DMARCem, pokud chce někdo přijít s něčím novým, ať to udělá buď zpětně kompatibilní, nebo ať udělá novou verzi e-mailu. DMARC porušuje pravidlo č. 1 e-mailu, totiž že poštovní server se řídí jen obálkovými adresami a tělo e-mailu je pro něj blackbox. Proto jsou ty dvě adresy zdánlivě „zduplikované“ na obálce, proto se používá ta analogie s pozemní poštou, která taky doručuje podle obálky a nestará se o vnitřek.
Vzhledem k tomu, že e-mail může být podepsaný, server nemůže měnit jeho obsah. Takže z té celé řady způsobů zbývá asi jen vložení e-mailu jako přílohy do nového e-mailu, což je opravdu úžasné řešení.
což je to momentálně jediná použitelná metoda pro boj s podvodnými e-maily, která nám umožní protistraně sdělit, že opravdu trváme na tom, že naše maily mají být naše
Já znám jiné použitelné metody – třeba DKIM nebo SPF. DMARC je zbytečnost navíc, a ještě ke všemu škodlivá.
nemá je cestou nikdo měnit
Právě, nemá je nikdo měnit, takže těžko můžu měnit hlavičku From, aby vyhověla DMARC. A nejenom, že je nemá cestou nikdo měnit, nemá je nikdo ani číst.
Realita je taková, že mailing list do e-mailu zasahuje a proto je JEHO zodpovědnost, jak JÍM odeslaný mail vypadá.
Mailing list do obsahu e-mailu žádným způsobem zasahovat nemusí. Mailing list je odpovědný za obálku, ne za obsah. Je to jako když necháte rozeslat poštou letáky. Vy ručíte za obsah, pošta ručí za obálky a za doručení. Pošta vám nebude upravovat obsah letáku, a vy zase nebudete poště kecat do toho, že se někdo přestěhoval a chce to doručit na novou adresu.
Podvodným e-mailům brání elektronický podpis. Podvodnému rozesílání brání SPF a/nebo DKIM.
> Jestli se vám líbí, že kdokoliv může vaším jménem (jménem vaší firmy) kohokoliv e-mailem oslovit a napsat mu cokoliv, potom je v pořádku to všechno povypínat.
Nepáči sa mi to, ale DMARC to nerieši. Ak riešením myslíte aj zahodiť validné emaily (také, čo nie sú podvrhnuté), tak to rozhodne riešenie nie je.
> Existuje celá řada způsobů, jak udělat mailing list kompatibilní s DMARCem
Stále čakám na nejaký postup. Najprv ste mi navrhli dva, hoci ani jeden z nich nefunguje. A potom ďalší, ktorý nie je možné nasadiť v existujúcich OSS projektoch.
Mne netreba veľký zoznam/radu rôznych postupov, uspokojím sa s jedným, ktorý bude fungovať tak, že nezahodí validné emaily, ktoré doteraz prechádzali.
> což je to momentálně jediná použitelná metoda pro boj s podvodnými e-maily
Chcelo by to dôkaz, že je to naozaj jediná použitelná metóda. Takémuto tvrdeniu sa bude ťažko veriť, zvlášť keď zahadzuje netriviálny počet validných emailov.
Na zaistenie toho, že email nie je podvrhnutý, slúži podpisovanie emailu jeho odosielateľom. Nie nejakým SMTP serverom po ceste.
A ako som spomínal, keď ľudia budú používať UI, ktoré im zobrazí len meno odosielateľa a nie email (čo napr. robí GMail), tak podvrhnete emailov koľko len chcete aj cez zapnutý DMARC.
Čakám kedy niekto začne používať IDN domény, ktoré budú mať podobné znaky v emailovej adrese, a začne takto "podvrhávať" emaily, ktoré budú dokonca ešte aj DMARC validné...
Píše sa to priamo v štandarde DMARC. Preto vravím, že to spôsobí problémy v kombinácií so SPF a .forward.
Nikoli, problém není v kombinaci SPF a přeposílání e-mailů, to funguje perfektně. Problém je v kombinaci DMARC a SPF a obecně v tom, že se DMARC stará o obsah e-mailu. Poštovní server si obsahu e-mailu nemá vůbec všímat, v ideálním případě by byl celý obsah e-mailu zašifrován a poštovní server by si všímal jen obálky a hlaviček Received a DKIM (které fakticky vzato nepatří do těla e-mailu ale na obálku).
Ty jo, takove nesmysly v diskusi, to je je ulet.
A message satisfies the DMARC checks if at least one of the supported
authentication mechanisms:
1. produces a "pass" result, and
2. produces that result based on an identifier that is in alignment,
as defined in Section 3.
> Co s tím bude odesílatel dělat? On e-mail na takovou adresu neposílal, vůbec nemusí vědět, ke které původní adrese ten e-mail patří.
Odesilatel se především dozví, že některému z příjemců zpráva nedorazila. I kdyby nevěděl kterému, je to pořád lepší, než když bude mail servery udržován v bláhové naději, že mail všem došel (což je přesně to, k čemu Váš návrh vede).
Jinak pokud odesilatel opravdu stojí o to, aby zjistil, o kterého z původních příjemců se jedná, může použít VERP (Variable Envelope Return Path). Mailing listy to už pěkných pár let dělají a funguje to docela spolehlivě.
Odesilatel se především dozví, že některému z příjemců zpráva nedorazila.
Což se dozví i při přepisu obálkové hlavičky. Je to zodpovědnost přeposílajícího serveru přeposlat mu chybovou zprávu.
I kdyby nevěděl kterému, je to pořád lepší, než když bude mail servery udržován v bláhové naději, že mail všem došel (což je přesně to, k čemu Váš návrh vede).
Když neví, kterému adresátovi e-mail nedošel, je ta informace úplně k ničemu. Můj návrh k ničemu takovému nevede. Podle RFC má být v obálkovém odesílateli adresa, na kterou se mají zasílat chyby. Což je v případě přeposílání přeposílající server, protože ten jediný ví, komu má tu chybu doručit. Ostatně e-mailové konference to takhle dělají odjakživa – přeci jen těch e-mailů doručují trochu víc, než jeden přeposílač, takže si nemohou dovolit mít to nakonfigurované špatně.
RFC5321 v části 3.3 říká, co má být v obálkové adrese odesílatele:
The <reverse-path> portion of the first or only argument contains the source mailbox (between "<" and ">" brackets), which can be used to report errors (see Section 4.2 for a discussion of error reporting).
Pokud tam server nechá původní adresu, je to špatně, protože o té adrese neví vůbec nic, neví jestli existuje, jestli je dostupná pro cílový server. Nebo snad někde ve standardu vidíte, že v obálkové hlavičce odesílatele může být jakákoli náhodná adresa, kterou si klient zrovna vymyslí?
V sekci 3.6.3 je pak napsáno, že server, který akceptoval e-mail k doručení, a dodatečně zjistí, že jej doručit nemůže, musí sestavit zprávu o nemožnosti e-mail doručit a tu zaslat právě na onu adresu obálkového odesílatele, kterou se dozvěděl od klienta.
If an SMTP server has accepted the task of relaying the mail and
later finds that the destination is incorrect or that the mail cannot
be delivered for some other reason, then it MUST construct an
"undeliverable mail" notification message and send it to the
originator of the undeliverable mail (as indicated by the reverse-
path).
Mimochodem, také je v této části napsáno, že přeposílající server nesmí čmuchat v obsahu e-mailu (mimo hlaviček Received kvůli detekci smyčky) a už vůbec je nesmí měnit, takže přepisování hlavičky From v e-mailu přeposílajícím serverem odporuje RFC.
Na přeposílání chybových zpráv není potřeba si udržovat vnitřní stav, je to jen otázka implementace. Server může použít SRS, může zpáteční adresu vložit do nějaké hlavičky.
> Pokud tam server nechá původní adresu, je to špatně, protože o té adrese neví vůbec nic, neví jestli existuje, jestli je dostupná pro cílový server.
No to je přesně ta věc, o které mi vůbec není jasné, kde jste ji vzal. SMTP servery se od počátku věků chovají přesně tímto způsobem.
Má tam být mailbox which can be used to report errors. To těžko může být nějaká náhodná adresa, o které nevím vůbec nic (a na neověřenou obálkovou adresu se jinak než jako na náhodnou adresu dívat nemůžu). Má tam být adresa, na kterou je možné hlásit chybu – pochybuju o tom, že to je v RFC myšleno ironicky stylem „chyby můžete hlásit na lampárně“.
Nechovají se tak všechny servery, ale jenom ty jednodušší. Servery, které musely řešit složitější věci ohledně doručování e-mailů (např. servery e-mailových konferencí), obálkového odesílatele přepisují. To, že dříve nikomu nevadilo, že se do obálkové adresy odesílatele dávala nesmyslná adresa, neznamená, že to ničemu nevadí i dnes. Ostatně zprávy o nedoručení už se dnes neposílají, právě proto, že v té adrese je ve většině případů nějaká náhodná adresa a ne skutečný odesílatel. Zprávy o nedoručení je dnes možné odesílat jedině tehdy, pokud máte adresu odesílatele ověřenou, tedy pokud ji odesílající klient nastavil na nějakou adresu, za kterou je zodpovědný, a ověřilo se to přes SPF.
Při použití SRS se chyby hlásí na adresu, kterou SRS uvedlo jako MAIL FROM při navázání komunikace (oproti tomu je zároveň ověřeno SPF, pokud se používá). SRS se potom v případě chyby postará o odeslání zpět na původní adresu, která se dá ze SRS adresy vyčíst a navíc se kontroluje hash, aby nebylo možné díky SRS posílat e-maily kamkoliv. Mimochodem, u konferencí je většinou potřeba zpětné chyby odfiltrovat, protože když někdo něco pošle do konference, určitě ho nezajímá, kolik nefunkčních adres je aktuálně registrováno, jediné, co ho zajímá, pokud e-mail z nějakého důvodu konference odmítne ještě před distribucí dalším účastníkům.
Tahle opičárna se vyplatí pro konferenci, ale na běžném serveru nemá cenu. DMARC projde tak dlouho, dokud je v pořádku alespoň DKIM a jestli neprojde SPF není zase tak moc podstatné. Takže kdo si na domácím serveru provozuje nějaký mailing list, nic mu nebrání v instalaci třeba postsrsd.
Takže znovu, dokud konference nehrabe do obsahu, DMARC PROJDE!!! s platným DKIM a failnutým SPF (pokud nepoužívá SRS). Pokud konference do obsahu hrabe, DMARC stále může projít s failnutým DKIMem, ale platným SPF, pokud se použije SRS, ale podle mě by konference v takovém případě měla e-mail převzít (tělo) a poslat jej pod svými hlavičkami.
Takže stále nevidím žádný problém s nastavením konference tak, aby s DMARCem fungovala a nevidím ani problém v DMARCu. Naopak, pokud budu email zahazovat jen kvůli failnutému SPF, jak tu kdosi inteligentně navrhoval (což bych ani neměl, protože trvám na tom, že SPF nám jen sděluje, jestli podepisujeme, nebo ne, ale neuvádí žádnou politiku, jak se chovat v případě chyby), tak bude situace horší, než s DMARCem, protože přijdu o možnost doručení na základě korektního DKIMu.
DMARC projde s platným DKIM jedině tehdy, pokud se DKIM používá. Pokud se použije jen SPF (protože je to jednodušší, nebo protože e-maily odesílá cizí server), a přeposílající server nepřepíše obálkového odesílatele, tak DMARC neprojde.
DMARC stále může projít s failnutým DKIMem, ale platným SPF, pokud se použije SRS, ale podle mě by konference v takovém případě měla e-mail převzít (tělo) a poslat jej pod svými hlavičkami.
Ke změně hlaviček e-mailu není žádný důvod. Naopak u přeposílání je to špatně, protože přeposílající server nemá hlavičky e-mailu vůbec řešit a už vůbec je nemá měnit. U konference by se změna hlaviček ještě dala obhájit, že to není jen SMTP relay.
nevidím ani problém v DMARCu
Problém DMARCu je v tom, že se váže na hlavičku From v e-mailu, do které e-mailovému serveru nic není. Ta hlavička může být klidně šifrovaná… Před několika lety proběhla českým internetem aféra, kdy jeden velký český poskytovatel freemailu doručoval e-maily podle hlavičky To místo obálkové hlavičky. Tenkrát se to řešilo jako nepředstavitelná chyba serveru, dnes se z doručování podle hlaviček e-mailu místo obálkových hlaviček dělá standard…
(což bych ani neměl, protože trvám na tom, že SPF nám jen sděluje, jestli podepisujeme, nebo ne, ale neuvádí žádnou politiku, jak se chovat v případě chyby
A kvalifikátory (+, ?, ~, -) jsou podle vás v SPF k čemu? V příloze G RFC7208 máte doporučení ohledně politik.
Použít DMARC bez DKIM absolutně nemá význam a rovnou se můžu (ne)spolehnout jen na SPF.
Mimo jiné
SPF "fail" results can alternately be used as one input into a larger set of evaluations that might, based on a combination of SPF "fail" results with other evaluation techniques, result in the email being marked negatively in some way (this might be via delivery to a special spam folder, modifying subject lines, or other locally determined means).
Jsou tam doporučení, co je možné udělat, ale nikde není napsáno nic o tom, že nám odesílatel říká konkrétním nastavením konkrétní postup. Pokud budu e-maily zahazovat kvůli SPF, jak radíte, rozbiju tím víc věcí, než DMARCem.
Takže jediná relevantní věc, která vám evidentně vadí, je to, že DMARC kouká na From:. Já tomu sice rozumím, že to od něj není hezké, na druhou stranu to jinak prostě nejde. DMARC je třeba vnímat tak, že dělá práci za uživatele, kteří se ji za desítky let dělat nenaučili. Ano, uživatel by měl vyžadovat nějakou formu průkazného podpisu a jeho průkaznost by si měl i ověřovat, ale on to nedělal, nedělá a dělat asi ani nebude. Proto je tu DKIM s DMARCem, které dohromady ověřují, že je podpis jako takový správný a že je opravdu od odesílatele, respektive alespoň jeho domény, což je lepší, než nic. Berte to asi tak, že když si na schránku nalepíte "nevhazovat reklamní letáky", tak delegujete na pošťáka, který by měl bez keců doručit cokoliv od kohokoliv, možnost rozhodnout, co vám tam hodí a co ne.
Mimochodem, zrovna mě napadla zajímavá myšlenka, vytvořit každému uživateli vlastní DKIM klíč se selektorem podle username a tím si u ŘÁDNĚ INFORMOVANÉ protistrany zvýšit důvěru z "je to od nás" na "je to od nás a od konkrétního člověka".
Filip Jirsák: aha... a spam filtry a antiviry taky nebudeme používat, protože nejsou stoprocentní... a navíc... ty mrchy běží na serveru, čtou tělo zprávy a na základě toho dělají nějaké závěry... TO JE SKANDÁL!!! Můžu se stavit na návštěvu? Předpokládám, že doma zásadně nezamykáte a možná nemáte ani dveře, protože ještě nikdo nevyrobil žádné dokonalé...
a spam filtry a antiviry taky nebudeme používat, protože nejsou stoprocentní...
To s něčím polemizujete?
ty mrchy běží na serveru, čtou tělo zprávy a na základě toho dělají nějaké závěry...
Antipsam a antivir neběží na SMTP relay, fungují na MDA nebo-li na serveru, který doručuje do schránek. Můžete je chápat jako součást klienta poštovní schránky, jako uživatelský filtr ve schránce.
Za prvé, antivir i antispam klidně na relay běžet můžou, stejně jako SPF, DKIM a DMARC a ať se vám to líbí, nebo ne, je to volba majitele relay serveru, kterou nijak neovlivníte. Jestli máte problém s DMARCem na relay, tak si jej tam neinstalujte, na zprávy nesahejte, SRS si používejte nebo nepoužívejte dle libosti, maximálně rozbijete SPF (což asi nechcete, když ho doporučujete místo DMARC) a do zprávy v rámci svých pevných zásad nesahejte, čímž necháte funkční alespoň DKIM a tím pádem i DMARC. Pro vás to není problém, pro mě to není problém, DMARC u odesílatele i jeho kontrola u příjemce vám může být zcela ukradená a dodržíte tím i to, že DMARC ověření proběhne až u MDA, což je dle vás zcela v pořádku. Ale teď už opravdu nevím, na co si stěžujete... Na špatně nastavené relay servery? Ale to jsem říkal už na začátku. Pokud je nastaven korektně, nic nerozbije a DMARC vůbec řešit nemusí.
2Michal Pastrňák: Mas v tom peknej hokej ...
SPF nic nepodepisuje ani nesdeluje nic o podpisech a naopak zcela jasne rika, co si drzitel domeny preje aby se stalo s maily ktere jsou odeslany z jinych nez vyjmenovanych stroju.
A to za pomoci -/~/? ... cimz sdeluje, zda se ma dotycnej zaznam (pripadne vse) brat jako "zahodit" nebo "zhodnotit" nebo "brat v potaz".
Tzn mx -all rika, ze pokud neni mail odeslany ze serveru odpovidajicich MX zaznamum, tak ze si majitel preje aby byl zahozen, protoze takove maily neodesila.
Pokud by tam bylo mx ~all tak tim rika, ze sice posila z MX, ale ze se ani z ostatnich nema zahazovat rovnou, ale ma se to brat jako jedno z hledisek hodnoceni spamu.
Pokud by tam pak bylo mx ?all, tak tim rika, ze obecne posila maily odkudkoli, byt primarne pouziva mx.
j: Já taky netvrdím, že SPF něco podepisuje, od toho je tam DKIM, ale SPF jenom říká, odkud by tak mohl email přijít. A i když SPF zfailuje (-all), tak není nikde napsáno, ani jednoznačně doporučeno, že kvůli tomu MUSÍM, nebo bych alespoň MĚL mail zahodit. Je tam napsáno, že ho MOHU zahodit, nebo to MOHU použít jako jedno z kritérií pro další posuzování. Toto je dle RFC moje rozhodnutí a protistrana mi k tomu nic nenařizuje. (na rozdíl od DMARC, který obsahuje jasnou politiku). Mně osobně by se líbilo ho radši zahodit a to jak kvůli fail SPF, tak DKIM, ale už bylo pár takových, co to zkoušeli a zase si to většinou rozmysleli. Já spíš nechápu ten velmi speciální postoj, kdy zahodit něco kvůli SPF je v pořádku, ale zahodit to kvůli DMARC je strašnej problém a to asi jen proto, že DMARC kouká na From.
DMARC také nic nenařizuje, u použití politiky zveřejněné vlastníkem domény je SHOULD.
zahodit to kvůli DMARC je strašnej problém a to asi jen proto, že DMARC kouká na From
To, že DMARC kouká na hlavičku, do které serveru vůbec nic není a kde může být cokoli, samozřejmě je podstatný problém. Kdyby se DMARC rozhodoval podle prvního slova e-mailu nebo podle (textového) podpisu v e-mailu, připadalo by vám to normální?
RFC 7208 (SPF):
SPF "fail" results CAN be used to reject messages during the SMTP transaction
SPF "fail" results CAN alternately be used as one input into a larger set of evaluations
RFC 7489 (DMARC):
Domain Owners publish policy assertions about domains via the DNS.
These receivers CAN use these results to determine how the mail SHOULD be handled.
takže dle RFC:
MOHU zamítnout zprávu kvůli SPF
MOHU výsledek SPF použít jako součást vyhodnocování
MOHU použít politiku vlastníka k vyhodnocení, jak BYCH MĚL maily zpracovat.
Nevím, proč sem pořád pletete nějakou náhodnou adresu. Adresa odesilatele v obálce původního mailu je adresa zcela konkrétní, o které si odesilatel mailu přál, aby na ni chodily zprávy o nedoručitelnosti mailu. A nevšiml jsem si, že by si vymínil, že pokud k nedoručitelnosti dojde až po přeposlání, tak už ho to nezajímá ;)
Ale jak vidím, i Hurvínek si válku představoval o něco věrněji než Vy fungování mailu, takže další diskuse bude nejspíš zcela marná...
To, že si odesílatel přál odesílat na danou adresu zprávy o nedoručitelnosti, ještě neznamená, že je dobrý nápad na tu adresu zprávy posílat. Dnes chodí spousta spamu a virů, které mají adresy odesílatele falešné – a majitel té e-mailové adresy si rozhodně nepřál dostávat nějaké zprávy o nedoručitelnosti spamu nebo viru. Na tu adresu můžu doručovat chyby jedině tehdy, pokud jsem si ověřil, že ta adresa (nebo aspoň ta doména) je v pořádku. Jinak tu adresu musím považovat za náhodnou.
Nikde jsem nepsal, že po přeposlání původního odesílatele nedoručitelnost nezajímá. Ale když přeposílající server přijal e-mail k doručení, je jeho zodpovědnost, aby byla zpráva o nedoručitelnosti doručena odesílateli.
Vaše interpretace standardů je opravdu úsměvná. Například si představujete, že přeposílající servery si budou udržovat nějaký vnitřní stav a přeposílat i chybové zprávy. To mi povězte, kde jste tuhle představu vzal (ideálně s citací standardu) a jestli jste někdy viděl nějaký mailový systém, který by to takto implementoval.
> Bohužel třeba Postfix ve výchozím nastavení do přeposlaného e-mailu vkládá původního obálkového odesílatele, Google doporučuje u přeposlaných e-mailů zachovat původního obálkového odesílatele…
Což je odjakživa standardní způsob, jak se maily přeposílají. Jen autoři SPF to ignorují a tváří se, že se jejich svéhlavosti musí celý svět přizpůsobit. Ale kupodivu to ještě neudělal, nejspíš má rozum :)
Což je odjakživa standardní způsob, jak se maily přeposílají. Jen autoři SPF to ignorují a tváří se, že se jejich svéhlavosti musí celý svět přizpůsobit. Ale kupodivu to ještě neudělal, nejspíš má rozum :)
To, že se to v některých případech dlouho dělalo špatně, protože na tom zas tolik nezáleželo, neznamená, že je to správně. Navíc to není tak docela pravda, třeba e-mailové konference odjakživa e-maily přeposílají správně, tedy se změnou obálkového odesílatele. Přepis obálkového odesílatele není žádná svéhlavost, plyne to z RFC (má tam být e-mail, na který se mají doručovat případné chyby), a pokud se adresa nepřepisuje, rozbíjí to i jiné věci, než jen SPF – například doručování chybových zpráv.
Nejlepsi zpusob je poslat podobny debily doprdele, protoze jak uz rek tuxik, je to primitivne trivialne resitelny na strane konference.
Ta totiz stejne prepisuje hlavicky, a kdyz uz to dela, neni problem to poresit tak, aby vse bylo koser jak z pohledu spf tak dkim a tudiz i dmarc.