Kerberos Autorización host / service por host / service based

2

Entiendo que Kerberos es para autenticación y no para autorización, pero ¿es posible hacer que Kerberos se niegue a autenticar a ciertos usuarios en hosts específicos? Actualmente estoy usando LDAP para / etc / passwd / etc / group, proporcionando la entrada userPassword como '!!' para no permitir el inicio de sesión por defecto. Y Kerberos está sirviendo la autenticación. Sería bueno si todos los hosts pudieran usar LDAP, mientras proporcionan listas de usuarios que no desean (o no quieren) dar autenticación a través de Kerberos. Si esto no es posible, ¿cómo recomendaría que lo haga?

Cuando instalé el KDC, tuve la impresión de que la ACL de kerberos me permitiría especificar dónde (qué servicios / hosts) podían obtener los tickets los usuarios específicos.

    
pregunta Shane 14.12.2014 - 05:46
fuente

1 respuesta

1

Esto es más una solución a lo que estoy tratando de lograr que una respuesta a la pregunta que hice. Si alguien tiene una respuesta más directa a la pregunta formulada, contribúyala.

Gracias a la buena gente de CERN y Ubuntu por ayudarme a encontrar el camino correcto: enlace
enlace

Aparentemente, el paquete nss-pam-ldap para usar LDAP en el NSSwitch para proporcionar / etc / passwd permite hacer un poco de filtrado o anulación de valores (aunque no lo he probado todavía). Esto podría ser útil si normalmente los homedirs de sus usuarios LDAP están en NFS, pero en un host específico, desea que tengan homedirs locales.

nslcd.conf
# Set the user homedirectory to /home/$USER map passwd homeDirectory "/home/$homeDirectory"

O asigne a nologin para mantener los permisos de archivo correctos en un servidor NFS (sin permitir que los usuarios de LDAP tengan un shell)
# Set the login shell to /sbin/nologin map passwd loginShell "/sbin/nologin"

Algunos filtros básicos
# Only get users from group 1160 filter passwd (&(objectClass=user)(uidNumber=*)(unixHomeDirectory=*)(gidNumber=1160))

Se pueden hacer más cosas con la propia configuración de ldap (/etc/ldap.conf o /etc/openldap/ldap.conf), por ejemplo, agregando un atributo de usuario: host a los usuarios de LDAP, donde tiene un atributo de host (con nombre de host) para cada host al que pueda acceder el usuario, y líneas como esta:
nss_base_passwd ou=Users,dc=example,dc=com?one?|(host=thehostname)(host=\*)

Para obtener más información, simplemente siga los enlaces que publiqué en la parte superior, y si tengo algo de tiempo para hacer que todo esto funcione de una manera que aprecio, intentaré aclarar esta respuesta un poco.

EDITAR: el sitio web principal del paquete nss-pam-ldap está aquí:
arthurdejong.org/nss-pam-ldapd/
tiene alguna documentación para el archivo nsldc.conf

    
respondido por el Shane 16.12.2014 - 02:27
fuente

Lea otras preguntas en las etiquetas