-
Notifications
You must be signed in to change notification settings - Fork 64
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
No cipher overlap between server and client #56
Comments
Thanks for reporting this!
This is very strange, because the security level check happens after STARTTLS (it is done when processing the MAIL FROM command). So it does not really affect STARTTLS at all, and running domaininfo-remove shouldn't have made a difference. Are you sure it wasn't a normal client-side retry without STARTTLS that made it work? I will try to do a test to reproduce this, just in case.
If this doesn't introduce a lot of complexity, sure! I need to look into the tls code to check how difficult it is to get this information. I'll keep this issue open to look into this and will reply once I have given this a try :)
While that would be an improvement in some scenarios, it also introduces complexity and risk of accidental misuse. Go's TLS defaults are generally very well managed, and I am worried about making things too easy to misconfigure in insecure ways. Considering chasquid's goals and general approach to configuration, I think having such an option is not a good idea in this particular case. Thank you! |
The entire log I got for the transaction was:
Which I read as:
My understanding is that running The idea with enabling 'bad' ciphers was that "bad cipher" >> PLAIN |
Oh! Then yes, you're absolutely correct. And just to be super clear: that "Sender had previously sent TLS email, so PLAIN is rejected" is not due to the failed STARTTLS attempt, but a successful STARTTLS at some point in the past. Do you know anything about the sender? What software they're using? What build/release? Also what chasquid version are you using, and what Go version was used to build it (if you know)?
In this case, allowing a bad cipher could let an attacker do connection downgrading. One possibility would be to allow all insecure ciphers, and in the connection tracking have a new "TLS_CLIENT_INSECURE" for when they're used. I'll look into this, although in this case it seems like it wouldn't have prevented the rejection (assuming you saw a successful secure connection before, chasquid would still prevent the downgrade). Thank you! |
I've just received an email with no cipher overlap, so the email was rejected. The logged message was:
Afterwards, I ran
chasquid-util domaininfo-remove <domain>
which let the next email come through (I assume, as PLAIN)Would it be possible to:
The text was updated successfully, but these errors were encountered: