domingo, 12 de enero de 2014

Laboratorio # 2: Implementando los sistemas UNIX/Linux en el Laboratorio Base

En este laboratorio
  1. Se instalarán los sistemas CentOS 6.5, SUSE 10 SP3 y Solaris 5.10
  2. Se verificarán las configuraciones de red (TCP/IP) y del servicio SSH de los sistemas UNIX/Linux.
  3. Se modificarán los sistemas para que no lanzen los ambientes gráficos
  4. Se verificará que el servicio Name Server Cache Daemon (NSCD) funciona automáticamente.
  5. Se crearán usuarios locales en los sistemas y se habilitará la facilidad sudo::
    Dos usuarios en cada sistema y Jessie Matthews (jmatthews):
    Dos usuarios en el sistema de base de datos (CEN1); Jeremy Silva (jsilva) & Ramon Jimenez (rjimenez)
    Dos usuarios en el sistema web  (SUSE1); Doyle Russell (drussell) & Matt Sims (msims)
    A los usuarios centrifying, jmatthews se asignarán al grupo wheel group para que puedan elevar privilegios con sudo.
  6. Se comprobará la conectividad entre el sistema CLIENT1 y los sistemas usando el cliente SSH PuTTY 
  7. Se copiarán los agentes de Centrify en la plataforma correspondiente
Requerimientos del laboratorio

Instalación de los sistemas UNIX/Linux

Los sistemas en esta guía:
  • CentOS 6.5 (CEN1) con dirección IP 10.0.0.151
  • Novell SUSE 10 (SUSE1) con dirección IP  10.0.0.152
  • Solaris 5.10 x86 (SOL1) con dirección IP  10.0.0.153  

Para configurar los Sistemas UNIX/Linux
Siga las instrucciones para cada plataforma:
En el sistema CEN1
  1. Ingrese al sistema con con una cuenta que pueda elevar con sudo o con  super usuario y abra una terminal.
  2. Verifique si el sistema está corriendo el servicio NetworkManager (NM)
    service NetworkManager status
    NetworkManager (pid ####) is running

    Nota: Siga los pasos apropiados si no usa el NetworkManager
  3. Edite el archivo /etc/sysconfig/network con:HOSTNAME=cen1.corp.contoso.com
  4. Copie la dirección MAC del interfaz: (Ejemplo eth0 with the Mac address 00.0c.29.2b.b7.ca)
    ifconfig eth0 | grep HWaddr
    eth0   Link encap: Ethernet  HWaddr  00:0C:29:2B:B7:CA
  5.  Edite (o cree) el archivo /etc/sysconfig/network-scripts/ifcfg-<interfaz> y ingrese (o edite) las siguientes lineas:  (con el ejemplo anterior)
    DEVICE=eth0
    NM_CONTROLLED=yes
    ONBOOT=yes
    HWADDR=00:0C:29:2B:B7:CA
    IPADDR=10.0.0.151
    NETMASK=255.255.255.0
    DNS1=10.0.0.1
  6. Reinicie el servicio de la red:
    service network restart
  7. Verifique la configuración (hostname, configuración DNS, prueba ping test a crl.corp.contoso.com)
    # hostname
    cen1.corp.contoso.com
    # cat /etc/resolv.conf    (busque las siguientes lineas)
    search corp.contoso.com
    nameserver 10.0.0.1
    # ping crl
    PING crl.corp.contoso.com (10.0.0.3) 56(84) bytes of data.
    64 bytes crl.corp.contoso.com (10.0.0.3): icmp_seq=1 ttl=128 time=17.2 ms

    Esto verifica que la configuración de la red está correcta y que el sistema tiene configurado a DC1 como su servidor DNS.
  8. Cerciórese que el servidor SSH está corriendo:
    chkconfig | grep ssh
  9. Si el servicio está apagado en los niveles de operación 3 y 5, habilite con este comando:
    chkconfig sshd on --level 35
  10. Instale y habilite el servicio NCSD: 
    rpm -Uvh 
    nscd-2.12-1.132.el6.x86_64.rpm
    chkconfig nscd on --level 35
    service nscd start
  11. Asegúrese que el servidor SSH está configurado para la autenticación con el módulo PAM y que la opción de ChallengeResponse está habilitada.  En el archivo /etc/ssh/sshd_config edite las siguientes lineas:
    UsePAM  yes
    ChallengeResponseAuthentication yes

    Si hay lineas con los valores negativos, estas deben ser comentadas (con el signo de libra #) de lo contrario la última linea procesada será la configuración efectiva.
  12. Hay que crear los usuarios administrativos y los DBAs:
    useradd -m -c "Centrifying User" centrifying
    useradd -m -c "Jeremy Silva" jsilva
    useradd -m -c "Ramon Jimenez" rjimenez
    useradd -m -c "Jesse Matthews" jmatthews (usuario administrativo)
  13. Para otorgar privilegios administrativos a Jessie y Centrifying
    usermod -G wheel centrifying
    usermod -G wheel jmatthews
  14. Configure Sudo en el sistema
    vi /etc/sudoers
    Solo hay que quitar el comentario a la linea del grupo wheel.
    %wheel ALL=(ALL)       ALL
    Grabe el archivo.
En el sistema SUSE1
  1. Ingrese al sistema con con una cuenta que pueda elevar con sudo o con  super usuario y abra una terminal.
  2. Edite el archivo /etc/hostname (o copie uno nuevo si no existe) con esta linea:
    suse1
  3. Edite el archivo /etc/hosts.  Escriba el nombre del sistema en la linea correspondiente:
    127.0.0.1       localhost  suse1
  4. Edite el archivo /etc/resolv.conf  y añada estas lineas:
    search corp.contoso.com
    nameserver 10.0.0.1
  5.  Edite (o cree) el archivo /etc/sysconfig/network-scripts/ifcfg-<interfaz> y ingrese (o edite) las siguientes lineas:  (con el interfaz eth0)
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=10.0.0.152
    NETMASK=255.255.255.0
  6. Reinicie el servicio de red:
    service network restart
  7. Verifique la configuración (hostname, configuración DNS, prueba ping test a crl.corp.contoso.com)
    # hostname
    suse1
    # cat /etc/resolv.conf    (busque las siguientes lineas)
    search corp.contoso.com
    nameserver 10.0.0.1
    # ping crl
    PING crl.corp.contoso.com (10.0.0.3) 56(84) bytes of data.
    64 bytes crl.corp.contoso.com (10.0.0.3): icmp_seq=1 ttl=128 time=17.2 ms

    Esto verifica que la configuración de la red está correcta y que el sistema tiene configurado a DC1 como su servidor DNS.

  8. Cerciórese que el servidor SSH está corriendo:
    chkconfig | grep ssh
  9. Si el servicio está apagado en los niveles de operación 3 y 5, habilite con este comando:
    chkconfig sshd on --level 35
  10. Cerciórese que el servicio NCSD está corriendo

    chkconfig --list | grep nscd
    nscd      0:off  1:off  2:off  3:on   4:off  5:on   6:off
  11. Si el servicio está apagado en los niveles de operación 3 y 5, habilite con este comando:
    chkconfig nscd on --level 35
  12. Asegúrese que el servidor SSH está configurado para la autenticación con el módulo PAM y que la opción de ChallengeResponse está abilitada.  En el archivo /etc/ssh/sshd_config edite las siguientes lineas:
    UsePAM  yes
    ChallengeResponseAuthentication yes

    Si hay lineas con los valores negativos, estas deben ser comentadas (con el signo de libra #) de lo contrario la última linea procesada será la configuración efectiva.
  13. Hay que crear los usuarios administrativos y los Usuarios Web:
    useradd -m -c "Centrifying User" centrifying

    useradd -m -c "Doyle Russell" drussell
    useradd -m -c "Matt Simms" msimms
    useradd -m -c "Jesse Matthews" jmatthews
    Nota:  el comando useradd está en /usr/sbin en caso que no esté en el path.
  14. Para otorgar privilegios administrativos a Jessie y Centrifying
    usermod -G wheel centrifying
    usermod -G wheel jmatthews
  15. Configure Sudo en el sistema
    vi /etc/sudoers
    Solo hay que quitar el comentario a la linea del grupo wheel.
    %wheel ALL=(ALL)       ALL
    Grabe el archivo.
En el Sistema SOL1

En un sistema Solaris,hay que cambiar estos archivos para cambiar la configuración de red:
/etc/nodename
/etc/hostname.interface
/etc/inet/hosts
/etc/inet/ipnodes
/etc/defaultdomain
/etc/netmasks
/etc/defaultrouter 
/etc/resolv.conf 
/etc/nsswitch.conf 
 No se configurará el default gateway (default router) por ahora
  1. Ingrese al sistema con con una cuenta que pueda elevar con sudo o con  super usuario y abra una terminal.
  2. Si el sistema está configurado para usar DHCP, borre el archivo /etc/dhcp.<interface> (por ejemplo: dhcp.e1000g0)
  3. Edite el nombre del nodo en el archivo the /etc/nodename con esta linea
    sol1
  4. Edite el nombre del sistema en el archivo /etc/hostname.<interface>  file (e.g e1000g0  /etc/hostname.e1000g0) con esta linea:
    sol1
  5. Edite el archivo /etc/inet/ipnodes  y añada esta linea
    10.0.0.153    sol1
  6. Edite el archivo  /etc/inet/hosts  y añada esta linea
    10.0.0.153    sol1
    también modifique esta linea
    127.0.0.1 localhost sol1
    Cerciórese que no hay "localhost.localdomain"
  7. Edite el archivo /etc/defaultdomain file  (hay que crear el archivo si no existe), sólo escriba esta linea:
    corp.contoso.com
  8. Edite el archivo /etc/netmasks y añada esta linea
    10.0.0.0    255.255.255.0
  9. Edite el archivo/etc/resolv.conf file añada estas lineas:
    search corp.contoso.com
    nameserver 10.0.0.1
  10. Verifique que el archivo /etc/nsswitch.conf está configurado para resolver nombres usando DNS.  Añada la entrada 'dns' si es necesario.  Puede verificar esto con el comando
    cat /etc/nsswitch.conf | grep dns  
    Los resultados deben ser asi (editelo si es necesario)
    hosts:    files dns
    ipnodes:  files dns
  11. Probablemente tendrá que reiniciar el sistema (si cambió el archivo /etc/nsswitch.conf o reiniciar la red
    svcadm restart physical
  12. Verifique la configuración (hostname, configuración DNS, prueba ping test a crl.corp.contoso.com)# hostnamesuse1
    # cat /etc/resolv.conf    (busque las siguientes lineas)

    search corp.contoso.com
    nameserver 10.0.0.1
    # ping crl
    crl is alive

    Esto verifica que la configuración de la red está correcta y que el sistema tiene configurado a DC1 como su servidor DNS.
  13. Verifique que el servicio NCSD está corriendo:
    $
    svcs \*name-service-cache\*STATE          STIME    FMRIonline         Dec_24   svc:/system/name-service-cache:default
  14. Hay que crear los usuarios administrativos:
    useradd -m centrifying
    useradd -m -c "Jesse Matthews" jmatthews

Modifique los equipos para que inicien en modo de interfaz gráfico
No usaremos los ambientes gráficos (GUI) ya que estos se usarán con el propósito de servidores

En los sistemas CEN1 y SUSE1
  1. Ingrese al sistema con con una cuenta que pueda elevar con sudo o con  súper-usuario y abra una terminal
  2. Edite el archivo /etc/inittab
    id:3:initdefault:
  3. Reinicie el equipo para que arranque en modo multi-usuario de servidor.
 En el sistema SOL1
  1. Ingrese al sistema con con una cuenta que pueda elevar con sudo o con  súper-usuario y abra una terminal
  2. Deshabilite el ambiente gráfico
    /usr/dt/bin/dtconfig -d
  3.  El escritorio CDE o Java desktop ha sido deshabilitado, reinicie el equipo para que arranque en modo multi-usuario de servidor.

Pruebe la conectividad con el cliente PuTTY
  1. Inicie en el equipo CLIENT1 con el usuario jessie.matthews.
  2. Abra  el programa PuTTY y pruebe conexiones a todos los sistemas con su nombre (no con su dirección IP)
  3. Opcional:  Grabe la sesión para cada equipo.
Nota:  No se recomienda que se permita el acceso de la cuenta de super usuario (root) con una terminal SSH.  Si prefiere hacer esto en su laboratorio (no es recomendado para que no se desarrollen malos habitos), hay que cerciorarse que el parámetro PermitRootLogin  está habilitado en el archivo de configuración del servidor SSH (/etc/ssh/sshd_config).
    Copiado del agente de Centrify en los Sistemas
    1. En el sistema CLIENT1, en el Explorador de Windows y abra la carpeta de red \\APP1\Files
    2. Abra el programa WinSCP
    3. Establezca una conexión a CEN1 con un usuario privilegiado.  Crear una nueva carpeta llamada Temp en el sistema de archivo raiz (/)
    4. Abra /Temp
    5. Tome el archivo centrify-suite-2013.3-rhel3-x86_64.tgz de la carpeta  \\APP1\Files y copiela la carpeta /temp en la ventana WinSCP, confirme la copia.
    6. Repita el proceso en los sistemas siguientes:
      centrify-suite-2013.3-sol9-x86.tgz va en la carpeta /temp de SOL1
      centrify-suite-2013.3-suse9-x86_64.tgz va en la carpeta  /temp de SUSE1
    7. Cierre la sesión en CLIENT1
    Estado final del Laboratorio


    martes, 7 de enero de 2014

    Laboratorio # 1: Preparando el Laboratorio Base de Pruebas de Microsoft para Centrify

    Resumen del Laboratorio

    En este laboratorio, modificaremos el Laboratorio Base de Pruebas de Microsoft para:
    1. Implementar un recordatorio de expiración de contraseña 30 días antes de su expiración.
    2. Implementar una advertencia de login para los usuarios
    3. Asignar la subred 10.0.0.0/24 Subnet al Sitio de Active Directory (Default-First-Site-Name)
    4. Cambiar el nombre del sitio a "CorpHQ"
    5. Crear nombres DNS tipo "A"  para los sistemas UNIX y Linux.
    6. Crear una zona DNS de búsquedas reversa (reverse-lookup) en corp.contoso.com para la subred  (10.0.0./24)
    7. Instalar e habilitar las herramientas de administración remota del servidor para Windows 7 SP1 en el sistema  CLIENT1
    8. Instalar los programas PuTTY y WinSCP en el sistema CLIENT1 
    9. Crear usuarios de prueba
    10. Obtener y copiar los productos de Centrify para Servidores en la carpeta Files del servidor APP1
    Los roles de los servidores en el laboratorio son los mismos
    • DC1 es la controladora del dominio, DNS, DHCP y la autoridad certificadora
    • APP1 es el primer servidor de aplicaciones, contiene la lista de certificados revocados y una carpeta compartida (Files)
    • CLIENT1 es un cliente.  Para nuestro propósito, será el sistema para los administradores de sistemas.  Se usará el cliente PuTTY para acceder a los sistemas con SSH, también se instalarán las consolas de Centrify.

    Requerimientos del Laboratorio
    • Solo se requieren los sistemas  DC1, APP1 y CLIENT1

    Para modificar los objetos de Directivas de Grupo

    En DC1
    Para habilitar el recordatorio de expiración de contraseña 30 días antes de su expiración.
    1. Ir a Start, click a Administrative Tools y abra Group Policy Management.
    2. En la consola de la izquierda, abra corp.contoso.com\Domains\corp.contoso.com.
    3. En los detalles, haga click derecho a  Default Domain Policy, y seleccione Edit.
    4. En el lado izquierdo del Editor dirijase a  Configuration\Policies\Windows Settings\Security Settings\Local Policies\Security Options
    5. En el lado derecho, en los detalles, abra Interactive Logon: Prompt user to change password before expiration
    6. En la pestaña de  Security Policy Setting, seleccione Define this policy setting, y digite 30 (days) y presione OK.

    Para implementar una advertencia de login
    1. Abra el objeto Interactive logon:  Message text for users attempting to log on GPO 
    2. Haga un chequeo y copie el siguiente texto:
      "This computer system is for authorized use only. Users have no explicit or implicit expectation of privacy.Any or all uses of this system and all data on this system may be intercepted, monitored, recorded, copied, audited, inspected, and disclosed to authorized sites and law enforcement personnel, as well as authorized officials of other agencies. By using this system, the user consent to such disclosure at the discretion of authorized site personnel"
    3. Presione OK y cierre el editor de directivas de grupo.
    Para renombrar el sitio de directorio activo
    1. Abra Start - Administrative Tools y haga click en Active Directory Sites and Services.
    2. En el lado izquierdo, expanda sites y haga click derecho a Subnets.
    3. En la ventana New Object - Subnet , bajo el prefijo, inserte: 10.0.0.0/24 y seleccione click the "Default-First-Site-Name" luego presione OK. 
    4. En el lado izquierdo, abra Sites, y haga click derecho en "Default-First-Site-Name" y seleccione Rename.
    5. Cambie el nombre a CorpHQ
    6. Cierre el programa Active Directory Sites and Services
    Para crear una zona DNS de búsqueda reversa para la subred 10.0.0.0.
    1. Abra Start -Administrative Tools, y haga click en DNS Manager.
    2. En el lado izquierdo, abra el servidor DC1,  haga click derecho en Reverse-lookup zones y seleccione New Zone.
    3. Presione Next y Next en la ventana Zone Type (Primary / Stored in AD), presione next en la ventana Replication Scope, presione Next en la ventana Reverse-lookup Type (IPV4)
    4. En el campo Network ID, escriba 10.0.0 y presione Next
    5. Presione Next en la Dynamic Update Page y luego presione Finish.
    6. Deje el programa DNS Manager abierto para las siguientes tareas
    Para crear nombres tipo A para los sistemas UNIX/Linux

    Las direcciones IP de los sistemas son:

    Sistema
    Dirección IP
    Rol
    CEN1
    10.0.0.151
    Sistema de Bases de Datos
    SUSE1
    10.0.0.152
    Sistema servidor Web
    SOL1
    10.0.0.153
    Servidor de Utilidades

    En el programa DNS Manager:
    1. En el lado izquierdo, expanda el servidor DC1 y expanda Forward-lookup Zones
    2. En el lado izquierdo, haga click derecho en la zona corp.contoso.com y seleccione New Host (A or AAA)
    3. En la ventana New Host, escriba el nombre del sistema (por ejemplo CEN1)
    4. Escriba la dirección IP del sistema correspondiente (por ejemplo: 10.0.0.151)
    5. Seleccione el check-box Check the Create associated pointer (PTR) y pressione el botón Add Host
    6. Repita hasta que se completen todos los sistemas.
    7. Cierre el programa DNS manager y cierre la sesión en el sistema DC1

    Instale y habilite las Herramientas de Administración Remotas con SP1 en el sistema CLIENT1
    1. Entre al sistema CLIENT1 con una cuenta administrativa del dominio CORP.CONTOSO.COM
    2. Descargue las herramientas RSAT SP1.
      http://download.microsoft.com/download/4/F/7/4F71806A-1C56-4EF2-9B4F-9870C4CFD2EE/Windows6.1-KB958830-x64-RefreshPkg.msu 
    3. Inicie la instalación y presione Yes cuando aparezca la pregunta.
    4. Presione el botón I Accept para iniciar la instalación.  Cuando la instalación termine, presione close.
    5. Para habilitar las herramientas administrativas del directorio activo (ADUC, GPMC, etc), abra el Control Panel y haga click en Programs and Features
    6. En el lado izquierdo, seleccione "Turn Windows features on or off
    7. Expanda Feature Administration Tools y haga un check a Group Policy Management
    8. Expand los nodos Remote Server Administration Tools > Role Administration Tools > AD DS and AD LDS Tools and y haga un check en:
      AD DS Snap-ins and command-line tools
      AD LDS Snap-ins and command-line tools
    9. Presione OK
    10. Mantenga la sesión en el sistema CLIENT1.
    Descargue los programas PuTTY y WinSCP en el sistema CLIENT1
    1. Descargue el programa PuTTY
    2. Instale PuTTY, siguiendo las instrucciones.
    3. En la ventana "Select Additional tasks", haga un check en "Create Desktop Icons for all users".
    4. Descargue WinSCP
    5. Instale WinSCP, siguiendo las instrucciones.
      Cerciórese que no seleccione ningún componente en la página Google Chrome
    6. Mantenga la sesión en el sistema CLIENT1.
    Creación de Usuarios de Prueba
     Primero, hay que crear la OU llamada Staff. 
    1. Abra Start > Administrative Tools > Active Directory Users and Computers
    2. En el lado izquierdo, haga click derecho en el dominio corp.contoso.com, seleccione New->Organizational Unit
    3. En la ventana New Object, en el campo Name escriba Staff y presione OK.
    Creación de los usuarios en la OU Staff.
    1. Haga click derecho en la OU Staff, seleccione New->User
    2. Complete Primer Nombre (First Name), Apellido (Last Name) basado en la lista, y en user logon name, use este formato:  <firstname>.<lastname>
      Por ejemplo: bryant.wheeler y presione Next
    3. En la ventana siguiente, quite el check en "user must change password at next logon"
    4. Haga click a Next y a Finish
    Lista de Usuarios:

    Nombre
    Cargo
    Grupos
    Bryant Wheeler
    Windows Administrator
    Domain Admins
    Domain Users
    Jessie Matthews
    UNIX Administrator
    Domain Users
    Cora Rodriguez
    IT Security Analyst
    Domain Users
    Courtney Larson
    IT Manager
    Domain Users
    Jeremy Silva
    DBA UNIX
    Domain Users
    Ramon Jimenez
    DBA UNIX
    Domain Users
    Doyle Russell
    Web Administrator
    Domain Users
    Matt Sims
    Web Administrator
    Domain Users
    Cassandra Lindsey
    External Auditor
    Domain Users
    Ralph Baldwin
    Internal Auditor
    Domain Users

     Coloque a Bryant en el grupo Domain Admins.
    1. Abra la OU Staff
    2. Haga doble click en el usuario Bryant Wheeler y dirigase al tab Member of
    3. Presione Add y escriba Domain Admins presione OK dos veces.
    4. Cierre el programa Active Directory Users and Computers.
     Obtenga y copie el programa y los agentes de Centrify Server Suite software
    1. Para obtener el programa Centrify Server Suite, solicite una prueba aquí: request a trial.
    2. Descargue los programas de Centrify:
      a) Consolas:  http://www.centrify.com/support/package-info.asp?fn=centrify-suite-2013.3-mgmt-ent-win64.zip
      b) Agente para CentOS 64bit: http://www.centrify.com/support/download.asp?asset=centrify-suite-2013.3-rhel3-x86_64.tgz
      c) Agente para Solaris x86: http://www.centrify.com/support/download.asp?asset=centrify-suite-2013.3-sol9-x86.tgz
      d) Agente para SUSE 64bit: http://www.centrify.com/support/download.asp?asset=centrify-suite-2013.3-suse9-x86_64.tgz
    3. Copie estos archivos en la carpeta Files del servidor APP1
      Esto  hará que los archivos estén disponibles en la red bajo la carpeta de red \\app1\files.

    sábado, 4 de enero de 2014

    Problemas del Negocio: # 1 La Administración y Autenticación de Usuarios en Sistemas UNIX y Linux

    Información sobre nuestra empresa ficticia (Contoso):


    • Sus competencias en el mercado no son en tecnología (a diferencia de Google o Apple que podrían desarrollar soluciones internas que se pueden mercadear o vender)
    • Tienen un equipo de TI limitado y son conscientes de los costos.
    • Valoran la eficiencia operativa.  
    • Han acordado que hay que maximizar las inversiones en tecnologías como Directorio Activo en tanto a gente (preparación, experiencia), Procesos e Infraestructura.

    Problema # 1:  La Administración  y Autenticación de Usuarios en Sistemas UNIX y Linux


    Contoso está buscando empezar a procesar información de tarjetas de pago, y basándose en la normativa de protección de datos (Payment Card Industry o PCI en inglés) se embarcan en un proceso para implementar el reforzamiento de las siguientes reglas::
    • Eliminar la práctica de compartir credenciales privilegiadas
    • Establecer que todas las credenciales de usuarios en sistemas UNIX/Linux  estén únicamente identificadas (sección 8.1)
    • Que los usuarios de sistemas UNIX puedan iniciar sesiones con sus credenciales del directorio activo
    • Cerciorarse de que cuando las credenciales son habilitadas / deshabilitadas / limitadas en el servicio de directorio central, este efecto se propague a los sistemas UNIX y Linux
    • Las políticas de contraseñas sean reforzadas uniformemente en todas las plataformas (Windows, UNIX, Linux, etc.)
    • Preferiblemente las credenciales (incluyendo las contraseñas) sean implementadas de manera nativa, sin esquemas de sincronización.

    Del punto de vista de cada grupo:

    Administrador de Sistemas
    UNIX/Linux
    - Con el tiempo se ha hecho muy difícil mantener las cuentas de usuario en cada servidor
    - Existen algunos mapeos NIS que deben ser descontinuados.
    - Cada vez que los auditores solicitan información, requiere un gran esfuerzo del equipo.
    - Las cuentas de súper usuario (root), Oracle, etc son compartidas y es difícil establecer la responsabilidad de ciertas acciones
    - Idealmente las cuentas de servicios del sistema deben ser mantenidas internamente en el sistema.
    Analista de seguridad de la información
    -         Como pronto vamos a empezar a procesar tarjetas de pago, es imperativo cerciorase que las cuentas privilegiadas no son compartidas entre varios individuos
    -          Todos los usuarios deben tener un identificador único, preferiblemente en el directorio central (AD).
    -          Hay que cerciorarse que la política de contraseñas (longitud, complejidad y expiración) ya existentes para clientes Windows, se pueden reforzar en sistemas UNIX/Linux
    Gerente de Sistemas o Arquitecto
    -          El flujo de trabajo para alta, baja y cambios de credenciales, al igual que de restauración de contraseñas es muy complicado.  Demasiado personal debe involucrarse y hay alto nivel de error
    -          Debemos estar listos para procesar información sobre tarjetas de pago
    -          Existe un sistema de Gestión de Identidades (Microsoft FIM) y nos encantaría usarlo para estandarizar los procesos.
    Administrador de sistemas Windows (incluyendo el servicio de directorio activo)
    -          Preferiblemente la solución implementada debe usar el directorio de manera nativa, sin extensiones propietarias al esquema de la base de datos y sin instalar programas en controladoras del dominio
    -          Debemos conservar el mismo modelo de almacenamiento y convenciones de nombres que existen en el directorio el día de hoy.

    Actividades de Planificación (participantes)



    Estas son las actividades de planificación con los respectivos participantes.  En proyectos de esta índole, no solo se debe adquirir o contratar el conocimiento cognitivo, sino que la coordinación y cooperación entre equipos e individuos también es un desafío.  Este tipo de soluciones desafían el modo de trabajo actual, y en organizaciones donde hay un alto nivel de fragmentación se presenta el síntoma de resistencia al cambio.  Se deben tomar decisiones, puntos medios deben ser encontrados, etc.  

    Gobernación de Acceso  (entre todos)
    Luego de conversar con el analista de seguridad, al evaluar el tipo de servidores existentes, y para promover la simplicidad, el administrador de UNIX decide que van a existir dos grupos de sistemas: 
    • Servidores de Bases de Datos
    • Servidores Web
    Acceso y Gestión de Privilegios (entre todos)
    Inicialmente dos roles:  Administradores de Sistemas y Usuarios Regulares
    Los Administradores de Sistemas tendrán el derecho de ingresar a todos los sistemas y efectuar labores administrativas.
    Los Administradores de Bases de Datos solo pueden iniciar sesiones en todos los servidores de bases de datos.
    Los Administradores Web  solo pueden iniciar sesiones en todos los servidores web

    Convenciones de Nombres y Almacenamiento de Objetos en el Directorio (entre los administradores de UNIX y del Directorio Activo)

    Luego de investigar el producto, se propone la siguiente estructuras:

    UNIX OU (padre)
    para almacenar las carpetas subsiguientes 
    Servers OU
    para almacenar los objetos de cuentas de computadoras
    Computer Groups OU
    para almacenar los grupos de AD que se usarán para los roles de computadora
    Roles OU
    para almacenar los grupos de AD que se usarán para los roles de los usuarios
    UNIX Groups OU
    para almacenar los grupos de AD que se corresponden a grupos en UNIX
    Licenses OU
    para almacenar la información sobre licencias
    Zones OU
    para almacenar la información pertinente a como el producto organiza los sistemas.


    Gestión de Identidades (Administradores UNIX/Windows y el analista de seguridad)
    Usuarios:  El proceso será manual hasta que se integre a la solución de gestión de identidades.  El administrador de sistemas UNIX trabajará para hacer la migración de usuarios existentes.  A partir de ese punto, cada usuario deberá tener una identidad única; los roles del usuario se proporcionarán luego de que la identidad es implementada.
    Sistemas:
    • Los administradores UNIX coordinarán con el grupo responsable por DNS para proporcionar la información IP.
    • Una vez el sistema está en el directorio, el agente de Centrify automáticamente manejará el reloj y el ambiente Kerberos del sistema.
    Delegación de Administración (Administradores UNIX/Windows y el analista de seguridad)
    • El administrador del directorio activo va a delegar la administración de la carpeta OU para los objetos UNIX/Linux a los administradores UNIX.  Esto les permitirá manipular identidades, integrar sistemas, etc.
    • Si se requiere un objeto de directiva de grupo (GPO) este debe ser creado por el administrador de Windows y delegado al Administrador UNIX
    Servicios de Infraestructura (Administradores UNIX/Windows y el analista de seguridad)
    • Hoy el servicio DNS y los servicios de sincronización de tiempo (NTP) están duplicados para cada infraestructura.  Se ha acordado usar los servicios proporcionados por el servicio de directorio activo en UNIX.
    Servicios de Monitoreo (Administradores UNIX/Windows y el analista de seguridad)
    • Los intentos de acceso fallidos deben ser registrados
    • El uso de privilegios debe ser registrado
    Herramientas Requeridas
    • Los Administradores UNIX requieren de la herramienta  Active Directory Users and Computers.
    • Las consolas de Centrify se instalarán en la computadora cliente.  

    jueves, 2 de enero de 2014

    Laboratorios: Metodología de los Laboratorios


    Una de las metas de este blog es proporcionar ejemplos prácticos que se pueden implementar en un entorno de producción o de pruebas para resolver los desafíos de la gestión de accesos e identidades en las plataformas UNIX y Linux.  Para aprovechar el tiempo y tener una configuración estándar, la metodología utilizarán  herramientas disponibles en el Internet.

    La problemática del negocio gobernarán los laboratorios
    Las laboratorios están diseñados para resolver los problemas empresariales de infraestructura y gestión de TI.  Se desarrollará una progresión de problemas y módulos dependientes;  esto ayudará a la audiencia a tener modelos de referencia que se pueden llevar a ambientes de producción.  Cada problemática será presentada en la perspectiva de los administradores UNIX, analista de seguridad de la información y gerente de TI;  si hay algunos detalles que se deben enfocar del punto de vista del administrador de Windows, estos serán presentados en la respectiva fase (Planificación-Ejecución-Verificación-Ajustes).

    La infraestructura de Windows y Directorio Activo
    Microsoft Technet tiene un excelente recurso en su serie de laboratorios de pruebas Test Lab Guides.  Este contenido está en Inglés, sin embargo, proporciona un modelo estándar de configuración que se puede aprovechar para establecer un modelo de referencia.  Los ejemplos presentados en el blog serán basados en la e configuración base para Windows Server 2008 R2.  Aquí está el diagrama:

    La configuración base proporciona:
    - Un bosque de Directorio Activo funcional (corp.contoso.com)
    - Una red interna (corpnet) 10.0.0.0/24
    - Servicios de resolución de nombre (DNS)
    - Sitios web y carpetas compartidas
    - Una unidad certificadora con sus listas de revocación de certificados

    DC1 es la controladora de dominio y unidad certificadora
    APP1 es el servidor de aplicaciones
    CLIENT1 es el cliente, la mayoría de la administración se hará desde esta computadora
    Las consolas de Centrify serán instaladas en este computador.
    Los sistemas EDGE and INET1 no son usados hasta mucho más tarde, o sea que con los tres básicos se puede iniciar.

    Infraestructura UNIX/Linux

    A pesar de que la infraestructura cambiará con el caso de uso, la estructura básica contiene 3 másquinas:
    - CEN1, un sistema CentOS 64 bit con la versión personal de  IBM DB2 (Express) y el servidor web Apache
    - SUSE1 un sistema SUSE 10 SP3 con la versión personal de Oracle
    - SOL1 un sistema  Solaris 10.

    Notas sobre la configuración base:
    • En la página 14, la guía recomienda que se configure la directiva de grupo "Domain member: Maximum machine account password age" al vaor de 999.  Esto quiere decir que la contraseña de la cuenta de la computadora en el AD cambiará cada 3 años.  En un modelo de producción, por defecto ese valor es de 30 días.  Este tema tiene implicaciones en la autenticación mutual del sistema.
    • Recomiendo cambiar el objeto de directiva de grupo "Interactive Logon: Prompt user to change password before expiration" a 30 días.  Esto cambiará el aviso a 30 días antes de su expiración.
    • Configure un  aviso corporativo cambiando el GPO "Interactive logon:  Message text for users attempting to log on" 
    Nuestro laboratorio final se verá así:


    Solo hay subscribirse a la sección de laboratorios para ser notificado.

    miércoles, 1 de enero de 2014

    Conceptos Básicos: El Protocolo Kerberos Simplificado

    Cerberus: el perro de tres cabezas

    Kerberos es un protocolo distribuido cliente servidor que usa los servicios de DNS, cifrado de información, sincronización de tiempo e intercambio de etiquetas (billetes o tickets) para proporcionar servicios de autenticación de manera segura.

    Del punto de vista de seguridad, Kerberos se alinea a los siguientes principios:
    • Mantiene la confidencialidad ya que las contraseñas nunca son transportadas en claro en la red.
    • Protege la integridad de las transacciones implementando mecanismos que aseguran que los intercambios no son modificados en el tránsito.
    • Provee alta disponibilidad (si es propiamente implementado) ya que se puede instalar de manera distribuida.
    Para que Kerberos funcione debe haber
    1. Un servicio de resolución de nombres bien configurado y que funcione correctamente (como DNS).
    2. Hay que tener un servicio de directorio para almacenar los nombres de los actores principales (como un servicio LDAP) y que los atributos estén almacenados correctamente en el mismo.
    3. Debe haber un servicio de distribución de llaves (KDC abreviado en Inglés)
    4. El reloj de los participantes no puede tener una diferencia de mas de 5 minutos (o sea que servicios de entronización de tiempo deben ser implementados)
    5. El software del cliente y el servidor deben ser compilados con compatibilidad con Kerberos.
    El Directorio Activo tiene todas estas capacidades, de hecho, cualquier red que usa Windows el día de hoy (desde la versión 2000) tiene una infraestructura que usa Kerberos; esto quiere decir que este protocolo es aprovechado por millones de usuarios empresariales día a día.  Una secuencia común es la siguiente:

    a) Bob inicia una sesión en su computador Windows en el principio del día.
    b) Al ser exitoso, se le otorga un billete especial llamado Ticket Granting Ticket o TGT en Inglés.  Este tiene una vigencia de 10 horas.
    c) Cuando Bob abre su cliente de correo electrónico (Outlook) este accede a su buzón y puede empezar a trabajar en sus tareas pendientes.

    Note que en esta secuencia, con una configuración normal, el cliente no tiene que ingresar su contraseña otra vez para acceder a su buzón, ya que su cliente de correos (Outlook) puede establecer la conexión con el servidor (Microsoft Exchange) y el Directorio Activo se encarga del resto.

    Veamos en mas detalles las funciones proporcionadas por el Directorio Activo:
    Función
    Proveedor
    Resolución de nombres (de hostname a dirección IP)
    Servicio DNS del AD
    Emite y valida billetes (tickets)
    Controladora de Dominio del AD
    Servicios de cifrado
    Controladora de Dominio del AD
    Define y hace cumplir las políticas de Kerberos
    Directivas de Grupo del AD y el cliente de directivas de grupo del computador cliente.
    Servicios de Directorio
    El servicio LDAP proporcionado por el AD
    Sincronización de tiempo
    Servicio w32time de la controladora de dominio y los clientes - configurado automáticamente.
    Alta disponibilidad y configuración uniforme
    Servicios de replicación del AD
    Cliente de correos con Kerberos
    Windows 7, Microsoft Outlook
    Servidor de correos con Kerberos
    Microsoft Exchange

    Ahora, contraste la fragmentación que existe para todos estos servicios en plataformas UNIX/Linux:

    Función
    Proveedor
    Resolución de nombres (de hostname a dirección IP)
    Servidor BIND
    Emite y valida billetes (tickets)
    Kerberos KDCs (MIT o Heimdal)
    Servicios de cifrado
    Para LDAP (SSL o TLS)
    Para Kerberos (autenticación)
    Define y hace cumplir las políticas de Kerberos
    Archivos de configuración
    Servicios de Directorio
    OpenLDAP  (u otros paquetes)
    Sincronización de tiempo
    Servicio Network Time Service (NTP) configurado manualmente.
    Alta disponibilidad y configuración uniforme
    Múltiples proveedores:
    -          LDAP Sync (para OpenLDAP)
    -        BIND maestro/esclavo
    -          Kerberos maestro/esclavo
    -          Archivadores y carpetas exportadas con archivos de configuración
    Cliente Kerberos de correos
    Existen muchos clientes de correos, pero no todos son compatibles con Kerberos

    Servidor de correos con Kerberos

    Es válido notar la cantidad diferente de productos y las implicaciones a los procesos, gente y tecnología que se requiere para mantener esta capacidad.  Solo imagine que se necesite personal experto para Planear-Ejecutar-Verificar y Mantener la infraestructura, los procesos de operaciones necesitados todo esto con el simple propósito de proporcionar autenticación, esta es la definición del problema de la fragmentación de los servicios de TI.

    Por eso es que en la  entrada anterior, el Gerente de informática está preocupado por la falta de flexibilidad que exhibe la organización.  Con tantos especialistas de soluciones de punta hay estrés en coordinación, cooperación y el nivel de especialización promueve la visión de túnel.

    Los nombres de entidad de seguridad de servicio (SPN Service Principal Names en Inglés)

    Estos son los nombres asociados con un servicio que se ejecutan en un contexto de seguridad  Ejemplos de servicios son servidores web, servidores de archivo, etc.
    Su sintaxis es: < tipo de servicio >/< nombre de host >:< puerto TCP o UDP >

    De manera práctica, si el servicio web (digamos el servidor Apache o httpd) va a usar Kerberos como autenticación, no solo debe estar compilado con apoyo a Kerberos, sino que el servidor (o host) debe tener un nombre de entidad de seguridad de servicio registrado en el servicio de directorio.  Por ejemplo, si el host es web.corp.contoso.com y servidor web está escuchando en el puerto 8080 su SPN es:
    http/web.corp..contoso.com:8080

    Si no se especifica un puerto, se asume el puerto por defecto del servidor.  En nuestro ejemplo, el servicio web usa el puerto TCP 80 por defecto.  Note que por el otro lado el cliente (navegador de Internet) debe también ser compatible con Kerberos.

    Diagnóstico y Resolución de Problemas con Kerberos

    El diagnostico y resolución de problemas con Kerberos es un tema que requiere de experiencia y destreza.  Sin embargo hay una serie de pasos básicos para empezar:
    1. ¿Están los servicios y clientes compilados con compatibilidad a Kerberos?
    2. ¿Funciona la resolución de nombre?  ¿Funciona tanto para el nombre completo (FQDN) como el nombre corto?
    3. Está el reloj sincronizado entre el cliente, servidor y KDC (el KDC es la controladora de dominio de AD)
    4. Se registraron correctamente los nombres de entidad de seguridad de servicio en el directorio (nombre completo (FQDN) y/o nombre corto)?
    5. Finalmente, el hecho de que el cliente se puede autenticar no implica que este esté autorizado para acceder!!!