-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Default Value of fail_if_no_peer_cert #13253
Comments
@ysfscream this is more of a frontend enhancement? |
Why do we even have this option? Is there a scenario when a user may want to allow plain tcp connection on SSL port? |
@zmstone I don't think so, the default value of this option in the configuration file is also false. |
Good point. |
We can change default value from backend, but frontend is independent implementation. |
Here is my proposal. |
@id When The only scenario I can think of is that all the user's clients access from the same TLS port, some of them provide client certificates for two-way authentication, and these clients will skip the password authentication of EMQX. The other part does not provide client certificates, after establishing a TLS connection, they must pass password authentication to actually access EMQX. However, I think only HTTP authentication currently supports this process. |
emmm What happens to listeners that had |
it will be discarded |
Peer sending its cert is sometimes optional for TLS client (not limited to MQTT). |
What happened?
Now when I enable "Verify Peer" for SSL Listener, the default value of "Force Verify Peer Certificate"(
fail_if_no_peer_cert
) will be false.Since this is not a common option, users may not change it. But it may have some security risks: when set to false, even if the user has enabled two-way authentication, the client can still connect successfully without providing a certificate.
This means that attackers may be able to easily access the user's server, because when enabling two-way authentication, users usually no longer enable password-based authentication.
What did you expect to happen?
I hope EMQX can change the default value of
fail_if_no_peer_cert
to True, so that users can explicitly change it to False when needed.How can we reproduce it (as minimally and precisely as possible)?
No response
Anything else we need to know?
No response
EMQX version
EMQX 5.7
OS version
macOS 13
Log files
The text was updated successfully, but these errors were encountered: