-
This was previously brought up on the Google Groups email group by me. Reposting here it per request. I have had an odd LDAP error that occurred right after a RabbitMQ upgrade. I've worked around it, but thought it was worthy for other to know about, in the off chance that it was related to the upgrade. Approximately a week and a half ago, I performed an in-place upgrade of RabbitMQ from version 3.8.7 to RabbitMQ 3.8.9, each running Erlang 23.0. The upgrade was performed on four environments: our development, QA, staging, and production environments, all running Windows Server 2016. The first two environments are single-server environments and the last two are both clusters of three servers. Each server has TLS 1.2 configured using certificates that do not expire for approximately 18 months. AuthN and AuthZ with the exchanges and queues by RabbitMQ clients use a username / password combination over a TLS-enabled connection (Moving them to certificate authentication is on my to-do list). Signing into the web management portal uses a secured connection to our LDAP servers (Active Directory). All environments were working fine prior to the upgrade. There have been no reports of bad connections, missed messages, or any issues at all. The web management portal could be signed into using the Active Directory credentials and the proper rights were given based upon group membership. Again, no problems at all. After the upgrade, I'm reasonably certain I signed into the web portal of all four environments to double-check the upgrade / node status. So I had no indication anything was wrong. After about a week after the upgrade (which is to say, earlier this past week), I attempted to login to our QA environment. It would consistently give a failed login message when trying to go into the web management portal. After turning on network-level logging, it was clear that the error was a failed handshake with the LDAP server. All client communication with the exchanges and nodes remained just fine. After experimenting with some configurations, I found that by turning off the peer verify setting (setting it to verify_none), the LDAP sign in started working again. This was NOT happen in our dev, staging, or production environments that also had the same identical upgrade. Weird, right? Yesterday, the same faulty behavior show up in the development, staging, and production environments: any attempt to sign-in with AD credentials into the Web Management portal would fail, due to a bad TLS handshake with the LDAP servers. Again, setting the verify_peer setting to verify_none corrected the issue. I re-checked the local RabbitMQ server certificates and they were all valid. It also should be noted that I was assured by others in the IT department that nothing was done regarding our LDAP configuration or internal certificates. So, it seems like the only change made was the RabbitMQ upgrade. I didn't post this to the google group or Github until now, as I suspect it was something related to our internal environment. I still am leaning that way. However, someone posted in the Google group an issue with LDAP and thought that perhaps something else is going on. Here are the steps I've performed during the upgrade, from the perspective of the QA server:
Current status is that LDAP logins are working without peer validation of the certificate. Less than ideal, but functional for the time being. Sorry for being so long-winded but perhaps this might be of value to someone. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
Can you give some details about the chain of trust for the certificates you're using? The reason I ask is that your symptoms are very similar to those described here, where there are several certs in the server certificate's chain of trust: https://groups.google.com/g/rabbitmq-users/c/lquxjze8UIc/m/9E5mkg88AgAJ The Erlang VM has no knowledge of Windows certificate stores, so you must ensure that the full trust chain is included in the file pointed to by the My guess is that the certificate(s) used to sign your LDAP server certificate are not all present in the At any rate, that
If you could run the equivalent |
Beta Was this translation helpful? Give feedback.
-
Check to be sure that ALL of the LDAP servers have similar certificates. In this case, one server had a subject omitted. |
Beta Was this translation helpful? Give feedback.
-
@ipock well done figuring that out! |
Beta Was this translation helpful? Give feedback.
Check to be sure that ALL of the LDAP servers have similar certificates. In this case, one server had a subject omitted.