Skip to content
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

Allow any TLS version for STARTTLS check #108

Open
vbrown608 opened this issue Aug 16, 2018 · 3 comments
Open

Allow any TLS version for STARTTLS check #108

vbrown608 opened this issue Aug 16, 2018 · 3 comments

Comments

@vbrown608
Copy link
Collaborator

From the tls package docs:

// MinVersion contains the minimum SSL/TLS version that is acceptable.
// If zero, then TLS 1.0 is taken as the minimum.

By my reading that means the STARTTLS check will fail if the server has STARTTLS enabled but is using SSLv2/3 (this is borne out by adding a test). Since we return if STARTTLS fails, the checker won't reach the version test and the result might be a bit confusing.

We may want to specify the lowest possible min version for the STARTTLS check to avoid a confusing failure - then we can catch the issue in the version check.

@vbrown608 vbrown608 self-assigned this Aug 16, 2018
@vbrown608
Copy link
Collaborator Author

Seems like Go doesn't support connecting as a client with SSL 3.0: https://golang.org/src/crypto/tls/handshake_client.go#L276.

When I set the min version for the client (ie the checker) to SSL 3.0 and try to connect to a server that only supports SSL 3.0 I still see tls: server selected unsupported protocol version 300.

@vbrown608 vbrown608 removed their assignment Sep 10, 2018
@vbrown608
Copy link
Collaborator Author

Rather than trying to support SSL 3.0, we're just going to tweak the code/error message so it's a bit clearer what's going on.

@vbrown608
Copy link
Collaborator Author

Something like https://github.com/zmap/zcrypto could be useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant