Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Interplay of Kerberos authentication and reverse proxies

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

  1. whether the reverse proxy will act as a client in this intranet using its own tickets
  2. or whether the outside client has to be aware of this additional authentication layer and has to be able to request tickets by itself

What is the state of the art in such situations?

Thanks in advance!

like image 298
Dr. Christian Müller Avatar asked Nov 23 '12 09:11

Dr. Christian Müller


People also ask

Does reverse proxy do authentication?

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.

What is the Kerberos authentication mechanism how is it implemented?

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.

Is Kerberos third party?

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):

What are Kerberos?

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.


1 Answers

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.

like image 97
Dr. Christian Müller Avatar answered Oct 03 '22 14:10

Dr. Christian Müller