¿Cuáles son las ventajas / reales percibidas de Kerberos? ¿Hay alternativas viables a la tecnología?

StackOverflow https://stackoverflow.com/questions/894301

Pregunta

Estamos pensando en la utilización de Kerberos en nuestra arquitectura. Me gustaría saber lo que percibe o ventajas reales de esta tecnología tiene, y si hay alguna alternativa.

Tenga en cuenta que tenemos un lado del lado del cliente y el servidor java .net. comunicación será a través del bus de mensajería y SOA

No hay solución correcta

Otros consejos

Si está trabajando en un entorno de Windows en su mayoría (es decir 2k3 servidor de Windows, un controlador de dominio, Active Directory, etc.) uno en particular es que se puede utilizar suplantación través de .NET con un servidor web y servidor de fractura de base de datos. Utilizando el método NTLM mayor, no se puede hacer un "doble-hop".


Veamos un ejemplo:

  • Usted tiene un servidor web (Web1)
  • Tiene un servidor de base de datos en una máquina separada (DB1)
  • Usted tiene un acceso de los usuarios a su sitio web (USUARIO 1)

USUARIO1 golpea una página que muestra una lista de pedidos. Su servidor Web1 tiene que consultar DB1 por esta información a mostrar en la página. Desea limitar lo que los pedidos se ven sobre la base de las credenciales del usuario y derechos de acceso. De este modo, se configura grupos de Active Directory y asignar a los usuarios en consecuencia. En su base de datos le dará los diferentes grupos de seguridad diferentes (GRUPO1 podría tener seleccione solamente y GRUPO2 podría obtener de selección, inserción y actualización, por ejemplo).

NTLM no admite el doble salto necesario hacer esto. Web1 tiene que enviar las credenciales de Usuario1 a DB1 (de lo contrario Web1 debe iniciar sesión en el DB1 con un conocido identificador de usuario y la contraseña dedicada hardcoded en el web.config, por ejemplo, que por lo general tiene que tener acceso completo a apoyar a todos los posibles roles de usuario). Se puede imaginar que esto podría ser un peligro para la seguridad debe Web1 verse comprometida, por lo que no puede hacerlo, de lo contrario cualquier persona que obtiene el control de Web1 (a través de la inyección de SQL tal vez) podría hacer nada la cuenta de usuario dedicada podía o hacerse pasar por quien quieran. Kerberos, por delegación en Windows Server, soporta hacer esto segundo salto, manteniendo la tecla credencial cifrada de su servidor de dominio intacto y pasa a lo largo, así como verificar que esto es permitido (en ambos extremos, ver más abajo para configurar esto en sus servidores porque debe ser explícitamente permitido).

Es muy útil para hacer esto en el desarrollo de aplicaciones de intranet web que tienen una base de datos back-end (que es el 99% de las veces el caso, ¿verdad?) Y que quieren controlar la autorización y autenticación a través de seguridad integrada de Windows. Kerberos es realmente la única opción a menos que su servidor web y el servidor de bases de datos están en la misma máquina, lo que significa que no hay transferencia de credenciales y sin suplantación necesario.

Vea también:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top