mirror of
https://github.com/dehydrated-io/dehydrated.git
synced 2026-01-11 22:30:44 +01:00
ACME clients SHOULD send unique User-Agent header. #283
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @cpu on GitHub (Feb 22, 2018).
Hi @lukas2511 ,
It looks like presently
dehydrateddoesn't send its ownUser-Agentheader in its ACME requests, instead using the UA set bycurl. I did a quick search and it seems like you took a crack at setting one ina5fde931f8but backed the change out in197ca8e82c.Would you consider re-introducing a custom UA for
dehydrated? It's a big help for ACME server operators that may be troubleshooting behaviour from server logs & trying to correlate with specific client implementations.Section 6.1 of the ACME spec even goes as far as to say clients SHOULD set a UA:
Thanks!
@lukas2511 commented on GitHub (Feb 22, 2018):
Well... the reason is as follows:
But...
I'm not sure what's going on there, but it seems that
hydrais somehow blacklisted in the WAF... So I can't possible include the name of my client without everything breaking ;)@cpu commented on GitHub (Feb 22, 2018):
@lukas2511 Ugh 💢. I'll ask our operations team to see if there's something in the Akamai configuration that causes this.
@cpu commented on GitHub (Feb 22, 2018):
@lukas2511 They're going to look into this over the next day or two. I'll keep you updated here.
Going forward, please feel free to flag this sort of API issue on the Boulder repo or in the community forum. I definitely had no idea this was happening! 😆
@lukas2511 commented on GitHub (Mar 1, 2018):
I added a temporary user agent with letter replacement (
68274646bb). I guess this makes dehydr4ted the most 1337 client option available.@cpu any update on this?
@cpu commented on GitHub (Mar 1, 2018):
Haha. 🏆 💻
I poked our operations team about this again this morning and its on their radar but hasn't been addressed yet. If you'd like I can close this issue for now and reopen it when I've heard back. I promise I won't forget, it's in my notebook every day :-)
@cpu commented on GitHub (Mar 9, 2018):
Quick update: There's a change being staged that should resolve this in the next few days. I'll comment again when the change is active for staging/prod. Thanks!
@cpu commented on GitHub (Mar 12, 2018):
@lukas2511 Good news, I'm told the functionality causing the "hydra" substring block is disabled now. I'm not able to replicate it as before. You should be able to drop your 31337 spelling now :-)
@lukas2511 commented on GitHub (Mar 12, 2018):
@cpu Mh, I just checked, it works for the ACMEv2 staging environment, but not for production and the old staging environment :-/
@cpu commented on GitHub (Mar 12, 2018):
@lukas2511 Blech! The V2 environment is the one I used to spot-check the fix. Thanks, I'll pass this feedback along.
@lukas2511 commented on GitHub (Mar 12, 2018):
@cpu Is this something Akamai has in their default blacklist? If that's the case I guess it would be better to just stay with the 31337 spelling... It would be really bad if in the future somebody re-enables a default blacklist and slightly outdated dehydrated versions (cough debian stable cough) would stop working.
@cpu commented on GitHub (Mar 12, 2018):
@lukas2511 I'll have to confirm with our ops team (I don't have any visibility into Akamai settings). I believe it's part of the default WAF rules, I don't know if the WAF is enabled by default for Akamai customers. It's a very silly/naive rule that I expect was originally meant to deal with
thc-hydra, an old tool for running online password guessing attacks.The plan I've advocated that I believe is in-progress is to remove the WAF outright for API traffic: We don't benefit from the WAF in a way that justifies the surprising effects & support burden. Once disabled there shouldn't come a time when it gets reenabled suddenly with the default ruleset.
Thanks for your patience/help!
@cpu commented on GitHub (Mar 14, 2018):
Another update: The operations team member that was working on this has been out sick for several days. I will update here again when they're back and have had a chance to look into the incomplete fix.
@lukas2511 commented on GitHub (Mar 14, 2018):
@cpu btw. i'm guessing you are generating some kind of internal stats over those user agents, will those ever be published? i'd be really interested in having a good idea about how many people actually use dehydrated for their certificates 😄
@cpu commented on GitHub (Mar 14, 2018):
@lukas2511 I was generating some #'s in a pretty adhoc way to satisfy my own curiosity ahead of the public launch of ACME v2. I don't think there has been any discussion about sharing usage statistics with client authors. I'll ask around, maybe I can share some rough #s with you :-)
@cpu commented on GitHub (Mar 20, 2018):
@lukas2511 Ok, I think the UA/WAF problem is finally resolved. I'm able to hit the V1 staging env, the V2 staging env, the V1 prod env and the V2 prod env with the Dehydrated UA without any errors. Can you confirm you're seeing the same?
@lukas2511 commented on GitHub (Mar 24, 2018):
@cpu I checked again and it seems to be working on all environments now, un-1337-ed in
981179a770, thanks!