Mostrando entradas con la etiqueta sudo. Mostrar todas las entradas
Mostrando entradas con la etiqueta sudo. Mostrar todas las entradas

viernes, 27 de diciembre de 2013

Conceptos Básicos: El Agente de Centrify

El Cliente de Centrify para Directorio Activo
Conocido por su nombre de producto: DirectControl (o adclient internamente) es el producto de integración con el Directorio Activo.  Este usa los servicios LDAP, Kerberos y de Normativa de Grupo.  El agente tiene más de 10 años en el mercado en los que ha incrementado el número de plataformas operativas y también proporciona servicios de gestión de usuarios privilegiados.

 

 Los módulos que constituyen el agente son los siguientes:
  • Módulo NSS:  Usa la facilidad NSS para presentar el AD como una fuente para passwd, group y shadow. 
  • Módulo PAM:  La autenticación es implementada mediante objeto compartido que usa Módulos de Autenticación (PAM)  
  • Librerías y Utilidades Kerberos:  Ofrece una implementación de MIT Kerberos compilada y probada con la implementación de Kerberos del Directorio Activo.
  • Motor de directivas de grupo:  Interpreta y procesa las directivas de grupo del AD en las plataformas UNIX, Linux y Macintosh (Mac OS X).
  • sudo preparado por Centrify:  Una versión de sudo que usa los roles definidos en el directorio activo.
  • Herramientas de la linea de comando:  Centrify ha implementado los comandos del agente (con el prefijo ad), de autorización (con el prefijo dz) y de auditoría (con el prefijo da).
  • Servidores proxy LDAP y NIS:  Estos servicios presentan la información del AD a sistemas que no pueden tener el agente instalado (como appliances o sistemas legado)
  • Depósito de credenciales fuera de linea:  Proporciona alto desempeño (ya que no requiere conexiones persistentes a las controladoras del dominio) y alta disponibilidad (en caso de que el AD no esté disponible, los usuarios pueden iniciar sesiones en los sistemas)
  • Módulos Externos:  Son servicios SSO facilities para servidores Apache, Tomcat, Java y bases de datos DB2.

Comunicación con el Directorio Activo
El agente usa los siguientes puertos de comunicación para conversar con el AD:
Port
Description
TCP 389
Servicio LDAP
TCP 3268
Catálogo Global (Global Catalog Search)
TCP 88
Servicio de Tickets de Kerberos (Kerberos TGT)
TCP 464
Cambios de contraseña en Kerberos
(Kerberos password changes (passwd, adpasswd))
TCP 123
Sincronización de Tiempo
(Network Time Protocol (NTP))
TCP 53
Cliente DNS
(DNS query for A and SRV records)
TCP 445
Opcional:  Protocolo CIFS para obtener objetos de normativa de grupo
(Optional:  SMB to read Group Policies)
Ephemeral Ports
Puertos efímeros requeridos para comunicacion.
(Required for communication)

Las comunicaciones entre el cliente de Centrify y las controladoras de dominio son mutuamente autenticadas y cifradas.  Para más información, ver este artículo.

jueves, 26 de diciembre de 2013

Conceptos Básicos: La Administración de Control de Accesos Tradicional en UNIX y Linux

Múltiples Capacidades-Múltiples Soluciones

Tradicionalmente los sistemas UNIX y Linux usan componentes separados para la implementación de servicios de directorio, resolución de nombres, autenticación, gestión de usuario privilegiado, auditoria y gestión de configuración. 
Nota de moderación: En este blog, se va a referir a la familia de sistemas operativos UNIX (incluyendo a Linux) como UNIX.

Servicios de Directorio en UNIX
Las plataformas UNIX han estado presentes en computación hace varias décadas; estas plataformas son la base del Internet, o sea que su legado es importante para la historia de la tecnología moderna;  con en nacimiento de las plataformas de código abierto la popularidad de estas plataformas ha crecido de manera exponencial.
Este legado implica que tanto las cosas buenas como los desafíos siguen presentes en la plataforma, por ejemplo los usuarios en sistemas UNIX existen:
  • Localmente en el archivo /etc/passwd, o
  • en un  sistema Network Information System (NIS), o
  • en un servicio de directorio dedicado LDAP (como OpenLDAP), o
  • en soluciones comerciales y hasta en el Directorio Activo
El Name Server Switch
Name Server Switch (o NSS, siglas en Inglés) es un mecanismo para proporcionar fuentes de configuración (incluyendo servicios de directorio) de manera que cada programa use la facilidad en vez de tener que ser compilado para cada servicio independiente.  Fue creado por Sun Microsysems (ahora Oracle) para el sistema operativo Solaris.  Es sumamente importante entender NSS ya que es una de los interfaces usados por Centrify para proporcionar servicios  con el Directorio Activo.  El archivo de configuración de NSS en las plataformas UNIX está ubicado en /etc/nsswitch.conf.

Servicios de Autenticación en UNIX
Al igual que los servicios de directorio, la autenticación en UNIX se puede efectuar de las siguientes maneras:
  • Localmente contra el archivo/etc/shadow
  • En un archivo remoto presentado por un dominio NIS
  • Con Kerberos (ejemplos: MIT Kerberos or Heimdal)
Los Pluggable Authentication Modules
Debido a la misma razón de existencia que NIS; Los Módulos de Autenticación Modular (siglas PAM en Inglés) permiten el uso de interfaces de programación para efectuar la autenticación mediante objetos compartidos.  Los módulos PAM se pueden apilar para acomodar múltiples fuentes ó aspectos de la autenticación.  Por ejemplo, un módulo de cuentas (account) puede verificar si la cuenta del usuario es válida en el directorio remoto, el módulo de contraseñas (password) puede verificar si la contraseña ingresada es correcta; el módulo de sesión (session) puede presentar un mensaje del sistema al usuario durante el inicio de sesión.  
Junto con NSS, Centrify usa un módulo PAM para proporcionar servicios de autenticación mediante la implementación de Kerberos del Directorio Activo.

Resolución de Nombres en UNIX/Linux
El servidor BIND es el estándar por defecto para proporcionar servicios DNS en UNIX. 
El cliente (basado en la plataforma) se configura mediante el archivo /etc/resolv.conf file.

Gestión de Usuarios Privilegiados en UNIX/Linux
Cuentas compartidas:
En UNIX, la cuenta de super usuari (root) es equivalente a un Dios.  Esta puede impersonar cualquier usuario y puede apoderarse de cualquier archivo o proceso.  Lamentablemente es muy común (hasta en empresas con alto nivel de madurez) que las credenciales del super usuario son compartidas por el personal de TI.  Esto se presta a abuso o error y es generalmente una mala práctica ya que minimiza la posibilidad de establecer la responsabilidad de las acciones del usuario final.
La práctica de usar cuentas compartidas es generalmente considerada como una mala práctica de seguridad que amerita un comentario de auditoría.
sudo
sudo es una utilidad de gestión de privilegios que permite al usuario final la ejecución de un programa en el contexto de seguridad de otro usuario.  Usa el archivo /etc/sudoers.  Esta práctica es bastante confiable y común.

Soluciones Comerciales:
En el mercado existe una variedad de soluciones para resolver el tema de la gestión de privilegios en UNIX.  En este blog noes enfocaremos en el uso del Directorio Activo y Centrify, sin embargo, otros productios incluyen:
  • Soluciones que ussan programación:  com PowerBroker de BeyondTrust
  • Bóvedas de contraseñas:  Como Cyber-Ark
  • A nivel de Kernel:  como Access Control de Computer Associates.

Contabilidad/Auditoría en UNIX/Linux
El syslog es el repositorio principal de mensajes e incluye los eventos de seguridad.  Nota importante, cuando se usa la cuenta de super usuario algunos eventos no son registrados en el syslog!!!!

Administración de Configuraciones on UNIX/Linux
Tradicionalmente, la gestión de configuración se consigue mediante el uso de programas o scripts creados por los administradores de sistemas.  Sin embargo esta técnica no es atractiva a las grandes empresas (a menos que sea una empresa tecnológica como Google o AOL que pueden comercializar los programas desarrollados internamente); por esto tienden a usar soluciones comerciales como Chef, Puppet, etc.