-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should addition of ARC seal depend on DKIM signing? #1450
Comments
@jrlevine, do you have any opinion on this issue? May we have independent control over DKIM signing and ARC sealing? |
While it is technically possible to add ARC seals without DKIM, it makes no sense. They use the same keys, so any system that can add ARC seals can add DKIM signatures with no more configuration. Any system that looks at ARC will also expect to see DKIM. |
@jrlevine , thanks for your response. However I found an implementation using ARC without DKIM: gmail adds ARC seal when it is configured to forward messages to the other address. In this case it won't add DKIM signature to the forwarded messages. Currently Sympa seems not to take such cases into account: If a gmail account forwards a mail to a Sympa list, it does not add an ARC seal (nor DKIM signature), so the ARC verification fails at the delivery destination. |
Sympa should be able to add an ARC seal to the mail that Gmail forwards. It will use whatever DKIM signatures are present, but ARC just records whatever authentication was present. Gmail doesn't add another DKIM signature because it is forwarding mail unmodified, so previous signatures should still be valid. Mailing lists modify messages so they have to add a new DKIM signature to the modified message. |
I see. I understood as following, is my understanding correct?
Since they both use the same key but for different purposes, I think they should be able to be enabled/disabled independently of each other. |
There is no benefit whatsoever to doing ARC while not doing DKIM on a Sympa list. Why provide a useless option? |
In any case, I think the current behavior is problematic: If DKIM signature is not added (i.e. prevented by Even if I agree with your argument that "there is no benefit whatsoever to doing ARC while not doing DKIM", I think we should change the behavior: If ARC sealing by Sympa is enabled, the DKIM signature is always (i.e. not according to [EDIT] However, RFC 8617 says:
(Emphasis is by the quoter.) There seems to be unnecessary to further add DKIM signature when AMS is added along with ARC sealing. |
Um, really, I know the people who wrote ARC. You absolutely want to add a new DKIM signature to show this really came from the Sympa installation rather than some bot that is munging old posts. One of ARC's limitations is that the recipient can't believe any of the ARC seals unless it has reason to trust the entity that added the most recent seal. The DKIM signature says "yes this is me sending the message. How hard would be be to adjust the controls so that there's one switch for None/DKIM/DKIM+ARC ? |
In case it's not clear, when Google adds an ARC seal to a forwarded message, it doesn't change the message so any existing DKIM signature will still be valid and the recipient can verify that. But since Sympa generally adds subject tags, headers, footers, and so forth, any existing DKIM signatures are all broken so it needs to add a new DKIM signature to the outgoing modified message that the recipient can verify. |
I see. It makes sense that the recipient cannot determine if the modification of the message is legitimate or not using ARC.
As I wrote, it is possible: We may make changes on Sympa so that, when ARC seal is added, DKIM signing will be forced. I'll submit a PR later. |
At this point, I'd like to confirm one more thing. Currently documentation says:
However, it seems to be possible to add the AR by Sympa itself: The information obtained during the processing of check_dkim_signature() and check_arc_chain() look equivalent to the contents of the AR added by MTA. Would it be OK that we will make Sympa to add AR (and to include it in the AAR of the ARC seal)? |
It is better if the inbound MTA adds the A-R header because it has information that Sympa doesn't, but if the MTA can't add the header, and Sympa adds one it's better than nothing. |
I see. In fact Sympa has only the information about ARC chain and DKIM signatures, so it can not include information about SPF and so on if it add AR by itself.
Note on documentation looks good idea. |
Examples of results with the PRs above: Message with neither ARC seal nor AR.
Message with no ARC seal and unuseful AR.
Message with ARC seal and useful AR.
|
I submitted update on documentation: Please see sympa-community/sympa-community.github.io#95 and point out any problems. |
ARC: When ARC seal was added, DKIM signing should be forced (#1450) Forwarded messages should also be ARC sealed if possible ARC: Add Authentication-Results: field (AR), if useful one is not found Following typo fix in Mail::DKIM::ARC::Signer
For example:
sympa/src/lib/Sympa/Spindle/ProcessOutgoing.pm
Lines 228 to 233 in 3ee40dd
This seems to me that, even if incoming message has a valid ARC seal, when Sympa is not configured to add DKIM signature, Sympa won't add new ARC seal.
One of possible workaround is setting
dkim_signature_apply_on
asany
to make Sympa always add DKIM signature.However, I think it is possible to use ARC seals without DKIM signatures.
The text was updated successfully, but these errors were encountered: