[dmarc-ietf] Re: What do do with ARC, Re: Discussion Thread
John R. Levine writes: > On Sun, 27 Oct 2024, Tero Kivinen wrote: > >> Yes in DKIM2 you may discover that an alteration was malicious, but at > >> least it will be crystal clear (once, for forensic purposes you check > >> every signature to hand) which entity should be blocked henceforth. > > > > That looks like this forensic thing is done by the postmaster etc on > > the receiving end, i.e., people, not automatic systems, thus this is > > even less scaleable than users adding their known trusted forwarders > > to their trusted forwarders list. > > You're missing the point. There aren't a lot of malicious forwarders. > I can't even remember the last time I got mail from one. In most cases, > if you get forwarded mail, you can use the reputation of the original > sender. DKIM2 lets you tell mechanically that it really was forwarded, > a key difference from ARC. If there is no malicous forwarders, you can just trust the ARC headers they put in, and if they said DKIM was valid when it came in, you can trust it... If you find out this is one of those malicious forwarders, then you can denylist it.. > If a host is doing malicious forwarding, it is unlikely that it is > sending any mail people want, so you can just block it. We already > have ways to share lists of bad senders. Same with ARC. If the host is doing malicious forwarding, and are not properly checking the dkim, spf etc when the email comes in, and records those things incorrectly to ARC header, you most likely will not want to get email by that forwarder, or you want to complain to them and ask them to fix their setup... -- kivi...@iki.fi ___ dmarc mailing list -- dmarc@ietf.org To unsubscribe send an email to dmarc-le...@ietf.org
[dmarc-ietf] Re: What do do with ARC, Re: Discussion Thread
Richard Clayton writes: > Yes in DKIM2 you may discover that an alteration was malicious, but at > least it will be crystal clear (once, for forensic purposes you check > every signature to hand) which entity should be blocked henceforth. That looks like this forensic thing is done by the postmaster etc on the receiving end, i.e., people, not automatic systems, thus this is even less scaleable than users adding their known trusted forwarders to their trusted forwarders list. There are much more receivers than there are admins doing forensic things, and the requirement of knowledge is much higher, as those admins to do not have access to the knowledge the actual receiver might have. I am sceptical this will actually be scalable, and one persons spam is important newsletter to another person, thus doing blocking on the mailsystem level is not good idea. At least if person adds bad host to his/her trusted forwarders list, this will only affect him, and he/she can blame himself/herself. The customer support load might be same, but at least there is easy solution for those requests, simply say remove the offending forder from the trusted list. If the DKIM2 will collect list of hosts that are known to be bad and do blocking based on that, then the person receiving that fake newsletter might consider that newsletter to be important and complain when admins block it... By the look of it I am not sure if this difference is really something that will make DKIM2 scalable and ARC not... -- kivi...@iki.fi ___ dmarc mailing list -- dmarc@ietf.org To unsubscribe send an email to dmarc-le...@ietf.org
[dmarc-ietf] Re: What do do with ARC, Re: Discussion Thread
Richard Clayton writes: > >Since ARC is an IETF experiment, once DKIM2 is further along and it's > >clearer what it does differently from ARC, it's worth a short followup to > >8617 to say what we learned. > > One of the aims of DKIM2 is to make ARC unnecessary, and in particular > to ensure that cases where an intermediate system must be trusted relate > only to improving your heuristics which detect DKIM-replay or where you > have a contractual relationship with that intermediary. I have not checked out DKIM2, but I am wondering how it plans to solve the ARC trust problem, i.e., how DKIM2 will solve the situation that someone in the middle changes the email and I assume in DKIM2 it will sign that modification, but how does the final recipient know it should trust that party in the middle to do those changes? I.e., even if DKIM2 allows me to recover the orignal email and know what changes are done, it does not help me to solve the issue that I do not know if those changes were malious or not. We can solve that issue in the same way we solve that in ARC, i.e., recipient will know whether such changes should be allowed by the intermediary because it has set up or approved that intermediary. I think this will work, but some other people seemed to say it can't work as it requires final recipient to understand the issue... But as I said, I have no idea what DKIM2 will be, so I might have completely misunderstood what it does and offers. -- kivi...@iki.fi ___ dmarc mailing list -- dmarc@ietf.org To unsubscribe send an email to dmarc-le...@ietf.org
[dmarc-ietf] Re: Discussion Thread for Issue 155
John Levine writes: > I have several users who want me to forward their mail to Gmail > addresses. I add ARC headers, I do not break DKIN signatures, and > nonetheless Gmail still rejects a lot of it. Google says they look > at ARC, but apparently only so much, since they still reject a lot > of the mail I try to forward. What I tell to people complaining about that, is that they should use real mail service provider where they are a customer, not a company where they are the product that company is selling out. If you are not customer, the company does not have any incentivive to be nice for you, i.e., to receive your emails. For google it is always cheaper to just silently throw away your email than store it to some mailbox. In normal case this would cause lots of customer support calls, but google does not have customers, thus it does not have customer support, and other companies and organizations pay the cost for that lack of customer support. > Anything that depends on individual user setup just doesn't scale. Thats why we need mail user interfaces to include similar things that they have "mark this email as spam", or "this email is not spam" to include "this is from my normal indirect email flow, mark this domain xxx as trusted forwarder". -- kivi...@iki.fi ___ dmarc mailing list -- dmarc@ietf.org To unsubscribe send an email to dmarc-le...@ietf.org
[dmarc-ietf] Re: Discussion Thread for Issue 155
John R Levine writes: > > That way a receiver has to manage a list of forwarding recipes for each > > user. > > Surely it is obvious why this sort of thing does not scale. Why not? I have less than half a dozen places that forward emails to me. Then I have perhaps about few dozen mailing list domains where I have joined. The list of my forwarding domains has been stable for quite long time (years), I do not even remember when new indirect mail flow was created for me from new domains (I have joined new IETF mailing lists, but they are using same forwarding domain still). Mail recipient systems already do much more heavy processing for every single email I receive, doing one list lookup to see which ARC forwarders to trust is much cheaper than some of those spam filterings it does. So why do you think this does not scale? There will not ever be global trusted ARC signers list, as that list is different for each user, thus trying to make it global would be pointless. There is per final mailbox user list but that only will have few dozen entries. -- kivi...@iki.fi ___ dmarc mailing list -- dmarc@ietf.org To unsubscribe send an email to dmarc-le...@ietf.org
[dmarc-ietf] Re: Discussion Thread for Issue 155
Murray S. Kucherawy writes: > And whatever deficiencies people see in ARC, it is a protocol-based > response. > > We have made no statement that ARC even works, much less that it solves the > stated problem. Our story is incomplete. I think ARC works, but what is missing from the RFC is the description how... Wanted indirect mail flows do not happen without the user concent. If I get alumni address from university, I usually know about it, or at least recognize that forwarding domain when someone sends me email to that address. If I join to the mailing list, I know that I have done that, so I will recognize that forwarding domain. If I am part of the role address (like board members of the non profit organization), I know about that and will recognize that forwarding domain. This means I do have some trust on all those forwarding domains. I trust them to forward emails sent to my address on those systems to my other address, and I am already willing to allow them to process my emails, as they already go through those machines. I most likely trust them enough to expect that if they say they did DKIM/SPF/ARC checks and record that information in the ARC header they did that correctly, and did not fake authentication results in the ARC header. This means that if I get email which does not pass DKIM (it will almost never pass SPF, as it is indirect email flow), but do pass ARC, and the ARC domain is in my "trusted forwarders list", the filtering process can trust the ARC authentication results found from the ARC header for me for that domain. This is my personal trusted forwarders list, it is not global, and other people will have different sets of forwarders they trust. If I get email that do have ARC header, but which is not in my trusted forwarders list then I should be able easily click on that email and say add this ARC signing domain to my trusted forwarders list. I.e., when I receive first email from new mailing list I just joined, that email might end up in spam box, but I can dig it out there and mark that ARC signer to be "trusted", i.e., added to my trusted forwarders list. Of course mail agents might do more intelligent things, they might even see that I have received confirmation message when I joined mailing list, and ask whether I want to add that ARC signer to trusted list then. Or they might assign score to each entry in trusted forwarders list, i.e., mailing list forwarders might not be "as trusted" as my role based forwarders, and that score might affect the content filtering score. Of course the fact that message has ARC signature, does not provide any information whether the content of the email is valid, but it allows filtering process to use the DKIM/SPF/ARC authentication results from the previous step. So email to this list actually will go through two indirect mail flows, the mailing list will do the first step, and then this email goes to the iki.fi (permanent email forwarding service I am using), and will get forwarded from there to my real mail box. I do trust iki.fi, so my local filters can go and use iki.fi authentication results from the ARC headers from iki.fi if the DKIM signature is not valid. I also trust ietf.org, so if ietf.org would add ARC headers to mails going to mailing lists, my filtering process could also check those in case the ones in iki.fi ARC header for some reason would not be acceptable (the iki.fi will return DKIM pass as ietf.org do add DKIM signature, but that does not tell me whether the DKIM signature passed when email was received by ietf.org). Of course my mail client should flag emails which fail authentication with visibile information that this email failed authentication, and make sure it would not show me the wrong authentication information, i.e., it should show me that all these mails comes from @ietf.org, not that it come from gmail.com (as ietf.org did not add ARC headers, so I have no idea whether the original email really came from gmail.com even when the From: header says so). So in my view, we should be able to say that ARC do work, and we should move that from experimental to standard track... -- kivi...@iki.fi ___ dmarc mailing list -- dmarc@ietf.org To unsubscribe send an email to dmarc-le...@ietf.org
[dmarc-ietf] AD Evaluation for draft-ietf-dmarc-dmarcbis-33
Murray S. Kucherawy writes: > * This is the first place I noticed that in some places throughout the > document (and there are many instances), a reference to another RFC looks like > the usual "[RFC]", but in others it's the more verbose "RFC, > ". We should pick one or the other and use it throughout, and I suggest that > the former is far more common. In my review [1] I did ask authors to change all references to "[RFC]" to "Title [RFCxxx]" because that is easier for people who do not have all 9000 RFC numbers to title mapping in their head (I only know that mapping for about 50 RFC numbers or so mostly in IPsec area). Having the title in the text makes it much easier for the reader to know what that RFC is about, without requiring him to google up the RFC numbers all the time (yes, you could also jump to the references section to check, but then you need find a way to get back where you jumped off). Adding titles is bit annoying for the author, but will make it much easier for readers, and I do hope we are optimizing the readability instead of writability of the RFCs. On the other hand I did not get any replies to my review, and most of the stuff there are not acted upon, so perhaps my review did not properly reach authors. [1] https://mailarchive.ietf.org/arch/msg/dmarc/dupMPaE2SWqDnIL_JkKQqp5Vu20/ -- kivi...@iki.fi ___ dmarc mailing list -- dmarc@ietf.org To unsubscribe send an email to dmarc-le...@ietf.org
[dmarc-ietf] Re: DMARCbis version -33 is ready for document shepherd and AD processing
Alessandro Vesely writes: > I googled a bit on that but didn't find a satisfactory analysis. There are > several good files, e.g. http://www.open-spf.org/whitepaper.pdf or > https://www.maawg.org/sites/maawg/files/news/MAAWG_Email_Forwarding_BP.pdf. M3AAWG is just now in process of updating that Email forwarding best practice. There should be new version published in few months. -- kivi...@iki.fi ___ dmarc mailing list -- dmarc@ietf.org To unsubscribe send an email to dmarc-le...@ietf.org
[dmarc-ietf] Review of draft-ietf-dmarc-dmarcbis-32
I finally managed to finish my review of the DMARCbis. I think it is in good enough shape to go forward but here are my comments when reviewing it: -- Section 3.2.6 is conflicting with later text. Historically, Domain Owner Assessment Policies of "p=quarantine" or "p=reject" have been higher value signals to Mail Receivers (#mail- receiver). Messages with Author Domains for which such policies exist that are not validated using the DMARC mechanism will not reach the inbox at Mail Receivers that participate in DMARC and honor the Domain Owner's expressed handling preference. I think we should add note, that even if this was true before, DMARCbis now says that in case of DMARC fail the mail receivers handling can be influenced by DMARC policy record, but also other considerations should be taken care of. -- Section 4.5 says: Per [RFC1035], a TXT record can comprise several "character-string" objects. Where this is the case, the module performing DMARC evaluation MUST concatenate these strings by joining together the objects in order and parsing the result as a single string. This text is fine when we are talking about one TXT record, but some implementors might read it to talk about multiple TXT records, so perhaps a note about that should be added. So character-strings inside one TXT records are concatenated, but each TXT record is processed separately. -- It would be better to use name of the RFC when referencing to it, and only use the number in the [RFC1234] part, i.e., instead of saying: Readers are encouraged to be familiar with the contents of [RFC5598]. it would be better to say: Readers are encouraged to be familiar with the contents of Internet Mail Archtecture ([RFC5598]). The rfc numbers 1035, 8020, 4343 etc might be familiar to writers of this document, but there are most likely lots of readers who are not as familiar with them, and expanding them in the document will make it easier for people who do not have full RFC mapping from all RFC mumbers to document title in memory, to read this document. Same should apply to the internet draft names also, as while the [I-D.ietf-dmarc-aggregate-reporting] actually tells what that document is, but when it gets replaced with RFC9951 and RFC10923 even people who are familiar with number to title mapping now, might have to update their internal mapings... I.e., instead of saying: DMARC, in the associated [I-D.ietf-dmarc-aggregate-reporting] and [I-D.ietf-dmarc-failure-reporting] documents, also specifies a reporting framework. say: DMARC, in the associated Aggregate raporting specification ([I-D.ietf-dmarc-aggregate-reporting]) and Failure Reporting specification ([I-D.ietf-dmarc-failure-reporting]) documents, also specifies a reporting framework. Getting new people to be involved is hard anyways, and making it harder by forcing everybody to learn lots of different number -> title mappings makes it even harder. I am very familiar with certain subset of the RFC numbers (ipsec, security area etc), but most of the email RFC numbers are new to me, so while I was reviewing this, I always needed to go and check those numbers, which made reading it more difficult. -- In section 4.10 step 1, there is text saying: 1. Query the DNS for a DMARC Policy Record at the appropriate starting point for the Tree Walk. A possibly empty set of records is returned. what is this "appropriate starting point" used here? It is not defined before, and for the first read it seems like something is missing. It will be defined in the 4.10.1, but adding reference to that section here would make things easier, or even move the starting point definition from there to here, or before this section. Or perhaps move the actual tree walk steps from the section 4.10 DNS Tree Walk to come after 4.10.1, i.e. add new "4.10.2 DNS Tree Walk Steps", and move text: The generic steps for a DNS Tree Walk are as follows: ... there. -- 5.4. Policy Enforcement Considerations At a minimum, Mail Receivers SHOULD add the Authentication-Results header field (see [RFC8601]), and it is RECOMMENDED when delivering messages that fail the DMARC validation check. What is this text trying to say. It seems to say authentication- results header is SHOULD, but it is also SHOULD when DMARC validations fails? Perhaps just change "...it is even more important when ...". -- 10.6. External Reporting Addresses To avoid abuse by bad a
Re: [dmarc-ietf] DMARCbis WGLC - Issue 141 DMARC and What To Say About SPF -all
Scott Kitterman writes: > I hear you. Your operational issue is my system working as designed. > DMARC works on top of SPF, it doesn't change it. Yes, DMARC works on top of SPF, and DKIM and provides policy layer. We are trying to change the fact that people rely purely on SPF, and try to get them moved to use DMARC istead, and we are trying to explain that if you do SPF inside the DMARC context, you get exactly same policy results you get as when you do SPF before, except you get it better, as you have more data available. Using -all would be completely ok if everybody would be doing DMARC, but as there are some systems which do SPF outside DMARC, and there having -all might shortcircuit DMARC out from the equation, we should provide guidance to those people how they can get best results in current environment. Thus the best current practice should be use to use ~all instead of -all if you are trying to use DMARC, and want other systems to actually act based on your DMARC policy. > Anything like this belongs in an operational guidance document, not in the > protocol description. I have no problem describing the trade offs in an > appropriate document, but I don't think this is it. > -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] Overall last-call comments on DMARC
Murray S. Kucherawy writes: > Some sort of contract or agreement between sender and receiver > seems to me to be unavoidable if we want to leverage ARC without > having a global domain reputation system. We don't have a > precise method to do that. We need to experiment and > standardize something to that extent, which I hope this WG can > do after publishing -bis. > > I know what "contract" means abstractly, but what does this actually > look like to someone that's looking for specific guidance? The text > you have here, by itself, is vague and I don't think many operators > will know what to do with it. For example Fastmail [1] includes per user account configuration that lists "Forwarding hosts", which affect how they do spam filtering and whether they trust ARC or not (they do have global trusted ARC list also). The M3AAWG forwarding whitepaper will propose that all mailbox providers should include similar setting, i.e., allow users to configure which hosts to trust for ARC. It was already pointed out that forwarding does not happen out of blue, there is always the user setting it up, i.e., joining the mailing list, providing the email address for alumni forwarding etc. When user does that it would also be easy for him to go to the account settings of whatever mailbox provider he uses and add that ARC host there. The mailbox provider could even detect that user is getting emails that are been forwarded and which have ARC headers, and they could even ask similar question they do now when you move mails away from spam folder, i.e., "Not spam", "This email has valid ARC signature for alumni.university.edu, have you configured this organization for forwarding emails to you, and if so do you trust this organization for doing mail authentication checks on behalf of us". What ARC really offers is that if there is ARC header from organization you trust, you can check the ARC-Authentication-Results and use them in addition to your own checks. If for example that header says SPF was pass, and you trust that domain, then you can trust that it properly did SPF checks and you can consider using ARC SPF pass as SPF pass for the email, even when it is now failing. I do not think there will ever be global trusted ARC signers list, as I do for example want to trust certain organizations / countries, and there is no point of me trusting for example microsoft.com ARC signatures, as there should not be forwarders in microsoft that should be forwarding emails to me. If there is ARC header signed by microsoft that header does not have any value for me, but will have some value for some other people. Simiarly I will trust iki.fi (non profit email forwarding service in Finland that will forward all emails I receive to my actual mailbox), but there is no point of you personally to trust iki.fi ARC signatures. Mailbox provides might want to trust iki.fi as one of our 3 members might be using your services, thus adding iki.fi to trusted forwarders makes thins easier for iki.fi members. [1] https://www.fastmail.help/hc/en-us/articles/360060591413-Spam-filtering#forwarding -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
[dmarc-ietf] WGLC contentious topics (I'm in the rough and I know it) in draft-ietf-dmarc-dmarcbis-30
Seth Blank writes: > In order from most to least contentious: > > 1. 8.6. Interoperability Considerations > > "It is therefore critical that domains that host users who might > post messages to mailing lists SHOULD NOT publish p=reject." > > While this advice represents consensus, it does not represent > operational best practice, nor where the market is moving to stop > fraud and abuse. DMARC is becoming increasingly required at the > major mail receivers, and messages that cannot get a DMARC pass are > increasingly likely to get rejected outright. This language feels > like it is creating an even worse interoperability problem-- giving > guidance to people that will guarantee their mail gets rejected by > major mail systems. These DMARC mandates arose after consensus was > called, and have changed the playing field materially. > > More accurate language that alleviates the concern would be "It is > therefore critical that domains that host users who wish for their > messages to be modified and spoofed by downstream intermediaries, > such as alumni forwarders or mailing lists, SHOULD NOT publish > p=reject. Such spoofed messages may still be rejected, regardless of > a domain owner's published DMARC policy." I do not think the text above is more accurate, I think is mostly wrong. The current text in the draft is correct (or even better would be to say MUST NOT, but I think we lost that consensus call). The only reason intermediaries might be considered to be "spoofing" anything is because of the use of SPF. It is completely possible to implement mail forwarding which keeps DKIM valid, thus DMARC is still fine, but there is no way to keep SPF valid, and as not everybody implement DKIM this will cause mails to be rejected. But we lost that battle to remove SPF in the dmarcbis too... I think we should keep the current text. > 3. 4.4. Identifier Alignment Explained > > Since then, we've discussed two other removals -- relying on SPF at all, and > not worrying about mailing list traffic at all -- both of which affect more > mailflow and deployment than strict alignment. If we're willing to seriously > discuss things that affect more mail, should we not also review the need for > strict alignment? I myself would like to get both SPF and strict alignment to be removed from the draft. Some adminstrators are still going to use the SPF regardless what DMARC says, and some of them are already using it before DMARC which means they do not care about DMARC they only care about SPF, and there is nothing we can do for them (execpt we could say they are not compliant with DMARC). > I also don't think we really reviewed strict alignment after > incorporating the tree walk into the document. Most of the uses for > strict alignment were in the "I have a large organization, and want > to make sure one part of the organization cannot spoof another" > camp-- which now the tree walk should have provided a more scalable > solution for. My understanding is that with tree walk and psd=n for the "strict" domain will allow those who want to enforce strict alingment to do so, so there is no point of having two different ways in the draft to archieve same result. I.e., if you want strict alignment, for domain a.mail.example.com, simply publish DMARC record for _dmarc.a.mail.example.com which has psd=n and that will provide you strict alignment. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] WGLC editorial review of draft-ietf-dmarc-dmarcbis-30
Alessandro Vesely writes: > On Sun 31/Mar/2024 14:22:04 +0200 Douglas Foster wrote: > > On SPF, our document should say simply, > > " a DMARC-compliant evaluator MUST NOT reject a message, based on SPF > > result, > > prior to receiving the Data section and checking for aligned and verifiable > > signatures." > > > Nonsense. Rejecting at RCPT TO is much quicker than waiting for the whole > message. People who publish -all know what they do. > > I also reject based on RBLs and private IP lists; does that affect DMARC > compliance? Yes, either one of those practices are not using DMARC to validate the messages. Of course you are allowed to do whatever extra checks you want for the incoming emails, you can even reject ever email coming in from ip-address is even number, but that is not DMARC. To implement DMARC you have to follow the rules set in the DMARC. I.e. if you are implementing DMARC you MUST follow the rules set in section 5.7.2 and the step 3 requires you to do DKIM signature verifications checks, which you can't do if you reject email before the you even see the body that contains DKIM signatures. Actually you can't do steps 1 and 2 of the 5.7.2 if you reject email before body as you do not know RFC5322.From domain, so how can you claim to be implementing DMARC if you do not even load DMARC policy record. So you can do whatever extra checks you want, but those are not part of DMARC, and should not be considered here. If you actually implement DMARC, you already MUST NOT reject a message based on the SPF results prior to receiving data section, as that is already mandated by the section 5.7.2 dmarc, so saying that again in the draft is not adding any new requirements, it is simply restating the same requirement in different words for implementors just in case they did not properly understand the section 5.7.2. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] DMARCbis WGLC Issue 136 - DMARC Records Can Be CNAMEs
John Levine writes: > It appears that Todd Herr said: > >I agree that clarifying it can't hurt, obviously, ... > > I disagree, it does hurt. > > If we say you're allowed to use CNAMEs to point to DMARC records, > people are to say uh oh, is there something special here? What about > DKIM records? what about SPF records? how about SPF includes? or SPF > redirects? > > Really, there is nothing to say here, so let's not say it. We could add an example Appendix B that uses CNAME, so that would give indication, yes of course you can use CNAMEs, without explicitly adding text that might cause confusion. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] DMARCbis way forward: Do we need our session at IETF 118
Murray S. Kucherawy writes: > On Sun, Oct 29, 2023 at 12:35 PM Douglas Foster < > dougfoster.emailstanda...@gmail.com> wrote: > > By contrast, the new tag cannot be effective until DMARCbis is published > and filtering software updated. This involves years. Even then, domain > owners will never have confidence that the new token support has been > implemented by all recipient evaluators. > > At least on its face, this is a big concern. A domain owner publishing "auth= > dkim" is going to get varying results as some sites update to software > supporting such a tag while others ignore it. I don't know if the potential > for some benefit is a desirable trade for the potential for some confusion. Varying meaning, those who implement auth=dkim will get extra protection, and those who do not, are left as they are now. I myself think that adding clear indication that sender always uses dkim, and evaluators can rely on that makes the DMARC better, and more secure. And as every DMARC evaluator needs to support DKIM anyways (there is no such thing as SPF only DMARC evaluator, both SPF and DKIM are mandatory to implement), there is no real difference in complexity for evaluators. > Seems like a slam dunk for SPF neutral. I said the problem and it's > solution needs to be laid out in our document because I am one of those > who did not understand it as a possible strategy > > I think I agree. This will also change the behavior of the receivers. For example spamassasin does give more points to SPF_NEUTRAL (around 0.6-0.7) than SPF_PASS (-0.001) etc. I would assume other similar software also use SPF results similarly. The reason why SPF_PASS gives only -0.001 is that it is assumed that spammers will use their own domain and thus can get SPF records to match (DMARC, DKIM and SPF are never meant to work against spammers). -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] DMARCbis way forward: Do we need our session at IETF 118
John Levine writes: > It appears that Scott Kitterman said: > >>* Is there consensus on moving ahead with the idea of a way to indicate > >>which authentication method(s) the Domain Owner wants Receivers to use? If > >>so, it doesn't seem to be in the document yet. > > > >I haven't seen any valid case for it yet. It adds complexity to > >little or no benefit. > > Normally I am in favor of keeping stuff simple, but I think in this case the > argument for "DKIM only" is quite strong. Actually removing SPF completely from DMARC would simplyfy the protocol a lot, and would solve several issues, where people use DMARC with only SPF, or claim to do dmarc, but do filtering based on the SPF records before getting to the actual email, thus not checking DKIM records at all. If the DMARC would only use DKIM, that would make it clear that if you want to publish DMARC records you needs to also use DKIM, and when checking DMARC records you need to check verify DKIM signatures. Whether you do SPF in addition to that before or after would be local implementation issue, and not part of the DMARC. There were people who wanted to keep SPF as part of the DMARC, who did not even do DMARC, because the used SPF only as a first step of filtering during the MAIL FROM phase (before being able to fetch DMARC records, or checking DKIM signatures)... > There's the counterargument "so don't publish SPF" but it's on so > many checklists that even though that would be a fine idea, it's not > practical. That is unfortunately true, but if we could decouple the DMARC from SPF, then at least we could fix the situation at some point... -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
[dmarc-ietf] Reflections on IETF 117 Conference and DMARC Meeting
Hector Santos writes: > o Concerning p=reject: > >- Our focus on p=reject should be expanded to include p=quarantine > as they're both challenging. We should perhaps categorize these under > 'Restrictive Policies'. I will repeat the point I made in the mic in IETF: I think DMARC should really be explaining what the senders is doing and not trying to give instructions to the receiver. I.e., the dmarc should tell that: 1) Sender does not authenticate email (cannot be expressed in dmarc currently) 2) Sender might be authenticating email, but there is some email that significant part of email flows that are not authenticated (p=none?) 3) Sender is trying to authenticate all email, but there might be some parts where there might still be some unauthenticated emails going through (p=quarantine?) 4) Sender is authenticating all emails and emails which fails authentication are not originating from the sender or has been modified in transit (p=reject?) There was people pointing out that there would still be usefull to know the senders policy what can be done to the email after knowing whether the authentication was successfull or not, i.e., p=reject, p=quarantine etc. I am not that sure this is something that needs to be expressed. The receiver will use its own policy and other information (i.e., the actual content of the email) to decide that anyways. The policy might be that emails are accepted, but there is big warning saying the email failed authentication and can be phishing attack (I think gmail has been doing that kind of warnings, in case emails from domains which usually have dkim signature are missing dkim signature), or the policy might be that in addition that the system will render all links in email in such way they can't be clicked etc. >- I highlighted that "SPF Comes First" before DMARC or DKIM is > known. It is entirely possible that an SPF restrictive policy (-ALL, > Hard Fail) can preempt the payload transfer, causing a rejection > before the DATA is reached. DMARCbis does acknowledge this > possibility, mentioning that receivers might process SPF rejects > before DMARC is known. As those implementations do SPF outside the DMARCbis context, there is nothing we can do for them, thus we do not even need to consider them. I.e., we can safely ignore that discussion from the DMARCbis, as it is outside the scope of DMARCbis. If they are the only people who want to keep requiring SPF for DMARCbis, then we can safely remove SPF from the DMARCbis, as only people who want to keep SPF in DMARCbis are not going to be implementing DMARCbis :-) Section 5.7.2 do require that implementations MUST perform DKIM signature verification checks, and also say MUST perform SPF verification checks, so any implementation which only does one is not conforming DMARCbis. If we can't change from the MUST to not mentioning SPF at all, perhaps we should go from MUST implement SPF to MAY implement SPF, i.e., say that yes, you can still use SPF, but it is no longer mandatory to implement. As DMARC is only small piece of the whole mail recipient policy engine, the overall engine is already using lots of other pieces and can and most likely will use SPF as input anyways, regardless whether we require it in 5.7.2 or not. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] Eliminating From Munging from this list
Douglas Foster writes: > Baptiste's proposal is clearly the easiest to implement: Admins inform the > group that IETF is going to stop munging on a specific date. After that date, > subscribers are switched to digest mode if the MLM or the user detects > problems. Admins switch them back when the user reports that the list > traffic has an exception in place by the subscriber's evaluator. This > approach may also be sufficient for this list, as I suspect that most of our > evaluators will already have an exemption for IETF. I do not think there is any need for admins to switch users back. Users are already able to log in to list options page (https://www.ietf.org/mailman/options/dmarc for this list) and change Set Digest Mode option on or off. So if the mailing list receives bounce from specific user, and that user is not yet using digest mode, then mailing list would turn on digest mode. If it gets bounce from the digest email sent to the user, it would do whatever it now does when it receives bounces (I think they temporarely disable deliver, and after some time they will try again and after repeated failures they will remove user from the list or something like that). If user thinks his mail system is fixed so non digested emails works, he can log in to options page for the mailing list and turn of digest mode. If he was wrong and the non-digested emails do not work, then there will be bounce, and digest mode gets automatically turned on again. There is no point of asking admins to do anything for specific users, when users can do those operations themselves. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] Another p=reject text proposal
Wei Chuang writes: > 2) The proposed language calls out "“alumni forwarders”, role-based email > aliases, and mailing lists" for consideration by receivers. How should > receivers be aware that traffic failing authentication should be reconsidered? > Mailing-lists sometimes uses RFC2919 List-id headers. Can Section 5.8 [1] > call out more strongly the application of those List-id headers? Can > something be done so that receivers can identify the other scenarios e.g. > role-based email aliases and alumni-forwarders? For alumni forwarders / role-based forwarders things are different, as users who set those up, actually knows who does the forwarding, and they themself recognize that emails coming to those addresses are important to them, and they also trust (university etc) the one doing forwarding. So if the alumni forwarder / role-based forwarder adds ARC signatures, then the final recipient can whitelist that ARC signer in their setup and say that the policy code that checks the SPF/DKIM/DMARC results can fully trust the signed ARC authentication results from that signer. This of course requires that the recipient SMTP server can't simply reject the incoming email after the MAIL FROM because SPF checks do not match, they actually need to receive the email so they can check ARC and DKIM headers... -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] Another p=reject text proposal
Barry Leiba writes: > > 2) As others have observed, the mailing list problem is > > exclusively an evaluator error. An evaluator's job is to allow > > safe and wanted messages while blocking unsafe or unwanted > > messages. > > I disagree. As I and others have observed, those creating the problem > are the ones who are using p=reject in a way that it was not intended > to be used. If we simply want to "fix" the mailing list issue, the mailing lists could simply refuse any subscription attempt from address which publishes p=reject, and say that your email address is not compatible with mailing lists in general, use some other address when sending emails to mailing list. On the other hand mailing list adminstrators usually try to include everybody, and not block people if they can cope with them, and thats why they do From address rewriting etc instead of just rejecting subscription requests. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] Another p=reject text proposal
Murray S. Kucherawy writes: > On Fri, Jul 7, 2023 at 6:35 PM Douglas Foster < > dougfoster.emailstanda...@gmail.com> wrote: > > Consequently, the problem remains: How does an evaluator distinguish > between a legitimate list and a malicious attack? > > If we had a reliable answer to that, this would've been over ages ago. > Unfortunately, any mechanism we create for lists to distinguish their traffic > can be trivially co-opted by bad actors. I think phishing attacks using mailing list format would not be as efficient as it would be to inpersonate some other user that the intended recipient is familiar with. Mailing list are also something that quite a lot people already have special filters for, i.e., direct them to separate mailbox, allow them to go through without spam checking etc. For mailing lists users actually joined willingly, the users are familiar to, and have ability to cope. If it is mailing list they got added without their real consent, then if some of those messages gets lost because it is run through spam filtering and they get some extra spam points because no dkim signature etc the user probably do not care even if they are thrown away. The problem with DMARC checking is that it is usually done too early, and without consulting intended recipient whitelist/policy etc. Users can't add rules that say that mailing lists having DKIM signature of header.d=ietf.org are ok, and should get through even when the DMARC checks fails. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] Another p=reject text proposal
Scott Kitterman writes: > You can equally argue that these receivers are merely following the > policy advice provided by the sending domain (it has reject right in > the name) and this problem is entirely generated by sender's > inappropriate use of p=reject. True, thats why the proposed text also says you SHOULD NOT put p=reject... :-) > I don't think engineering the location where the blame lands is the > right place to focus. I've done plenty of blame avoidance > engineering in my day, but I don't think it's what the IETF should > be doing. It would be much better when people would really remember that having valid or not valid DMARC/DKIM/SPF for email does not tell anything whether the email is bad/spam/unwanted. Regardless whether the DMARC/DKIM/SPF is valid you always need to use other methods to filter emails, so as you need to do that anyways while receiving emails, there is no problems of using same things also for p=reject messages. You can use the failed dmarc with p=reject as one of the inputs to feed your actual email filtering system, the dmarc p=reject SHOULD NOT BE your only email filtering system. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] Another p=reject text proposal
Brotman, Alex writes: > I suspect the portion that instructs receivers to not act solely on > p=reject may be ignored by a fair set of receivers. I'm not > necessarily opposed to the language below, just that it seems odd to > create language that we know will be ignored. If receivers ignore that, then at least we can complain to them and say that you should not do that, as the RFC says you should use other information too if they want to get important forwarded emails through. For example we in iki.fi have been regularly been helping people with their broken spf etc records which break forwarding, and several times we have actually managed to explain the situation and they have change their settings. Quite often those people simply follow whatever some consultant etc suggested, and they did not understood at all that they at the same time broke other things. Quite often they do want to reduce the amoung of support calls, and if they get support calls every time some forwarded email from mailing list or from forwarding gets rejected, they most likely will notice that and fix their setup. > Additionally, I find it odd that we won't tell forwarders how to > munge messages to avoid this situation, but we will tell receivers > how to avoid this situation. There is no good way for forwards to mungle message in such way that return path/DKIM/user expectations stays intact. I myself for example find the From address mangling done by this mailing list really annoying as I need to use extra time to parse the =40 addresses to find out domain name of the sender. For mailing list this is just annoying but you can do that, but for regular forwarding you can't do that as you want to keep the DKIM signature intact. And this problem is not generated by forwarders, it is generated by the receivers who only use DMARC and no other information while rejecting emails. So there is no point of asking forwarders to fix things that was broken by DMARC... -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] easier DKIM, DMARC2 & SPF Dependency Removal
Jan Dušátko writes: > Scott, Barry, > as far as I understand, SPF are historic technology, but still have a > reason why to use it. In my opinion (and concerns), it is also necessary > to be aware of the extension of the individual protection methods > provided by senders (amount of domains). This is not a deep analysis. It > is possible that the numbers given will not be accurate. > SPF 87% > DKIM 13% > DMARC 63% > ARC 5% How were those values calculated? They are very different compared to the actual mails going through different servers. Is this calculated from the domains used, not from emails processed? How many emails was used to calculate this statistics, how many domains were there in total? > In terms of provability, each DKIM signed email will be sent from the > owner of the authorized servers. Ideally, therefore, it is not necessary > to combine SPF and DKIM, only DKIM could be sufficient. Yes. > However, the following situations are a problem. As a rule, > DKIM+DMARC is not fully implemented, part of the domains are > protected by DKIM, part by DKIM + SPF, part by SPF only. Thats why I think it is important that we get more DKIM implementations for DMARC. > - Only DKIM and DMARC are implemented, yet the SPAM distributor sends an > email without the DKIM signature and without the key information. SPAM distributors are not interesting here, DMARC/DKIM/SPF are not protecting against spam, there is no way they could ever be efficient for that. If there is no DKIM signature the message is not authenticated to originate from the domain where it claims to be, thus it will not gain from the possible whitelisting, better reputation etc associated with the domain. > - Only DKIM and DMARC are implemented, and a signed email is available. > The SPAM distributor starts repeatedly sending the same email > (equivalent to a DOS attack). It is very easy to filter identical emails, especially when they are actually signed with same dkim signature, thus you can safely mark later emails as duplicates, and not deliver them to mailbox. I do not think there is ever need to deliver duplicate emails to same mailbox, thus you can safely remove them. If the RCPT TO is different than the To-header inside the body, that is one of the checks that spam checking software quite often use to check whether the email is spam. I.e., if the To-header does not have actual address of the mailbox the message is supposed to be delivered to, then give some positive spam points to the message. If this is forwarded email (i.e. the to-address contains something like kivi...@iki.fi, instead the address where my emails finally gets forwarded to) then the user who set up the forwarding most likely already added those addresses as "valid recipient addresses" to their mail settings, thus forwarded emails do not get marked as spam. And of course if thousands of different mailboxes in your system are getting same DKIM signed message, and some of the users start marking it as spam, that is good indication that others are too, thus your spam checking software can learn from that and start processing those emails differently. > - Only DKIM and DMARC are implemented, and a signed email based on > RSA+SHA1 is available. Because it is possible to find collisions for > SHA1, and the digital signature is actually an "encrypted hash," it is > possible to send counterfeit mail with a signature that looks genuine. > The solution is to use explicitly h=sha2, but if not specified, it is > also possible to "downgrade the signature" against another key on this > domain supporting SHA1 (any SHA1-based signature will be used). In stackexchange there was question about this: https://crypto.stackexchange.com/questions/99767/how-easy-is-it-in-2022-to-find-a-sha1-collision The first answer was that using single GPU it would take about 5.3 years to find collision (year 2022). Getting 30 GPUs would drop that to 2 months, and those GPUs would cost about $20k, and the electricity for those GPUs would cost you about $2k for 2 months. Using AWS it would still take months and cost you few hundred dollars. And you need to do that for every single email you want to counterfeit. For phishing attacks this would be feasible, i.e., if you want to take real email from the CEO, change it and find collsion and send it forward taking few months and costing hundreds or thousands of dollars would be ok. So companies who actually care about the security in DKIM should NOT USE SHA1. For spammers this is not a feasible solution. Also if you are using unsecure crypto parameters for DKIM (short keys, broken hashes) you should also change those keys every now and then... > These attacks are the first that came to my mind. How we can mitigate > that threat? According to owner authorization of IP addresses, they > protect against a different kind of attack than the digital signature by > using DKIM. You did not describe any threat th
Re: [dmarc-ietf] easier DKIM, DMARC2 & SPF Dependency Removal
Alessandro Vesely writes: > On Mon 26/Jun/2023 19:32:53 +0200 Douglas Foster wrote: > > DKIM+SPF says "our domain, including subdomains covered by this policy, > > will never use an ESP". (Since most ESP messages pass SPF based on the ESP > > domain) That is incorrect. It would also mean we will NEVER send email to anybody who would want to forward that email to some other place. How is that adminstrator putting the DKIM+SPF policy be sure of that? If they ever send any emails to customers, contractors, friends etc, they can never be sure those emails are not forwarded, thus they can't say DKIM+SPF. I can easyly see some big companies wanting to lock in their customers by making it hard to change email addresses, but we should build or protocols for those companies, but instead allow freedom of movement where people are reading their emails. > ESPs can provide include files for those who wish otherwise. I know that some companies in finland has included the iki.fi IP-addresses ranges to their SPF records, because they had several complains from people of SPF failures when they were sending emails to iki.fi addresses. We even added _spf.iki.fi DNS record for them to use for their include when it was requested, but I do not consider that good practice for solving issues of the SPF. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] DMARC2 & SPF Dependency Removal
Tero Kivinen writes: > > What are those 0.75%, some 30k SPF - DKIM messages? Are there > > cases of DKIM random failure salvaged by SPF? > > My current analysis script does not try to calculate that, I would > need to need to add that step there and rerun the script. If I > understand correctly you would like to see cases where if there is > both SPF and DKIM, the cases where the both, only one, or neither > passed, and how many of those cases would be where dkim=fail, but > spf=pass? I rerun the statistics and yes, there is 0.84% cases where dkim failed, but spf returned eithe pass, softfail or neutral. There was also 1.12% cases where spf returned permerror but dkim returned pass, and 1.26% cases where dkim returned pass and spf returned fail, or softfail. There is of course much bigger part of emails where there was no dkim, but there was spf that passed (7.03%) or softfailed (1.08%). Here are the actual numbers for DKIM and SPF result combinations: DKIM & SPF combinations === 78.62% 3133749 dkim=pass,spf=pass 7.03% 280239 dkim=none,spf=pass 4.68% 186634 dkim=pass,spf=none 3.85% 153543 dkim=none,spf=none 1.12% 44543 dkim=pass,spf=permerror 1.08% 43212 dkim=none,spf=softfail 0.82% 32821 dkim=fail,spf=pass 0.78% 30953 dkim=pass,spf=softfail 0.61% 24221 dkim=none,spf=fail 0.48% 19329 dkim=pass,spf=fail 0.43% 17120 dkim=none,spf=neutral 0.24% 9612dkim=fail,spf=none 0.06% 2320dkim=none,spf=permerror 0.06% 2214dkim=pass,spf=neutral 0.04% 1712dkim=none,spf=temperror 0.02% 995 dkim=fail,spf=fail 0.02% 924 dkim=fail,spf=softfail 0.02% 669 dkim=temperror,spf=pass 0.01% 360 dkim=missing,spf=missing 0.00% 199 dkim=temperror,spf=temperror 0.00% 196 dkim=fail,spf=neutral 0.00% 144 dkim=missing,spf=none 0.00% 119 dkim=pass,spf=temperror 0.00% 99 dkim=missing,spf=pass 0.00% 50 dkim=fail,spf=permerror 0.00% 38 dkim=missing,spf=softfail 0.00% 14 dkim=temperror,spf=none 0.00% 10 dkim=temperror,spf=softfail 0.00% 7 dkim=missing,spf=fail 0.00% 6 dkim=fail,spf=temperror 0.00% 6 dkim=missing,spf=neutral 0.00% 1 dkim=temperror,spf=fail 0.00% 1 dkim=missing,spf=temperror I.e. 78.64% of time both DKIM and SPF passed. I also calculated statistics for all DKIM, SPF, DMARC, and ARC combinations, but there were so many of them that I do not include the full list here but here is top 30 from that list: Protocol combinations 37.74% 1504477 dkim=pass,spf=pass,dmarc=missing,arc=missing 25.37% 1011277 dkim=pass,spf=pass,dmarc=pass,arc=missing 10.96% 436838 dkim=pass,spf=pass,dmarc=none,arc=missing 3.46% 138083 dkim=none,spf=pass,dmarc=missing,arc=missing 2.15% 85799 dkim=pass,spf=none,dmarc=missing,arc=missing 2.00% 79739 dkim=pass,spf=none,dmarc=pass,arc=missing 1.96% 78279 dkim=none,spf=none,dmarc=missing,arc=missing 1.64% 65205 dkim=none,spf=pass,dmarc=none,arc=missing 1.60% 63758 dkim=pass,spf=pass,dmarc=missing,arc=pass 1.54% 61579 dkim=none,spf=pass,dmarc=pass,arc=missing 1.16% 46309 dkim=pass,spf=pass,dmarc=pass,arc=pass 1.09% 43529 dkim=none,spf=none,dmarc=fail,arc=missing 0.92% 36478 dkim=pass,spf=pass,dmarc=fail,arc=missing 0.79% 31298 dkim=none,spf=none,dmarc=none,arc=missing 0.56% 22504 dkim=none,spf=softfail,dmarc=missing,arc=missing 0.56% 22123 dkim=pass,spf=permerror,dmarc=missing,arc=missing 0.55% 21973 dkim=pass,spf=pass,dmarc=none,arc=pass 0.40% 15760 dkim=fail,spf=pass,dmarc=missing,arc=missing 0.37% 14855 dkim=none,spf=softfail,dmarc=fail,arc=missing 0.37% 14716 dkim=pass,spf=softfail,dmarc=missing,arc=missing 0.34% 13576 dkim=none,spf=fail,dmarc=missing,arc=missing 0.32% 12745 dkim=pass,spf=permerror,dmarc=none,arc=missing 0.31% 12348 dkim=pass,spf=softfail,dmarc=pass,arc=missing 0.26% 10290 dkim=none,spf=neutral,dmarc=missing,arc=missing 0.24% 9657dkim=pass,spf=permerror,dmarc=pass,arc=missing 0.23% 9367dkim=pass,spf=fail,dmarc=missing,arc=missing 0.20% 8121dkim=pass,spf=fail,dmarc=pass,arc=missing 0.20% 7785dkim=fail,spf=pass,dmarc=none,arc=missing 0.17% 6719dkim=pass,spf=none,dmarc=missing,arc=pass 0.16% 6248dkim=none,spf=pass,dmarc=fail,ar
Re: [dmarc-ietf] DMARC2 & SPF Dependency Removal
Alessandro Vesely writes: > On Tue 13/Jun/2023 23:33:50 +0200 Tero Kivinen wrote: > > [...] > > > > As you can see 85.75% of incoming email was already signed by DKIM, > > and 86.5% of emails had SPF records that passed. So they both have > > about same amount if usage coming in to our servers. > > > What are those 0.75%, some 30k SPF - DKIM messages? Are there cases of DKIM > random failure salvaged by SPF? My current analysis script does not try to calculate that, I would need to need to add that step there and rerun the script. If I understand correctly you would like to see cases where if there is both SPF and DKIM, the cases where the both, only one, or neither passed, and how many of those cases would be where dkim=fail, but spf=pass? I will try to see if I can run the that check later. > > 0.19% 7506none,pass > > 0.15% 5910pass,none > > How do you order DKIM signatures? My understanding is that rspamd most likely uses the order of DKIM signatures in the email body. On the other hand order does not matter, as if ANY of the dkim checks pass, then the whole message passes. The reason I printed out the combinations of different dkim results was to show that there are cases where there is multiple dkim headers and some of those pass and some fail. I.e there were: 0.00% 4 pass,fail,fail,fail,fail 0.00% 2 pass,pass,pass,pass,pass,pass I.e. four emails had five dkim records, four of them failing and one passing, where another two one had six dkim records all passing. Most of the emails had oly one dkim record, and those of which had two most of them were so that both passed. -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] DMARC2 & SPF Dependency Removal
Murray S. Kucherawy writes: > On Tue, Jun 13, 2023 at 10:34 PM Tero Kivinen wrote: > > DKIM failures > > 36.34% 26619 invalid DKIM record > > This is staggering. Can you characterize what the most common malformations > are? I think most of those are missing keys. I.e., there is no key in the dns at all for that header.d and header.s. This might be caused by having some internal machine doing the DKIM signing but not publishing the actual DKIM records in the dns at all. Sometimes there is another DKIM record that will pass like this: ARC-Authentication-Results: i=1; MTA-v4; dkim=none ("invalid DKIM record") header.d=ernieball.com header.s=ci-ernieball header.b=XXX; dkim=pass header.d=criticalimpactinc.com header.s=keyd header.b=XXX; spf=pass (MTA-v4: XXX) Sometimes there that was the only dkim record and then the final result is fail: ARC-Authentication-Results: i=1; MTA-v4; dkim=none ("invalid DKIM record") header.d=autostadium.fi header.s=x header.b=XXX; spf=pass (MTA-v4: XXX) Note, that those are not really failures, I calculated those error messages from dkim=none result to the statistics, as it indicates that there was DKIM record in email, but DKIM was not set properly, so in sense it is DKIM error, but if I remember right DKIM specification says that not having DKIM record, or having missing keys etc in dns are no different from each other, so both are DKIM=none... -- kivi...@iki.fi ___ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc
Re: [dmarc-ietf] DMARC2 & SPF Dependency Removal
Barry Leiba writes: > > DKIM only: ~99.5% > > DKIM + SPF: ~100% > > SPF only: ~100% > > That's interesting and disturbing if it remains consistent. The statistics I have are quite different. The failure rate is much bigger both in DKIM and SPF. Following statistics is random subset of emails going through iki.fi system, from last 30 days, consisting bit less than 4 million emails. Iki.fi is email forwarding service, so about 90% of those emails will fail SPF checks after iki.fi sends them forward. DKIM will go through unmodified, and we do not modify normal messages (spam messages might get tagged as spam depending on the members configuration), so 85.75% of emails will still have valid DKIM signature after passing iki. We do graylisting of blacklisted ip-addresses, thus spammers that do not work around graylisting are not part of the statistics. There is significant amount of mailing lists going through iki, and quickly checking that 1.58% of emails going through has spf-errors, dkim signers or similar with domain name in form of list.domain or lists.domain, so that will cause some of the SPF and DKIM failures. Note, that this only counts cases where the domain name was used in the verification and printed in the logs i.e., only in error cases. As we are using ARC, and we add ARC-Authentication-Results header to all emails as first step when they come in, and I used those headers to generate these statistics. First some generic statistics: Number of ARC-header levels === 95.61% 3811208 1 3.83% 152487 2 0.44% 17711 3 0.09% 35864 0.01% 460 5 0.01% 349 6 0.01% 207 7 0.00% 36 8 0.00% 15 9 0.00% 1 10 Mailer == 91.96% 3665744 MTA-v4 8.04% 320315 MTA-v6 0.00% 1 MSA So 3.83% of emails already had one ARC header, and 0.56% had more than one arc header, with exactly one email having 10 ARC-Authentication-Results headers. Most of the emails do not have ARC headers. 92% of traffic came in using IPv4.. Then lets compare DKIM, SPF, DMARC and ARC results DKIM summary results = 85.75% 3417541 pass 13.11% 522367 none 1.12% 44604 fail 0.02% 893 temperror SPF results = 86.50% 3447577 pass 8.78% 349947 none 1.89% 75137 softfail 1.18% 46913 permerror 1.12% 44553 fail 0.49% 19536 neutral 0.05% 2037temperror DMARC results = 62.82% 1243393 pass 30.99% 613478 none 6.05% 119800 fail 0.08% 1485temperror 0.06% 1244permerror ARC results = 91.66% 160268 pass 8.34% 14584 reject As you can see 85.75% of incoming email was already signed by DKIM, and 86.5% of emails had SPF records that passed. So they both have about same amount if usage coming in to our servers. The difference is that only 1.14% of emails had errors (fail, or temperror) in their DKIM signatures (most of those were because the email was from the mailing list that modified the body, but did not generate new DKIM header), compared to the 4.24% of emails having SPF failures (softfail, permerror, fail or temperror). Meaning there were much more emails that failed SPF than DKIM. Even if we ignore the softfails, we still have about double the emails failing (2.35%). Note, that the dmarc and arc statistics are not from all of the emails, it only includes those which actually had DMARC or ARC information. For dmarc this was about 50%, and for ARC it was only 4.3% of all emails. Here are some statistics abut the DKIM processing and the error cases. 76.75% had one DKIM signature, and over 20% had more than one signature. Here is number of DKIM signatures and their results, i.e., 22.22% of emails had two DKIM signatures both passing, and 0.34% had one signature that passed, and another that failed etc: DKIM results === 62.67% 2497633 pass 22.22% 885372 pass,pass 13.06% 520332 none 1.04% 41477 fail 0.34% 13353 pass,fail 0.19% 7506none,pass 0.15% 5910pass,none 0.07% 2635fail,fail 0.06% 2235pass,pass,pass 0.05% 2034none,none 0.03% 1296pass,pass,pass,pass 0.03% 1026pass,pass,fail 0.03% 1002fail,pass 0.02% 892 temperror 0.02% 631 pass,fail,fail 0.01% 583 pass,none,none 0.01% 369 fail,fail,fail 0.01% 356 fail,fail,pass 0.01% 335 pass,pas