I need to gain some high-level understanding about the interplay of reverse proxies and the Kerberos protocol.
Assume I have a web service and a client, which are already implemented and working. Now we put the web service into a network behind a reverse proxy. The internal authentication in the network behind the reverse proxy is based on Kerberos.
Now I would like to know whether this new infrastructure would make some programmatical changes on the web service side and on the client side necessary? This depends on
What is the state of the art in such situations?
Thanks in advance!
Reverse Proxy: Specifies which proxy service is used for authentication. If you have configured only one proxy service, only one appears in the list and it is selected. If you change the reverse proxy that is used for authentication, certificates must be updated to match this new configuration.
Kerberos is a computer network security protocol that authenticates service requests between two or more trusted hosts across an untrusted network, like the internet. It uses secret-key cryptography and a trusted third party for authenticating client-server applications and verifying users' identities.
Kerberos runs as a third-party trusted server known as the Key Distribution Center (KDC). Each user and service on the network is a principal. The main components of Kerberos are: Authentication Server (AS):
Kerberos is a protocol for authenticating service requests between trusted hosts across an untrusted network, such as the internet. Kerberos support is built in to all major computer operating systems, including Microsoft Windows, Apple macOS, FreeBSD and Linux.
I think I found the answer. Constrained delegation is the feature of the Kerberos protocol I expected to exist.
If we use SSL/TLS with mutual certificate based authentication, then the client will be authenticated by the proxy, who validates client's certificate by a local CA (within the hidden intranet). Afterwards, the proxy will generate Kerberos tickets on behalf of the already authenticated client.
At the server side, the ticket validation should happen at the runtime level (e.g., by IIS).
Hence, if the client is able to consume the service through SSL/TLS, then the Kerberos authentication remains fully transparent for client and the server.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With