Administración de usuarios/seguridad: Configurar la funcionalidad de inicio de sesión PAM

Document created by RSA Information Design and Development on Feb 9, 2017
Version 1Show Document
  • View in full screen mode
  

En este tema se explica cómo configurar Security Analytics para usar Pluggable Authentication Modules (PAM) con el fin de autenticar nombres de inicio de sesión del usuario externos.

La funcionalidad de inicio de sesión PAM implica dos componentes por separado:

  • PAM para la autenticación de usuarios
  • NSS para la autorización de grupos

En conjunto, proporcionan a los usuarios externos la funcionalidad de iniciar sesión en Security Analytics sin disponer de una cuenta interna de Security Analytics y de recibir permisos o funciones según el mapeo del grupo externo a una función de seguridad de Security Analytics. Se requieren ambos componentes para que un inicio de sesión se realice correctamente.

La autenticación externa es una configuración en el nivel del sistema. Antes de configurar PAM, revise cuidadosamente toda la información que se presenta aquí.

Pluggable Authentication Modules

PAM es una biblioteca que proporciona Linux, cuyo objetivo es autenticar usuarios en proveedores de autenticación, como Active Directory, RADIUS o LDAP. Para su implementación, cada proveedor de autenticación usa un módulo propio, el cual tiene la forma de un paquete del sistema operativo (SO) como pam_ldap. Para autenticar usuarios, Security Analytics usa la biblioteca de PAM que proporciona el SO y el módulo que la biblioteca de PAM está configurada para usar.

Nota: PAM solo proporciona la capacidad de autenticar.

Name Service Switch

NSS es una función de Linux que proporciona bases de datos que usan el sistema operativo (SO) y las aplicaciones para descubrir información, como nombres de host, y atributos de usuario, como el directorio principal, el grupo primario y el shell de inicio de sesión, y para enumerar a los usuarios que pertenecen a un determinado grupo. Similar a PAM, NSS se puede configurar y usa módulos para interactuar con distintos tipos de proveedores. Security Analytics usa funcionalidades de NSS que proporciona el SO para autorizar a usuarios externos de PAM, para lo cual consulta si NSS conoce a un usuario y después solicita a NSS los grupos de los cuales ese usuario es miembro. Security Analytics compara los resultados de la solicitud con el mapeo de grupo externo de Security Analytics y, si se encuentra un grupo coincidente, se otorga al usuario acceso para iniciar sesión en SA con el nivel de seguridad definido en el mapeo de grupo externo.

Nota: NSS no proporciona autenticación.

Combinación de PAM y NSS

Tanto PAM (autenticación) como NSS (autorización) deben ejecutarse correctamente para que un usuario externo reciba autorización para iniciar sesión en Security Analytics. El procedimiento para configurar y solucionar problemas de PAM es diferente del procedimiento para configurar y solucionar problemas de NSS. Los ejemplos de PAM de esta guía incluyen Kerberos, LDAP y Radius. Los ejemplos de NSS incluyen Samba, LDAP y UNIX. Las necesidades del sitio determinan la combinación de módulos PAM y NSS que se usa.

Nota: Para los servicios anteriores a 10.4 que usan conexiones no confiables, todos los usuarios de PAM también deben estar configurados en todos los servicios Security Analytics Core, y PAM se debe configurar en cada host de Core EL6.  Aunque este documento no aborda la configuración de la autenticación PAM y de usuarios de servicios Core, como Decoder y Concentrator, los pasos para configurar el módulo PAM son los mismos, salvo que los servicios Security Analytics Core usan un archivo de configuración de PAM distinto, /etc/pam.d/netwitness.

Descripción general del proceso

Para configurar la funcionalidad de inicio de sesión PAM, siga las instrucciones de este documento para realizar cada paso:

  1. Configurar y probar el módulo PAM.
  2. Configurar y probar el servicio NSS.
  3. Habilitar PAM en el servidor de Security Analytics.
  4. Crear mapeos de grupo en el servidor de Security Analytics.

Requisitos previos

Esta función solo está disponible para Security Analytics versión 10.4 o superior basada en EL6.

Antes de comenzar con la configuración de PAM, revise el procedimiento y recopile detalles del servidor de autenticación externa según el módulo PAM que desea implementar.

Antes de comenzar con la configuración de NSS, revise el procedimiento, identifique los nombres de grupo que usará en el mapeo de grupo externo y recopile detalles del servidor de autenticación externa según el servicio NSS que está en uso.

Si compró un nuevo host con Security Analytics 10.4 o superior instalado, los paquetes rpm requeridos para Kerberos, LDAP, Radius y Samba están instalados de manera predeterminada.

Antes de comenzar con la configuración de PAM en Security Analytics, identifique los nombres de grupo que usará en el mapeo de grupo externo. Cuando se mapean funciones, la función en Security Analytics debe coincidir con un nombre de grupo existente en el servidor de autenticación externa.

Configurar y probar el módulo PAM

Elija una de las siguientes secciones para configurar el componente PAM:

  • Kerberos en PAM
  • LDAP en PAM
  • Radius en PAM
  • SecurID

Kerberos en PAM

Puertos de comunicación Kerberos: TCP 88

Nota: Si el servidor de Security Analytics y Security Analytics Malware Analysis comparten el mismo servidor, una vez que configure Kerberos en PAM, la configuración de Samba (SMB) en Malware Analysis se deshabilitará.

Para configurar la autenticación PAM mediante Kerberos:

  1. Si realizó una actualización a Security Analytics 10.6, ejecute el siguiente comando; de lo contrario, omita este paso:
    yum --enablerepo=nwupdates install krb5-workstation pam_krb5  
  2. Edite las siguientes líneas del archivo de configuración de Kerberos /etc/krb5.conf. Reemplace las variables, delimitadas por <paréntesis angulares> por sus valores y omita los paréntesis angulares. Ponga atención al requisito de mayúsculas/minúsculas donde se indica.

    [libdefaults]
    default_realm = <DOMAIN.COM>
    dns_lookup_realm = true
    dns_lookup_kdc = true
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true

    [realms]
    <DOMAIN.COM> = {
    kdc = <SERVER.DOMAIN.COM>
    admin_server = <SERVER.DOMAIN.COM>
    }

    [domain_realm]
    <domain.com> = <DOMAIN.COM>
    <.domain.com> = <DOMAIN.COM>

    [appdefaults]
    pam = {
       debug = true    ticket_lifetime = 36000
        renew_lifetime = 36000
       forwardable = true
       krb4_convert = false
      }
  3. Pruebe la configuración de Kerberos con el comando: 
    kinit <user>@<DOMAIN.COM>
    Si no hay ninguna salida después de ingresar la contraseña, la operación se realizó correctamente.
  4. Edite el archivo de configuración /etc/pam.d/securityanalytics de PAM del servidor de Security Analytics para agregar la siguiente línea. Si el archivo no existe, créelo y agregue la siguiente línea:
    auth sufficient pam_krb5.so no_user_check

Con esto finaliza la configuración de Kerberos en PAM. Ahora, continúe con la sección siguiente, Configurar y probar el servicio NSS.

LDAP en PAM

Puertos de comunicación de LDAP: TCP 389 o TCP 636 

TCP 389 se puede usar para el tráfico no cifrado y, en la mayoría de los casos, cifrado y generalmente es suficiente. La mayoría de las implementaciones de LDAP modernas son compatibles con el comando start_tls una vez que se conectan al puerto 389, lo cual actualiza la conexión de un estado no cifrado a uno cifrado. En esta instancia, las URI de LDAP comienzan con ldap://, incluso cuando se usa start_tls.

TCP 636 se usa solo en instancias donde el servidor de LDAP no es compatible con el comando start_tls. En este caso, las URI de LDAP comienzan con ldaps:// y el comando start_tls no se usa.

Para configurar la autenticación PAM mediante LDAP:

  1. Si realizó una actualización a Security Analytics 10.6, ejecute el siguiente comando; de lo contrario, omita este paso:
    yum --enablerepo=nwupdates install openldap-clients
  2. Edite los archivos de configuración de LDAP, /etc/pam_ldap.conf y /etc/openldap/ldap.conf, como se muestra en los siguientes ejemplos

Nota: los dos archivos de configuración de LDAP tienen distintos propósitos. Solo el módulo PAM usa el archivo pam_ldap.conf. El archivo openldap/ldap.conf se usa con las herramientas del cliente openldap, como ldapsearch, la cual se usa para solucionar los problemas de las comunicaciones básicas de LDAP. Reemplace las variables, delimitadas por <paréntesis angulares> por sus valores y omita los paréntesis angulares. Ponga atención al requisito de mayúsculas/minúsculas donde se indica.

Ejemplo de entradas del archivo /etc/pam_ldap.conf

base <dc=domain,dc=com>
uri ldap://<server.domain.com>
binddn <binduser@domain.com>
bindpw <secret>

nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_attribute uid sAMAccountName
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute shadowLastChange pwdLastSet
nss_map_objectclass posixGroup group
nss_map_attribute uniqueMember member
pam_login_attribute sAMAccountName
pam_filter objectclass=User

Ejemplo de entradas del archivo /etc/openldap/ldap.conf

URI ldap://<server.domain.com>
BASE <DC=domain,DC=com>
TLS_CACERTDIR /etc/openldap/certs

  1. (Opcional) Para habilitar el transporte seguro para la comunicación LDAP con verificación de certificado de par (más segura), agregue estas líneas a /etc/pam_ldap.conf y /etc/openldap/ldap.conf:
    Líneas que se deben agregar a /etc/pam_ldap.conf:
    ssl start_tls
    tls_cacertfile /etc/openldap/certs/myca.pem


    Líneas que se deben agregar a /etc/openldap/ldap.conf:
    ssl start_tls
    tls_cacert /etc/openldap/certs/myca.pem

    myca.pem
    es un archivo que contiene un certificado x.509 con formato PEM codificado en base64 para la CA raíz (no la CA emisora) de la cadena de certificados que emitió el certificado LDAP seguro de la controladora de dominio. Póngase en contacto con el administrador de Active Directory para obtener este certificado de CA raíz. El archivo del certificado debe estar en formato PEM.

Nota: de manera predeterminada, el transporte de LDAP seguro no está activado en los controladores de dominio de Windows. Requieren la instalación de un certificado de servidor para la autenticación del servidor. La obtención y la instalación de este certificado en los DC están fuera del alcance de este documento. En https://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspx encontrará orientación relacionada con este tema.

  1. (Opcional) Para habilitar el transporte seguro para la comunicación LDAP sin certificado de par, agregue estas líneas a /etc/pam_ldap.conf y /etc/openldap/ldap.conf:
    Líneas que se deben agregar a /etc/pam_ldap.conf
    ssl start_tls
    tls_reqcert never


    Líneas que se deben agregar a /etc/openldap/ldap.conf
    ssl start_tls
    tls_checkpeer no
  2. Para probar la configuración de LDAP, escriba el siguiente comando:
    ldapsearch -x -D <user>@<domain.com> -W
  3. Para ejecutar una prueba avanzada o solucionar problemas del usuario de vinculación, conéctese como el usuario de vinculación (por ejemplo, Mike Cool) y busque el usuario, vea cuál es el nombre distinguido (DN) del usuario y use ese valor como binddn en pam_ldap.conf, por ejemplo:
    1. ldapsearch -b "dc=domain,dc=com" -D mcool@domain.com -h server.domain.com -W "(cn=Cool*)" |grep Cool
      El comando grep ocultará el indicador de contraseña (-W)
    2. Escriba la contraseña y presione INTRO.
  4. Edite el archivo de configuración /etc/pam.d/securityanalytics de PAM del servidor de Security Analytics para agregar la siguiente línea. Si el archivo no existe, créelo y agregue la siguiente línea:
    auth sufficient pam_ldap.so

Con esto finaliza la configuración de LDAP en PAM. Ahora, continúe con la sección siguiente, Configurar y probar el servicio NSS.

Radius en PAM

Puertos de comunicación de Radius: UDP 1812 o UDP 1813

Para configurar la autenticación PAM mediante Radius, debe agregar el servidor de Security Analytics a la lista de clientes del servidor de Radius y configurar una seña secreta compartida. Póngase en contacto con el administrador del servidor de Radius para este procedimiento.

Para configurar la autenticación PAM mediante LDAP:

  1. Si realizó una actualización a Security Analytics 10.6, ejecute el siguiente comando; de lo contrario, omita este paso:
    yum --enablerepo=nwupdates install pam_radius_auth
  2. Edite el archivo de configuración de Radius, /etc/raddb/server, de la siguiente manera:
    # server[:port] shared_secret  timeout (s)
    server          secret       3
  3. Edite el archivo de configuración /etc/pam.d/securityanalytics de PAM del servidor de Security Analytics para agregar la siguiente línea. Si el archivo no existe, créelo y agregue la siguiente línea:
    auth sufficient pam_radius_auth.so

Los módulos de PAM y los servicios asociados envían información como salida a /var/log/messages y /var/log/secure. Estas salidas se pueden usar como ayuda en la solución de problemas de configuración.

Con esto finaliza la configuración de Radius en PAM. Ahora, continúe con la sección siguiente, Configurar y probar el servicio NSS.

Agente PAM para SecurID

Puerto de comunicación de PAM: UDP 5500

Requisitos previos
El módulo PAM de RSA SecurID solo es compatible en las siguientes condiciones:

  1. Todos los servicios Security Analytics Core en la implementación deben ejecutar, como mínimo, la versión 10.4.0. Security Analytics 10.3.x o anterior no es compatible.
  2. Las conexiones de confianza deben estar habilitadas y en funcionamiento entre Security Analytics y los servicios Security Analytics Core.

Descripción general del proceso 

Los pasos generales para configurar el módulo PAM de SecurID son:

  1. Configurar Authentication Manager:
    a. Agregar el agente de autenticación.
    b. Descargar el archivo de configuración.
  2. Configurar el servidor de Security Analytics:
    a. Copiar el archivo de configuración desde Authentication Manager y personalizarlo.
    b. Instalar el módulo SecurID en PAM.
  3. Probar la conectividad y la autenticación.

Posteriormente, siga los procedimientos restantes de las secciones que se indican a continuación:

  • Configurar NSS.
  • Habilitar PAM en Security Analytics.
  • Configurar mapeos de grupo en el servidor de Security Analytics.

Para configurar Authentication Manager:

  1. Inicie sesión en RSA Authentication Manager.
    Se muestra la Consola de seguridad.
  2. En la Consola de seguridad, agregue un nuevo agente de autenticación.
    Haga clic en Acceso > Agentes de autenticación > Agregar nuevo.
    Se muestra la página Agregar nuevo agente de autenticación.
  3. En el campo Nombre de host, escriba el nombre de host del servidor de Security Analytics.
  4. Haga clic en Resolver dirección IP.
    La dirección IP del servidor de Security Analytics se muestra automáticamente en el campo Dirección IP.
  5. Conserve la configuración predeterminada y haga clic en Guardar.
  6. Genere un archivo de configuración.
    Haga clic en Acceso > Agentes de autenticación > Generar archivo de configuración.
    Se muestra la página Generar archivo de configuración.

  7. Conserve los valores predeterminados y haga clic en Generar archivo de configuración.
    Esto crea AM_Config.zip, el cual contiene dos archivos.
  8. Haga clic en Descargar ahora.

Para instalar y configurar el módulo SecurID en PAM:

Nota: los OVA y los ISO de instalación de la versión 10.4 o superior preinstalan el paquete de SecurID. Si esto se aplica a su ambiente, omita este procedimiento.

  1. En el servidor de Security Analytics, cree un directorio:
    mkdir /var/ace
  2. En el servidor de Security Analytics, copie sdconf.rec del archivo .zip a /var/ace.
  3. Cree un archivo de texto sdopts.rec en el directorio /var/ace.
  4. Inserte la siguiente línea:
    CLIENT_IP=<IP address of Security Analytics server>
  5. Instale el agente de autorización de SecurID para PAM, el cual está disponible en el repositorio YUM:
    yum install sid-pam-installer
  6. Ejecute el script de instalación:
    /opt/rsa/pam-agent-installer/install_pam.sh
  7. Siga los indicadores para aceptar o cambiar los valores predeterminados. 
  8. Edite el archivo de configuración de PAM del servidor de Security Analytics, /etc/pam.d/securityanalytics, para agregar esta línea:
    auth required pam_securid.so
    Si el archivo no existe, créelo y agregue esta línea:
    auth sufficient pam_securid.so

Con esto finaliza la instalación del módulo SecurID en PAM.  A continuación, pruebe la conectividad y la autenticación. Posteriormente, siga los procedimientos que se indican en Configurar y probar el servicio NSS.

Nota: Después de la instalación, verifique que VAR_ACE en el archivo /etc/sd_pam.conf señale la ubicación correcta del archivo sdconf.rec. Esta es la ruta a los archivos de configuración. La ruta completa debe tener permiso raíz -rw------- root.

Para probar la conectividad y la autenticación:

  1. Ejecute /opt/pam/bin/64bit/acetest e ingrese username passcode
  2. (Opcional) Si acetest falla, active la depuración:
    vi/etc/sd_pam.conf
    RSATRACELEVEL=15
  3. Ejecute /opt/pam/bin/63bit/acestatus. La salida es la siguiente

RSA ACE/Server Limits
---------------------
Configuration Version : 15 Client Retries : 5 
Client Timeout : 5 DES Enabled : Yes 

RSA ACE/Static Information
--------------------------
Service : securid Protocol : udp Port Number : 5500

RSA ACE/Dynamic Information
---------------------------
Server Release : 8.1.0.0 Communication : 5

RSA ACE/Server List
-------------------
Server Name :           auth81.netwitness.local
Server Address :        192.168.100.10
Server Active Address : 192.168.100.10
Master : Yes Slave : No Primary : Sí 
Uso: Available for Authentications

  1. (Opcional) Para solucionar problemas del servidor de Authentication Manager:
    Haga clic en Reporting > Monitores de actividad en tiempo real > Monitor de actividad de autenticación.
    A continuación, haga clic en Iniciar monitor.
  2. Si cambió la configuración, restablezca RSATRACELEVEL a 0:
    vi/etc/sd_pam.conf
    RSATRACELEVEL=0

Con esto finaliza la configuración de Agente PAM para SecurID. Ahora, continúe con la sección siguiente, Configurar y probar el servicio NSS.

Configurar y probar el servicio NSS

Elegir un servicio NSS

Existen tres opciones para el servicio NSS: Samba, LDAP y UNIX.  Las tres tienen ventajas y desventajas.

                         
Ventajas de Samba en NSSDesventajas de Samba en NSS
Especialmente diseñado para Active DirectoryNo se puede usar con back-ends que no pertenecen a AD
Requiere configuración mínima en Active Directory o no la requiere en absolutoLa configuración y la solución de problemas pueden ser más difíciles
No se requieren cuentas de usuario especialesRequiere que la máquina del servidor de SA esté unida al dominio de Active Directory
 Usa muchos puertos para comunicarse con Active Directory; la implementación es más difícil a través de firewalls y proxies

 

                         
Ventajas de LDAP en NSSDesventajas de LDAP en NSS
La configuración básica es más simplePuede requerir configuración y funciones adicionales dentro de Active Directory
Puede comunicarse con cualquier implementación de LDAPRequiere la configuración de una cuenta de vinculación de LDAP
Usa un único puerto TCP para la comunicación; es más fácil trabajar con firewalls y proxiesEl transporte seguro es más difícil de activar a menos que esté configurado para no validar los certificados del servidor
No requiere la unión del host de SA a un dominio de AD 

UNIX en NSS

No se requiere configuración para habilitar el módulo UNIX en NSS; está habilitado de manera predeterminada en el sistema operativo del host. Para autorizar a un usuario para un grupo específico, agréguelo simplemente al sistema operativo y a un grupo:

  1. Cree el grupo del SO que usará y agregue el usuario externo con este comando:
    groupadd <groupname>
  2. Agregue el usuario externo al SO con este comando:
    adduser -G <groupname> -M -N <externalusername>

Nota: observe que esto NO permite ni autoriza el acceso a la consola del servidor de SA.

Con esto finaliza la configuración de UNIX en NSS. A continuación, vaya a Probar la funcionalidad de NSS.

Samba en NSS

Nota: Si el servidor de Security Analytics y Security Analytics Malware Analysis comparten el mismo servicio, una vez que configure Samba en NSS, la configuración de Samba (SMB) en Malware Analysis se deshabilitará.

Puertos de comunicación de AD Winbind

Los siguientes puertos corresponden al mínimo que debe estar abierto según las pruebas internas para permitir la funcionalidad Samba en NSS.  Estos se proporcionan solo como referencia.

TCP 88: Kerberos
TCP 139: Netbios
TCP 389: LDAP
UDP 53: DNS
UDP 88: Kerberos
UDP 389: LDAP

Pueden ser necesarios puertos adicionales, según los requisitos de implementación específicos del sitio. Consulte el siguiente artículo para obtener información sobre todos los puertos que puede requerir la comunicación de Active Directory: http://technet.microsoft.com/en-us/library/dd772723(ws.10).aspxhttp://technet.microsoft.com/en-us/library/dd772723%28ws.10%29.aspx

Para configurar Samba en NSS:

  1. Edite el archivo de configuración de Samba, /etc/samba/smb.conf, de la siguiente manera. Reemplace las variables, delimitadas por <paréntesis angulares> por sus valores y omita los paréntesis angulares. Ponga atención al requisito de mayúsculas/minúsculas donde se indica.
    [global]
    workgroup = domain
    netbios name = <SA_APPLIANCE_HOSTNAME>
    password server = <ADSERVER.DOMAIN.COM>
    realm = <DOMAIN.COM>

    local master = no
    security = ads
    syslog only = yes
    log file = /var/log/samba/log.%m
    max log size = 5120
    idmap config * : range = 16777216-33554431
    template shell = /bin/bash
    winbind use default domain = true
    winbind offline logon = false
    winbind enum groups = yes
  2. Para habilitar e iniciar el servicio de vinculación de Windows, winbind, escriba los siguientes comandos:
    chkconfig winbind on
    service winbind start
  3. Edite el archivo de configuración de NSS, /etc/nsswitch.conf. Actualice solo las dos entradas siguientes y conserve todos los demás valores predeterminados:
    passwd:   files winbind
    group:    files winbind
  4. Para unirse al dominio, escriba el siguiente comando:
    net ads join -U <DomainAdminUser>
  5. Para almacenar el SID del controlador de dominio, escriba el siguiente comando:
    net rpc getsid -S <SERVER.DOMAIN.COM>
  6. Pruebe la funcionalidad de NSS como se describe en la sección Probar la funcionalidad de NSS.  
  7. Cuando haya confirmado que NSS funciona correctamente desde la línea de comandos, para reiniciar el host de modo que se apliquen los cambios en NSS, escriba el siguiente comando.
    reboot

Para solucionar problemas de Samba en NSS:

Para comprobar si Winbind en NSS puede comunicarse correctamente con Active Directory:

  1. Ingrese los siguientes comandos:
    wbinfo -u para obtener una lista de usuarios de AD
    wbinfo -g para obtener una lista de grupos de AD
  2. Si ninguno de los comandos se ejecuta correctamente, ejecute winbind en el modo de depuración de la consola mediante el ingreso de los siguientes comandos:
    service winbind stop
    winbindd -S -F -d <optional debugleve 0-10>
  3. Desde una sesión del protocolo SSH por separado, repita el paso 1 y observe la salida de winbindd para ver si hay alguna señal del problema.
    Aumente el detalle de la depuración de winbindd según sea necesario.
  4. Realice los ajustes necesarios en /etc/samba/smb.conf.
  5. En la ventana de depuración de winbindd del paso 2, detenga winbindd mediante el ingreso de CTRL-C
    Repita los pasos 1 y 2 y continúe con la solución de problemas hasta que los comandos wbinfo se ejecuten correctamente.
  6. Cuando los comandos wbinfo se hayan ejecutado correctamente, use los comandos getent de la sección Probar la funcionalidad de NSS de esta guía para probar NSS.
    getent passwd <pamUser>
    getent group <groupOfPamUser>
  7. Cuando getent se haya ejecutado correctamente, detenga la línea de comandos winbindd mediante el ingreso de CTRL-C y escriba el siguiente comando para iniciar el demonio del servicio:
    service winbind start

Si wbinfo -g se ejecuta correctamente desde la línea de comandos, pero la búsqueda del mapeo de grupo externo no muestra ningún grupo de Active Directory:

  1. Agregue la siguiente línea a /etc/samba/smb.conf:

allow trusted domains = no

  1. Escriba service winbind restart.

Con esto finaliza la configuración de Samba en NSS. A continuación, vaya a Probar la funcionalidad de NSS.

LDAP en NSS

Nota: Estas instrucciones requieren que todos los objetos de usuario de PAM y de grupo de NSS de Active Directory tengan sus atributos uidNumber y gidNumber configurados en números de UID y GID estilo UNIX para que LDAP en NSS pueda usarlos. Es posible que esquemas de Active Directory más antiguos no tengan estos atributos de manera predeterminada. Los esquemas de AD más nuevos pueden tener estos atributos, pero puede que no estén definidos en cada objeto. La configuración correcta de estos atributos escapa del alcance de este documento. Póngase en contacto con el administrador de Active Directory para que defina estos atributos para los usuarios de PAM y los grupos de NSS.

Para usar NSS, se debe crear un usuario de vinculación de LDAP en Active Directory. Este usuario se debe configurar de modo que su contraseña no venza. Debido a que estas credenciales se deben especificar en texto sin formato para el servicio LDAP en NSS, los permisos de /etc/nslcd.conf se deben dejar en su valor predeterminado de 600 de modo que los usuarios del sistema, con excepción del usuario raíz, no puedan leer el archivo.

Puertos de comunicación de LDAP: TCP 389 o TCP 636

TCP 389 se puede usar para el tráfico no cifrado y, en la mayoría de los casos, cifrado y generalmente es suficiente. La mayoría de las implementaciones de LDAP modernas son compatibles con el comando start_tls una vez que se conectan al puerto 389, lo cual actualiza la conexión de un estado no cifrado a uno cifrado. En esta instancia, las URI de LDAP comienzan con ldap://, incluso cuando se usa start_tls.

TCP 636 se usa solo en instancias donde el servidor de LDAP no es compatible con el comando start_tls.  En esta instancia, las URI de LDAP comienzan con ldaps:// y el comando start_tls no se usa.

Para configurar el módulo NSS para LDAP con Active Directory:

  1. Obtenga el paquete nss-pam-ldapd del repositorio SMCUPDATE o del repositorio de actualización del servidor de Security Analytics si el servidor está sincronizado con SMCUPDATE. Esto requiere una cuenta de Live configurada en Security Analytics.
  2. Para instalar el paquete, realice una de las siguientes acciones:
    1. Para instalarlo directamente desde SMCUPDATE, escriba el siguiente comando:
      yum --enablerepo=sa install nss-pam-ldapd
    2. Para instalarlo desde el repositorio de actualizaciones de Security Analytics, escriba el siguiente comando:
      yum --enablerepo=nwupdates install nss-pam-ldapd
  3. Edite /etc/nslcd.conf para incluir las siguientes líneas y asegúrese de dejar como comentario todas las líneas existentes en el archivo mediante una marca hash # en el comienzo de la línea:
    #see note in NSS LDAP Communication Ports section for guidance on using ldap:// or ldaps://
    uri ldap://<ldapServerHost>/ 
    base dc=<yourDomain>,dc=<com>
    binddn <ldapBindUser@yourdomain.com>
    bindpw <bindPassword>
    bind_timelimit 30
    timelimit 30
    idle_timelimit 3600
    pagesize 1000
    referrals off
    filter passwd (&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
    map  passwd uid      sAMAccountName
    map  passwd homeDirectory  unixHomeDirectory
    map  passwd gecos      displayName
    filter shadow (&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
    map  shadow uid      sAMAccountName
    map  shadow shadowLastChange pwdLastSet
    filter group  (objectClass=group)
    map  group  uniqueMember   member
    uid nslcd
    gid ldap
  4. (Opcional) Para habilitar el transporte seguro para la comunicación LDAP con verificación de certificado de par (más segura), agregue estas líneas a /etc/nslcd.conf:
    ssl start_tls
    tls_cacert /etc/openldap/certs/myca.pem


    myca.pem es un archivo que contiene un certificado x.509 con formato PEM codificado en base64 para la CA raíz (no la CA emisora) de la cadena de certificados que emitió el certificado LDAP seguro de la controladora de dominio. Póngase en contacto con el administrador de Active Directory para obtener este certificado de CA raíz.  El archivo del certificado debe estar en formato PEM.

Nota: de manera predeterminada, el transporte de LDAP seguro no está activado en los controladores de dominio de Windows. Requieren la instalación de un certificado de servidor para la autenticación del servidor. La obtención y la instalación de este certificado en los DC están fuera del alcance de este documento. Encontrará orientación relacionada con este tema en la siguiente URL: https://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspx

  1. (Opcional) Para habilitar el transporte seguro para la comunicación LDAP sin certificado de par, agregue estas líneas a /etc/nslcd.conf:
    ssl start_tls
    tls_reqcert never
  2. Edite el archivo de configuración de NSS, /etc/nsswitch.conf. Actualice solo las dos entradas siguientes y deje las demás en sus valores predeterminados:
    passwd:files ldap
    group:files ldap
  3. Para activar e iniciar el servicio NSLCD, escriba estos comandos:
    chkconfig nslcd on
    service nslcd start
  4. Pruebe la funcionalidad de NSS de acuerdo con lo que se indica en la sección Probar la funcionalidad de NSS. Si las pruebas de NSS fallan, solucione problemas de LDAP en NSS, como se describe en Solucionar problemas de LDAP en NSS.
  5. Cuando haya confirmado que NSS funciona correctamente desde la línea de comandos, reinicie el host de modo que se apliquen los cambios en NSS.
    reboot

Para solucionar problemas de LDAP en NSS:

  1. Para solucionar problemas de LDAP en NSS, primero detenga el servicio nslcd mediante el ingreso del siguiente comando:
    service nslcd stop
  2. Para enviar información de solución de problemas y estado como salida desde el servicio a la consola, ejecute el servicio nslcd en modo de depuración desde la línea de comandos.
    nslcd -d
  3. (Opcional) Para aumentar el detalle de la depuración, agregue una d adicional varias veces al final de nslcd -d; por ejemplo, escriba el siguiente comando:
    nslcd -ddd
  4. Desde una sesión del protocolo SSH por separado, use los comandos getent de la sección Probar la funcionalidad de NSS de esta guía para probar NSS. Observe alguna indicación de dónde se está produciendo la falla en la salida de depuración de nslcd.  Aumente el detalle de la depuración de nslcd según sea necesario.
    getent passwd <pamUser>
    getent group <groupOfPamUser>
  5. Realice los ajustes necesarios en /etc/nslcd.conf de acuerdo con la salida del paso 2 o 3.
  6. En la ventana de depuración de nslcd del paso 2 o 3, detenga nslcd con CTRL-C.  Repita el paso 2 o 3 y continúe con la solución de problemas hasta que el comando getent se ejecute correctamente.
  7. Cuando getent se haya ejecutado correctamente, detenga la línea de comandos nslcd e inicie el demonio del servicio:
    service nslcd start

Entre los problemas comunes se pueden incluir:

  • Certificado SSL de transporte seguro de LDAP no instalado en el servidor de LDAP/AD.
  • Verificación del certificado de CA fallida: deje como comentario la línea tls_cacert en /etc/nslcd.conf e intente con tls_reqcert never.  Una ejecución correcta demuestra que la verificación del certificado está fallando.
    • El certificado de CA raíz no está en el formato PEM.
    • Se usa el certificado de la CA emisora en lugar del certificado de CA raíz.
    • El nombre del certificado SSL del servidor de LDAP no coincide con su nombre de host.
  • DN base incorrecto.
  • El usuario de vinculación o la contraseña de LDAP no se especificaron correctamente.
  • Especificación incorrecta de ldaps:// en lugar de ldap:// en la línea uri de /etc/nslcd.conf. ldaps:// solo se debe utilizar cuando se usa LDAPS y no se usa el comando start_tls.
  • Los usuarios y los grupos de Active Directory no tienen los atributos uidNumber ni gidNumber configurados.
  • El firewall de la red está bloqueando las comunicaciones.
  • El nombre de host del servidor de LDAP especificado no se puede resolver.
    • Configuración incorrecta de DNS en /etc/resolv.conf.
    • Se especificó un nombre de host incorrecto en la línea uri de /etc/nslcd.conf.

Con esto finaliza la configuración de LDAP en NSS. A continuación, vaya a Probar la funcionalidad de NSS.

Probar la funcionalidad de NSS

Para probar si NSS está funcionando con cualquiera de los servicios NSS anteriores, use los siguientes comandos:

getent passwd <pamUser>
getent group <groupOfPamUser>

La salida debe ser similar a:

[root@~]# getent passwd myuser
myuser:*:10000:10000::/home/myuser:/bin/sh

[root@~]# getent group mygroup
mygroup:*:10000:myuser3

  • Si ninguno de los comandos produce salida, NSS no está funcionando correctamente para la autorización externa. Consulte la orientación sobre la solución de problemas correspondiente a su módulo NSS que se proporciona en este documento.
  • Si los comandos getent se ejecutan correctamente y la autenticación correcta se confirma en /var/log/secure, pero Security Analytics continúa sin permitir el inicio de sesión de usuarios externos:
    • ¿Se especificó el nombre de grupo correcto para el grupo NSS en el mapeo de grupo externo de SA?  Consulte Activar PAM y crear mapeos de grupo a continuación.
    • Es posible que la configuración de NSS haya cambiado y que Security Analytics no haya reconocido el cambio.  Un reinicio del host de Security Analytics hará que Security Analytics reconozca los cambios en la configuración de NSS.  Un reinicio de jettysrv no es suficiente.

Continúe con la sección siguiente, Habilitar PAM en el servidor de Security Analytics.

Habilitar PAM en el servidor de Security Analytics

  1. Inicie sesión en Security Analytics y, en el menú de Security Analytics, seleccione Administration > Seguridad.
    La vista Seguridad de Administration se muestra con la pestaña Usuarios abierta.
  2. Haga clic en la pestaña Configuración.
  3. En Autenticación externa, seleccione PAM y haga clic en Aplicar.

PAM se activa y Active Directory se desactiva automáticamente. Los ajustes de configuración de Active Directory se almacenan y se ocultan. Continúe con la sección final, Crear mapeos de grupo en el servidor de Security Analytics.

Crear mapeos de grupo en el servidor de Security Analytics

  1. En la vista Seguridad, haga clic en la pestaña Mapeo de grupo externo.
  2. Mapee los nombres de grupo externo a las funciones de Security Analytics correspondientes, como se describe en Paso 5. (Opcional) Mapear funciones de usuario a grupos externos.
    El nombre del grupo externo y el nombre de la función de Security Analytics deben coincidir.
    Por ejemplo, Analistas y Analistas, pero no Analistas y Analista. 
You are here
Table of Contents > Configurar la seguridad del sistema > Paso 4. (Opcional Configurar la autenticación externa > Configurar la funcionalidad de inicio de sesión PAM

Attachments

    Outcomes