SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
Unir cliente Linux a un Dominio Windows


Contenido

Descripción de paquetes de instalación............................................................................... 1
   Kerberos ........................................................................................................................... 1
      Como funciona ............................................................................................................. 2
   Samba .............................................................................................................................. 3
   Winbind ............................................................................................................................ 4
   PAM.................................................................................................................................. 5
Escenario ............................................................................................................................. 5
Pre-requisitos ....................................................................................................................... 5
   DNS - Domain Name System ........................................................................................... 5
   NTP .................................................................................................................................. 5
   Hostname ......................................................................................................................... 6
   Configurar parámetros de red .......................................................................................... 6
Proceso de Instalación......................................................................................................... 6
   Instalando Kerberos ......................................................................................................... 6
      Configuración de Kerberos ........................................................................................... 7
   Instalando Samba ............................................................................................................ 8
      Resolver nombres de usuarios y grupos de dominio .................................................... 9
Pruebas ............................................................................................................................... 9
   Verificar la integración del dominio ................................................................................... 9
   Verificar winbind ............................................................................................................. 10
Referencias ........................................................................................................................ 10



Descripción de paquetes de instalación

Kerberos

Es un protocolo de autenticación de redes de ordenador que permite a dos computadores
en una red insegura demostrar su identidad mutuamente de manera segura. Sus
diseñadores se concentraron primeramente en un modelo de cliente-servidor, y brinda
autenticación mutua: tanto cliente como servidor verifican la identidad uno del otro. Los
mensajes de autenticación están protegidos para evitar eavesdropping y ataques de
Replay.


                                                                                                                                         1
Kerberos es un protocolo de seguridad creado por MIT (Instituto Tecnológico de
Massachusetts) que usa una criptografía de claves simétricas para validar usuarios con
los servicios de red, evitando así tener que enviar contraseñas a través de la red. Al
validar los usuarios para los servicios de la red por medio de Kerberos, se frustran los
intentos de usuarios no autorizados que intentan interceptar contraseñas en la red.

Este se basa en el Protocolo de Needham-Schroeder. Usa un tercero de confianza,
denominado "centro de distribución de claves" (KDC, por sus siglas en inglés: Key
Distribution Center), el cual consiste de dos partes lógicas separadas: un "servidor de
autenticación" (AS o Authentication Server) y un "servidor emisor de tiquets" (TGS o Ticket
Granting Server). Kerberos trabaja sobre la base de "tickets", los cuales sirven para
demostrar la identidad de los usuarios.

Mantiene una base de datos de claves secretas; cada entidad en la red —sea cliente o
servidor— comparte una clave secreta conocida únicamente por él y Kerberos. El
conocimiento de esta clave sirve para probar la identidad de la entidad. Para una
comunicación entre dos entidades, Kerberos genera una clave de sesión, la cual pueden
usar para asegurar sus interacciones.


Como funciona

A continuación se describe someramente el protocolo. Se usaran las siguientes
abreviaturas:

   AS = Authentication Server
   TGS = Ticket Granting Server
   SS = Service Server.

En resumen el funcionamiento es
el siguiente: el cliente se
autentica a sí mismo contra el AS,
así demuestra al TGS que está
autorizado para recibir un ticket
de servicio (y lo recibe) y ya
puede demostrar al SS que ha
sido aprobado para hacer uso del
servicio kerberizado.

En más detalle:

1. Un usuario ingresa su nombre.
   de usuario y password en el cliente.
2. El cliente genera una clave hash a partir del password y la usará como la clave secreta
   del cliente.
3. El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre del
   usuario. Nota: ni la clave secreta ni el password son enviados, solo la petición del
   servicio.
4. El AS comprueba si el cliente está en su base de datos. Si es así, el AS genera la
   clave secreta utilizando la función hash con la password del cliente encontrada en su
   base de datos. Entonces envía dos mensajes al cliente:
   4.1. Mensaje A: Client/TGS session key cifrada usando la clave secreta del usuario
                                                                                         2
4.2. Mensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red
         del cliente, el período de validez y el Client/TGS session key) cifrado usando la
         clave secreta del TGS.
5. Una vez que el cliente ha recibido los mensajes, descifra el mensaje A para obtener el
    client/TGS session key. Esta session key se usa para las posteriores comunicaciones
    con el TGS. (El cliente no puede descifrar el mensaje B pues para cifrar éste se ha
    usado la clave del TGS). En este momento el cliente ya se puede autenticar contra el
    TGS.
6. Entonces el cliente envía los siguientes mensajes al TGS:
    6.1. Mensaje C: Compuesto del Ticket-Granting Ticket del mensaje B y el ID del
         servicio solicitado.
    6.2. Mensaje D: Autenticador (compuesto por el ID de cliente y una marca de tiempo),
         cifrado usando el client/TGS session key.
7. Cuando recibe los mensajes anteriores, el TGS descifra el mensaje D (autenticador)
    usando el client/TGS session key y envía los siguientes mensajes al cliente:
    7.1. Mensaje E: Client-to-server ticket (que incluye el ID de cliente, la dirección de red
         del cliente, el período de validez y una Client/Server session key) cifrado usando la
         clave secreta del servicio.
    7.2. Mensaje F: Client/server session key cifrada usando el client/TGS session key.
8. Cuando el cliente recibe los mensajes E y F, ya tiene suficiente información para
    autenticarse contra el SS. El cliente se conecta al SS y envía los siguientes mensajes:
    8.1. Mensaje E del paso anterior.
    8.2. Mensaje G: un nuevo Autenticador que incluye el ID de cliente, una marca de
         tiempo y que está cifrado usando el client/server session key.
9. El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje al
    cliente para confirmar su identidad:
    9.1. Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del
         cliente más uno, cifrado el client/server session key.
10. El cliente descifra la confirmación usando el client/server session key y chequea si la
    marca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en
    el servidor y podrá comenzar a usar el servicio que este ofrece.
11. El servidor provee del servicio al cliente.


Samba

Es una implementación libre del protocolo de archivos compartidos de Microsoft Windows
(antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo
UNIX. De esta forma, es posible que ordenadores con GNU/Linux, Mac OS X o Unix en
general se vean como servidores o actúen como clientes en redes de Windows. Samba
también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC),
como miembro de dominio e incluso como un dominio Active Directory para redes
basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios
compartidos y autentificar con su propio archivo de usuarios.

SAMBA nos ofrece múltiples posibilidades:

   Acceso a recursos de red (servidores de archivos, impresoras, etc.).
   Autenticación y Control de Accesos.
   Resolución de Nombres.
   Publicación de Servicios.

                                                                                            3
Winbind

Es un componente de la suite de programas Samba que resuelve los problemas de inicio
de sesión unificados. Winbind usa una implementación UNIX de las llamdas RPC de
Microsoft, PAM (Pluggable Authentication Modules), y el servicio de nombres (NSS, Name
Service Switch) para permitir a los usuarios de dominios NT aparecer y operar como
usuarios UNIX en una máquina UNIX.

Winbind proporciona tres funciones separadas:

   Autenticación para credenciales de usuario (vía PAM).
   Resolución de identidad (vía NSS).
   Winbind mantiene una base de datos llamada winbind_idmap.tdb en lacual guarda las
   asociaciones entre UNIX UIDs / GIDs y NT SIDs. Esta asociación se usa sólo para
   usuario y grupos que no tienen unos UID/GID locales.Guarda los UID/GID del rango
   uid/gid de idmap que ha asociado al SID NT. Si se ha especificado el backend idmap
   como ldapsam:url, entonces en lugar de usar de usar la asociación local Winbind la
   obtendrá de la base de datos LDAP.

Si winbind no está en ejecución, smbd (que llama a winbind) tendrá que usar sólo la
información local de /etc/passwd y de /etc/group no podrá realizar asociaciones
dinámicas.

Winbind unifica la gestión de cuentas UNIX y Windows NT permitiendo a una máquina
Unix volverse un miembro completo de un dominio NT. Una vez hecho, la máquina Unix
verá a los usuarios y grupos NT como si fueran usuarios y grupos nativos permitiendo
usar el dominio NT usarse de la misma forma que se usa NIS+ en entorno exclusivos
UNIX.

El resultado final es que cuando cualquier programa en la máquina Unix solicita al sistema
operativo que busque un nombre usuario o un grupo, la consulta se resuelve preguntando
al controlador de dominio NT del dominio correspondiente. Como winbind enlaza con el
sistema operativo a bajo nivel (vía módulo de resolución NSS de la biblioteca C), la
redirección al controlador de dominio NT es completamente transparente.

Los usuarios de la máquina Unix pueden utilizar los nombres de usuarios y grupos NT
como si fueran nombres nativos. Se pueden cambiar propietarios de ficheros para que
sean propiedad de usuarios de usuarios del dominio NT o incluso iniciar una sesión en la
máquina Unix y lanzar una sesión X-Window como miembro del dominio.

La única indicación obvia de que se está usando Winbind que los nombres de usuarios y
grupos tienen la forma DOMAINuser and DOMAINgroup. Esto es necesario para permitir
a Winbind determinar a qué controlador de dominio hay que redireccionar para la
búsqueda particular y qué dominios de confianza se están referenciando.

Adicionalmente, Winbind proporciona un servicio de autenticación que engancha con el
sistema PAM (Pluggable Authentication Modules) (PAM) para proporcionar autenticación
vía dominio NT a cualquier aplicación con soporte PAM. Esta capacidad resuelve el
problema de sincronizar las contraseñas entre sistema ya que todas las contraseñas se
almacenan en una sola ubicación, en el controlador de dominio.


                                                                                        4
PAM

PAM (Pluggable Authentication Module) no es un modelo de autenticación en sí, sino que
se trata de un mecanismo que proporciona una interfaz entre las aplicaciones de usuario y
diferentes métodos de autenticación, tratando de esta forma de solucionar uno de los
problemas clásicos de la autenticación de usuarios: el hecho de que una vez que se ha
definido e implantado cierto mecanismo en un entorno, es difícil cambiarlo. Mediante PAM
podemos comunicar a nuestra aplicaciones con los métodos de autenticación que
deseemos de una forma transparente, lo que permite integrar las utilidades de un sistema
Unix clásico (login, ftp, telnet...) con esquemas diferentes del habitual password: claves de
un solo uso, biométricos, tarjetas inteligentes y otros.


Escenario

Nombre del dominio                  MIDOMINIO.COM.VE
Nombre del server AD                ad = miserver.midominio.com.ve
IP del server AD                    192.168.0.1
Nombre del cliente Linux            miequipo
IP del cliente Linux                192.168.0.50


Pre-requisitos

DNS - Domain Name System

Edite el archivo /etc/resolv.conf y verifique que su Sistemas de Nombres de Domino (DNS) son los
correctos.


NTP

Verificar configuración de hora (NTP - Network Time Protocol, puerto 123 udp y tcp). Son
muchos los problemas de seguridad relacionados con un tiempo correcto.                La
sincronización es muy importante en modelos de autenticación como Kerberos, que utiliza
marcas de tiempo como pruebas de frescura para evitar ataques por reenvío.

1. Instale el servicio NTP.
   # yum install ntp
2. Use el comando date para observar si la fecha y hora son correctas. En caso de que
   no lo sea use el comando ntpdate ip_del_servidor_de_hora (Ej. ntpdate 192.168.0.1)
3. Edite el archivo /etc/ntp.conf y configure los servidores para la sincronización de hora.
       server 0.centos.pool.ntp.org (colocar el nombre o ip de su servidor
       de hora)
       server 1.centos.pool.ntp.org
4. Edite el archivo /etc/ntp/step-tickers y coloque la ip del servidor de hora.
       192.168.0.1
       192.168.0.x
5. Inicie los servicios de hora.
       # service ntpd restart
       # chkconfig –level 345 ntpd on

                                                                                               5
Hostname

1. Verifique la configuración del hostname:
   1.1. Edite el archivo /etc/sysconfig/network y verifique el hostname (nombre del
        equipo).

        NETWORKING=yes
        NETWORKING_IPV6=no
        HOSTNAME=miequipo.midominio.com.ve

   1.2. Edite el archivo /etc/hosts y verifique el nombre del hostname.

       127.0.0.1        miequipo.midominio.com.ve miequipo
       localhost.localdomain localhost
       192.168.0.50 miequipo.midominio.com.ve miequipo


Configurar parámetros de red
Antes de continuar asegúrese de que el equipo con Linux cuente con la
siguiente configuración:

   IP del mismo rango que el Server Active Directory
   DNS utilizado por el Server Active Directory
   Debe responder el ping a miserver.midominio.com.ve


Proceso de Instalación

Instalando Kerberos

# yum list | grep krb5
krb5-devel.i386                  1.6.1-36.el5_5.6            installed
krb5-libs.i386                   1.6.1-36.el5_5.6            installed
krb5-workstation.i386            1.6.1-36.el5_5.6            installed
pam_krb5.i386                    2.2.14-15                   installed
freeradius2-krb5.i386            2.1.7-7.el5                 base
krb5-auth-dialog.i386            0.7-1                       base
krb5-server.i386                 6.1-36.el5_5.6              updates
root-net-krb5.i386               5.28.00-1.el5.1             epel

En el ejemplo anterior usted puede observar el krb5-workstation, lo cual puede ser una opción para
la autenticación.

En caso de no estar instalado el krb5, entonces:

# yum install krb5-libs pam

Para autentificar los clientes linux contra el dominio ocuparemos Kerberos, por lo que
iniciaremos configurándolo y obteniendo un ticket de seguridad.



                                                                                                 6
Configuración de Kerberos

Modificar el archivo krb5.conf, ubicado en "/etc", adecuándolo al caso particular de
cada dominio, quedando con la siguiente configuración.

[libdefaults]
 default_realm = MIDOMINIO.COM.VE
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 forwardable = yes

[realms]
 MIDOMINIO.COM.VE = {
   kdc = miserver.midominio.com.ve:88
   admin_server = miserver.midominio.com.ve:749
   default_domain = midominio.com.ve
 }

[domain_realm]
 .midominio.com.ve = MIDOMINIO.COM.VE
 midominio.com.ve = MIDOMINIO.COM.VE
[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }

Una vez modificado el archivo krb5.conf debemos obtener un ticket, con el comando kinit,
entonces ejecutamos el siguiente comando:

# kinit usuario@MIDOMINIO.COM.VE
password for usuario@MIDOMINIO.COM.VE:

Si todo a salido bien tendremos un ticket kerberos para verificar usamos el comando
klist, el cual muestra todos los ticket actuales almacenados en nuestra maquina linux.

Ticket cache: FILE:/tmp/krb5cc_0
 Default principal: usuario@MIDOMINIO.COM.VE

 Valid starting    Expires            Service principal
 06/22/06 09:14:36 06/22/06 19:17:59 krbtgt/MIDOMINIO.COM.VE@MIDOMINIO.COM.VE
        renew until 06/23/06 09:14:36

Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

El paso siguiente es modificar algunos archivos del sistema. Dos de los problemas más
comunes por los que no se puede obtener un ticket son:

   Porque, en el archivo krb5.conf algo a quedado mal escrito (verificar muy bien
                                                                                      7
minúsculas y mayúsculas) o,
    Porque la diferencia de hora entre el servidor kerberos y nuestra maquina supera los 5
    minutos (para solucionar esto puedes utilizar ntp), también puede suceder que cliente
    linux no logra encontrar el servidor kerberos configurado.

Si todo está bien, simplemente debería aparecer el promt (#).


Instalando Samba

# yum install samba3x samba3x-client samba3x-winbind

Editar /etc/samba/smb.conf y cambiar las siguientes líneas:

[global]
     workgroup = MIDOMINIO
     server string = Samba Server Version %v

       security = ads
       passdb backend = tdbsam

       realm = MIDOMINIO.COM.VE

       idmap uid = 50001-550000
       idmap gid = 50001-550000
       winbind separator = +
       winbind nested groups = Yes
       winbind enum users = no
       winbind enum groups = no
       log level = 3

En security=ads le dice que va a ser miembro de un Active Directory, winbind es el
servicio que va a mapear (idmap uid y idmap gid) los usuarios y grupos del dominio a ID
de usuarios y grupos para que parezcan locales y que sean válidos para el nuestro Linux.

Cabe aclarar que La configuración del demonio winbindd se realiza mediante ciertos
parámetros en el fichero smb.conf. Todos los parámetros se deben especificar en la
sección [global] de smb.conf.

Iniciamos samba:

#   service smb start
#   chkconfig –level 345 smbd on
#   service winbind start
#   chkconfig --level 345 winbind on

0Unimos el cliente Linux al dominio Windows

# net ads join -S miserver.midominio.com.ve                     -U administrador

Nos deberá mostrar un mensaje como el siguiente:

       Using short domain name -- MIDOMINIO
       Joined 'MIEQUIPO' to realm 'MIDOMINIO.COM.VE'
                                                                                        8
Otra manera de realizar lo anterior es como sigue:

# net join -S PDC -U Administrador
El usuario tras el -U puede ser cualquier usuario del dominio que tenga privilegios
administrativos en la máquina. Sustituya el nombre o IP de su PDC por "PDC".


Resolver nombres de usuarios y grupos de dominio

Editar "/etc/nsswitch.conf" y modificar las siguientes líneas dejándolas de la siguiente
forma:

      passwd:             files    winbind
      group:              files    winbind
      shadow:             files    winbind
      hosts:              files    dns winbind

Reiniciamos winbind

# service winbind restart

Gracias a lo anterior los usuarios y grupos del dominio pueden ser resueltos.


Pruebas

Verificar la integración del dominio

# net rpc testjoin

Mostrará el siguiente resultado:

        Join to 'MIDOMINIO' is OK

# net ads info (Muestra información del dominio)

      LDAP server: 192.168.0.1
      LDAP server name: miserver.midominio.com.ve
      Realm: MIDOMINIO.COM.VE
      Bind Path: dc=MIDOMINIO,dc=COM,dc=VE
      LDAP port: 389
      Server time: mar, 08 mar 2011 17:04:39 VET
      KDC server: 192.168.0.1
      Server time offset: 1

# net rpc info -U Usuario_de_dominio (Muestra                     el   dominio   al   que
pertenece, número de usuarios, grupos, etc.)

      Domain Name: MIDOMINIO
      Domain SID: x-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx
      Sequence number: xx
      Num users: xx
                                                                                       9
Num domain groups: xx
      Num local groups: xx


Verificar winbind

"wbinfo   -u" lista usuarios del dominio.
"wbinfo   -g" lista grupos del dominio.
"getent   passwd" muestra usuarios locales y del dominio.
"getent   group" muestra grupos locales y del dominio.


Referencias
http://www.lgs.com.ve/
http://www.bdat.com/documentos/samba/html/winbind.html
http://www.patricioleon.cl/articulos/53-unir-samba-a-un-dominio-de-windows
http://www.kerberos-walkthrough.de/
http://www.youtube.com/watch?v=b2BdTXb5nds
http://www.esdebian.org/articulos/24000/unir-debian-dominio-active-directory




                                                                               10

Weitere ähnliche Inhalte

Andere mochten auch

Servidor FTP en Centos 6
Servidor FTP en Centos 6Servidor FTP en Centos 6
Servidor FTP en Centos 6AngiePalacios03
 
Instalación servicio WEB en CentOS 6.2
Instalación servicio WEB en CentOS 6.2Instalación servicio WEB en CentOS 6.2
Instalación servicio WEB en CentOS 6.2camilaml
 
Instalación de SAMBA en CentOS 6.2
Instalación de SAMBA en CentOS 6.2Instalación de SAMBA en CentOS 6.2
Instalación de SAMBA en CentOS 6.2camilaml
 
Instalación DHCP en CentOS 6.2
Instalación DHCP en CentOS 6.2Instalación DHCP en CentOS 6.2
Instalación DHCP en CentOS 6.2camilaml
 
Instalación FTP en CentOS 6.2
Instalación FTP en CentOS 6.2Instalación FTP en CentOS 6.2
Instalación FTP en CentOS 6.2camilaml
 
Instalacion y configuración de servicio ftp en red hat 6.2
Instalacion y configuración de servicio ftp en red hat 6.2Instalacion y configuración de servicio ftp en red hat 6.2
Instalacion y configuración de servicio ftp en red hat 6.2cacs Correa
 
Instalacion y configuracon servicio dns red hat 6.2
Instalacion y configuracon servicio dns red hat 6.2Instalacion y configuracon servicio dns red hat 6.2
Instalacion y configuracon servicio dns red hat 6.2cacs Correa
 
Quasi - scripts-linux
Quasi - scripts-linuxQuasi - scripts-linux
Quasi - scripts-linuxdegarden
 
MANUALES DE INSTALACIÓN DE SERVICIOS EN RED HAT LINUX ENTERPRISE 6.2
MANUALES DE INSTALACIÓN DE SERVICIOS EN RED HAT LINUX ENTERPRISE 6.2MANUALES DE INSTALACIÓN DE SERVICIOS EN RED HAT LINUX ENTERPRISE 6.2
MANUALES DE INSTALACIÓN DE SERVICIOS EN RED HAT LINUX ENTERPRISE 6.2Facebook
 
ARCHIVOS Y DIRECTORIOS EN LINUX
ARCHIVOS Y DIRECTORIOS EN LINUXARCHIVOS Y DIRECTORIOS EN LINUX
ARCHIVOS Y DIRECTORIOS EN LINUXShirley Armas
 
Introduccion a linux_archivos_y_directorios (1)
Introduccion a linux_archivos_y_directorios (1)Introduccion a linux_archivos_y_directorios (1)
Introduccion a linux_archivos_y_directorios (1)Fernando Muñoz
 
Servidor de autenticación con OpenLDAP en CentOS
Servidor de autenticación con OpenLDAP en CentOSServidor de autenticación con OpenLDAP en CentOS
Servidor de autenticación con OpenLDAP en CentOSKramer Garay Gómez
 
Instalación de DNS en CentOS 6.2
Instalación de DNS en CentOS 6.2Instalación de DNS en CentOS 6.2
Instalación de DNS en CentOS 6.2camilaml
 
Administración de un directorio activo (LDAP) en Linux.
Administración de un directorio activo (LDAP) en Linux. Administración de un directorio activo (LDAP) en Linux.
Administración de un directorio activo (LDAP) en Linux. camilaml
 
Recuperar password de root en linux centos
Recuperar password de root en linux centosRecuperar password de root en linux centos
Recuperar password de root en linux centosEcatel SRL
 

Andere mochten auch (20)

Servidor FTP en Centos 6
Servidor FTP en Centos 6Servidor FTP en Centos 6
Servidor FTP en Centos 6
 
Instalación servicio WEB en CentOS 6.2
Instalación servicio WEB en CentOS 6.2Instalación servicio WEB en CentOS 6.2
Instalación servicio WEB en CentOS 6.2
 
Instalación de SAMBA en CentOS 6.2
Instalación de SAMBA en CentOS 6.2Instalación de SAMBA en CentOS 6.2
Instalación de SAMBA en CentOS 6.2
 
Instalación DHCP en CentOS 6.2
Instalación DHCP en CentOS 6.2Instalación DHCP en CentOS 6.2
Instalación DHCP en CentOS 6.2
 
Instalación FTP en CentOS 6.2
Instalación FTP en CentOS 6.2Instalación FTP en CentOS 6.2
Instalación FTP en CentOS 6.2
 
Instalacion y configuración de servicio ftp en red hat 6.2
Instalacion y configuración de servicio ftp en red hat 6.2Instalacion y configuración de servicio ftp en red hat 6.2
Instalacion y configuración de servicio ftp en red hat 6.2
 
Instalacion y configuracon servicio dns red hat 6.2
Instalacion y configuracon servicio dns red hat 6.2Instalacion y configuracon servicio dns red hat 6.2
Instalacion y configuracon servicio dns red hat 6.2
 
Resumen oracle, procedure, triggres
Resumen oracle, procedure, triggresResumen oracle, procedure, triggres
Resumen oracle, procedure, triggres
 
Java desde cero
Java desde ceroJava desde cero
Java desde cero
 
Repaso2
Repaso2Repaso2
Repaso2
 
Quasi - scripts-linux
Quasi - scripts-linuxQuasi - scripts-linux
Quasi - scripts-linux
 
Servidor FTP en CentOS 6.5
Servidor FTP en CentOS 6.5Servidor FTP en CentOS 6.5
Servidor FTP en CentOS 6.5
 
MANUALES DE INSTALACIÓN DE SERVICIOS EN RED HAT LINUX ENTERPRISE 6.2
MANUALES DE INSTALACIÓN DE SERVICIOS EN RED HAT LINUX ENTERPRISE 6.2MANUALES DE INSTALACIÓN DE SERVICIOS EN RED HAT LINUX ENTERPRISE 6.2
MANUALES DE INSTALACIÓN DE SERVICIOS EN RED HAT LINUX ENTERPRISE 6.2
 
ARCHIVOS Y DIRECTORIOS EN LINUX
ARCHIVOS Y DIRECTORIOS EN LINUXARCHIVOS Y DIRECTORIOS EN LINUX
ARCHIVOS Y DIRECTORIOS EN LINUX
 
Servidor DHCP en Centos 6.5
Servidor DHCP en Centos 6.5Servidor DHCP en Centos 6.5
Servidor DHCP en Centos 6.5
 
Introduccion a linux_archivos_y_directorios (1)
Introduccion a linux_archivos_y_directorios (1)Introduccion a linux_archivos_y_directorios (1)
Introduccion a linux_archivos_y_directorios (1)
 
Servidor de autenticación con OpenLDAP en CentOS
Servidor de autenticación con OpenLDAP en CentOSServidor de autenticación con OpenLDAP en CentOS
Servidor de autenticación con OpenLDAP en CentOS
 
Instalación de DNS en CentOS 6.2
Instalación de DNS en CentOS 6.2Instalación de DNS en CentOS 6.2
Instalación de DNS en CentOS 6.2
 
Administración de un directorio activo (LDAP) en Linux.
Administración de un directorio activo (LDAP) en Linux. Administración de un directorio activo (LDAP) en Linux.
Administración de un directorio activo (LDAP) en Linux.
 
Recuperar password de root en linux centos
Recuperar password de root en linux centosRecuperar password de root en linux centos
Recuperar password de root en linux centos
 

Ähnlich wie Unir Linux a Dominio Windows

Ähnlich wie Unir Linux a Dominio Windows (20)

Preguntas de Repaso Capitulo 4: Stallings William: Fundamentos de seguridad e...
Preguntas de Repaso Capitulo 4: Stallings William: Fundamentos de seguridad e...Preguntas de Repaso Capitulo 4: Stallings William: Fundamentos de seguridad e...
Preguntas de Repaso Capitulo 4: Stallings William: Fundamentos de seguridad e...
 
Preguntas de Repaso Capitulo 7: Stallings William: Fundamentos de seguridad e...
Preguntas de Repaso Capitulo 7: Stallings William: Fundamentos de seguridad e...Preguntas de Repaso Capitulo 7: Stallings William: Fundamentos de seguridad e...
Preguntas de Repaso Capitulo 7: Stallings William: Fundamentos de seguridad e...
 
¿Qué es Kerberos?
¿Qué es Kerberos?¿Qué es Kerberos?
¿Qué es Kerberos?
 
Seguridad j1v2
Seguridad   j1v2Seguridad   j1v2
Seguridad j1v2
 
Jhon Cabana
Jhon CabanaJhon Cabana
Jhon Cabana
 
Unidad 4: Servicio web (HTTP)
Unidad 4: Servicio web (HTTP)Unidad 4: Servicio web (HTTP)
Unidad 4: Servicio web (HTTP)
 
Protocolos ssl
Protocolos sslProtocolos ssl
Protocolos ssl
 
Protocolo ssl
Protocolo sslProtocolo ssl
Protocolo ssl
 
Openssl
Openssl Openssl
Openssl
 
05 certificaado digital
05 certificaado digital05 certificaado digital
05 certificaado digital
 
4. certificados digitales
4. certificados digitales4. certificados digitales
4. certificados digitales
 
IEEE 802.1x
IEEE 802.1xIEEE 802.1x
IEEE 802.1x
 
Certificados digitales
Certificados digitalesCertificados digitales
Certificados digitales
 
openssl
opensslopenssl
openssl
 
Https
HttpsHttps
Https
 
Protección a nivel de transporte
Protección a nivel de transporteProtección a nivel de transporte
Protección a nivel de transporte
 
Sshmarta
SshmartaSshmarta
Sshmarta
 
Conexion dinamica
Conexion dinamicaConexion dinamica
Conexion dinamica
 
Radius
RadiusRadius
Radius
 
18 open ssh
18  open ssh18  open ssh
18 open ssh
 

Unir Linux a Dominio Windows

  • 1. Unir cliente Linux a un Dominio Windows Contenido Descripción de paquetes de instalación............................................................................... 1 Kerberos ........................................................................................................................... 1 Como funciona ............................................................................................................. 2 Samba .............................................................................................................................. 3 Winbind ............................................................................................................................ 4 PAM.................................................................................................................................. 5 Escenario ............................................................................................................................. 5 Pre-requisitos ....................................................................................................................... 5 DNS - Domain Name System ........................................................................................... 5 NTP .................................................................................................................................. 5 Hostname ......................................................................................................................... 6 Configurar parámetros de red .......................................................................................... 6 Proceso de Instalación......................................................................................................... 6 Instalando Kerberos ......................................................................................................... 6 Configuración de Kerberos ........................................................................................... 7 Instalando Samba ............................................................................................................ 8 Resolver nombres de usuarios y grupos de dominio .................................................... 9 Pruebas ............................................................................................................................... 9 Verificar la integración del dominio ................................................................................... 9 Verificar winbind ............................................................................................................. 10 Referencias ........................................................................................................................ 10 Descripción de paquetes de instalación Kerberos Es un protocolo de autenticación de redes de ordenador que permite a dos computadores en una red insegura demostrar su identidad mutuamente de manera segura. Sus diseñadores se concentraron primeramente en un modelo de cliente-servidor, y brinda autenticación mutua: tanto cliente como servidor verifican la identidad uno del otro. Los mensajes de autenticación están protegidos para evitar eavesdropping y ataques de Replay. 1
  • 2. Kerberos es un protocolo de seguridad creado por MIT (Instituto Tecnológico de Massachusetts) que usa una criptografía de claves simétricas para validar usuarios con los servicios de red, evitando así tener que enviar contraseñas a través de la red. Al validar los usuarios para los servicios de la red por medio de Kerberos, se frustran los intentos de usuarios no autorizados que intentan interceptar contraseñas en la red. Este se basa en el Protocolo de Needham-Schroeder. Usa un tercero de confianza, denominado "centro de distribución de claves" (KDC, por sus siglas en inglés: Key Distribution Center), el cual consiste de dos partes lógicas separadas: un "servidor de autenticación" (AS o Authentication Server) y un "servidor emisor de tiquets" (TGS o Ticket Granting Server). Kerberos trabaja sobre la base de "tickets", los cuales sirven para demostrar la identidad de los usuarios. Mantiene una base de datos de claves secretas; cada entidad en la red —sea cliente o servidor— comparte una clave secreta conocida únicamente por él y Kerberos. El conocimiento de esta clave sirve para probar la identidad de la entidad. Para una comunicación entre dos entidades, Kerberos genera una clave de sesión, la cual pueden usar para asegurar sus interacciones. Como funciona A continuación se describe someramente el protocolo. Se usaran las siguientes abreviaturas: AS = Authentication Server TGS = Ticket Granting Server SS = Service Server. En resumen el funcionamiento es el siguiente: el cliente se autentica a sí mismo contra el AS, así demuestra al TGS que está autorizado para recibir un ticket de servicio (y lo recibe) y ya puede demostrar al SS que ha sido aprobado para hacer uso del servicio kerberizado. En más detalle: 1. Un usuario ingresa su nombre. de usuario y password en el cliente. 2. El cliente genera una clave hash a partir del password y la usará como la clave secreta del cliente. 3. El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre del usuario. Nota: ni la clave secreta ni el password son enviados, solo la petición del servicio. 4. El AS comprueba si el cliente está en su base de datos. Si es así, el AS genera la clave secreta utilizando la función hash con la password del cliente encontrada en su base de datos. Entonces envía dos mensajes al cliente: 4.1. Mensaje A: Client/TGS session key cifrada usando la clave secreta del usuario 2
  • 3. 4.2. Mensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y el Client/TGS session key) cifrado usando la clave secreta del TGS. 5. Una vez que el cliente ha recibido los mensajes, descifra el mensaje A para obtener el client/TGS session key. Esta session key se usa para las posteriores comunicaciones con el TGS. (El cliente no puede descifrar el mensaje B pues para cifrar éste se ha usado la clave del TGS). En este momento el cliente ya se puede autenticar contra el TGS. 6. Entonces el cliente envía los siguientes mensajes al TGS: 6.1. Mensaje C: Compuesto del Ticket-Granting Ticket del mensaje B y el ID del servicio solicitado. 6.2. Mensaje D: Autenticador (compuesto por el ID de cliente y una marca de tiempo), cifrado usando el client/TGS session key. 7. Cuando recibe los mensajes anteriores, el TGS descifra el mensaje D (autenticador) usando el client/TGS session key y envía los siguientes mensajes al cliente: 7.1. Mensaje E: Client-to-server ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y una Client/Server session key) cifrado usando la clave secreta del servicio. 7.2. Mensaje F: Client/server session key cifrada usando el client/TGS session key. 8. Cuando el cliente recibe los mensajes E y F, ya tiene suficiente información para autenticarse contra el SS. El cliente se conecta al SS y envía los siguientes mensajes: 8.1. Mensaje E del paso anterior. 8.2. Mensaje G: un nuevo Autenticador que incluye el ID de cliente, una marca de tiempo y que está cifrado usando el client/server session key. 9. El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje al cliente para confirmar su identidad: 9.1. Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del cliente más uno, cifrado el client/server session key. 10. El cliente descifra la confirmación usando el client/server session key y chequea si la marca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en el servidor y podrá comenzar a usar el servicio que este ofrece. 11. El servidor provee del servicio al cliente. Samba Es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio archivo de usuarios. SAMBA nos ofrece múltiples posibilidades: Acceso a recursos de red (servidores de archivos, impresoras, etc.). Autenticación y Control de Accesos. Resolución de Nombres. Publicación de Servicios. 3
  • 4. Winbind Es un componente de la suite de programas Samba que resuelve los problemas de inicio de sesión unificados. Winbind usa una implementación UNIX de las llamdas RPC de Microsoft, PAM (Pluggable Authentication Modules), y el servicio de nombres (NSS, Name Service Switch) para permitir a los usuarios de dominios NT aparecer y operar como usuarios UNIX en una máquina UNIX. Winbind proporciona tres funciones separadas: Autenticación para credenciales de usuario (vía PAM). Resolución de identidad (vía NSS). Winbind mantiene una base de datos llamada winbind_idmap.tdb en lacual guarda las asociaciones entre UNIX UIDs / GIDs y NT SIDs. Esta asociación se usa sólo para usuario y grupos que no tienen unos UID/GID locales.Guarda los UID/GID del rango uid/gid de idmap que ha asociado al SID NT. Si se ha especificado el backend idmap como ldapsam:url, entonces en lugar de usar de usar la asociación local Winbind la obtendrá de la base de datos LDAP. Si winbind no está en ejecución, smbd (que llama a winbind) tendrá que usar sólo la información local de /etc/passwd y de /etc/group no podrá realizar asociaciones dinámicas. Winbind unifica la gestión de cuentas UNIX y Windows NT permitiendo a una máquina Unix volverse un miembro completo de un dominio NT. Una vez hecho, la máquina Unix verá a los usuarios y grupos NT como si fueran usuarios y grupos nativos permitiendo usar el dominio NT usarse de la misma forma que se usa NIS+ en entorno exclusivos UNIX. El resultado final es que cuando cualquier programa en la máquina Unix solicita al sistema operativo que busque un nombre usuario o un grupo, la consulta se resuelve preguntando al controlador de dominio NT del dominio correspondiente. Como winbind enlaza con el sistema operativo a bajo nivel (vía módulo de resolución NSS de la biblioteca C), la redirección al controlador de dominio NT es completamente transparente. Los usuarios de la máquina Unix pueden utilizar los nombres de usuarios y grupos NT como si fueran nombres nativos. Se pueden cambiar propietarios de ficheros para que sean propiedad de usuarios de usuarios del dominio NT o incluso iniciar una sesión en la máquina Unix y lanzar una sesión X-Window como miembro del dominio. La única indicación obvia de que se está usando Winbind que los nombres de usuarios y grupos tienen la forma DOMAINuser and DOMAINgroup. Esto es necesario para permitir a Winbind determinar a qué controlador de dominio hay que redireccionar para la búsqueda particular y qué dominios de confianza se están referenciando. Adicionalmente, Winbind proporciona un servicio de autenticación que engancha con el sistema PAM (Pluggable Authentication Modules) (PAM) para proporcionar autenticación vía dominio NT a cualquier aplicación con soporte PAM. Esta capacidad resuelve el problema de sincronizar las contraseñas entre sistema ya que todas las contraseñas se almacenan en una sola ubicación, en el controlador de dominio. 4
  • 5. PAM PAM (Pluggable Authentication Module) no es un modelo de autenticación en sí, sino que se trata de un mecanismo que proporciona una interfaz entre las aplicaciones de usuario y diferentes métodos de autenticación, tratando de esta forma de solucionar uno de los problemas clásicos de la autenticación de usuarios: el hecho de que una vez que se ha definido e implantado cierto mecanismo en un entorno, es difícil cambiarlo. Mediante PAM podemos comunicar a nuestra aplicaciones con los métodos de autenticación que deseemos de una forma transparente, lo que permite integrar las utilidades de un sistema Unix clásico (login, ftp, telnet...) con esquemas diferentes del habitual password: claves de un solo uso, biométricos, tarjetas inteligentes y otros. Escenario Nombre del dominio MIDOMINIO.COM.VE Nombre del server AD ad = miserver.midominio.com.ve IP del server AD 192.168.0.1 Nombre del cliente Linux miequipo IP del cliente Linux 192.168.0.50 Pre-requisitos DNS - Domain Name System Edite el archivo /etc/resolv.conf y verifique que su Sistemas de Nombres de Domino (DNS) son los correctos. NTP Verificar configuración de hora (NTP - Network Time Protocol, puerto 123 udp y tcp). Son muchos los problemas de seguridad relacionados con un tiempo correcto. La sincronización es muy importante en modelos de autenticación como Kerberos, que utiliza marcas de tiempo como pruebas de frescura para evitar ataques por reenvío. 1. Instale el servicio NTP. # yum install ntp 2. Use el comando date para observar si la fecha y hora son correctas. En caso de que no lo sea use el comando ntpdate ip_del_servidor_de_hora (Ej. ntpdate 192.168.0.1) 3. Edite el archivo /etc/ntp.conf y configure los servidores para la sincronización de hora. server 0.centos.pool.ntp.org (colocar el nombre o ip de su servidor de hora) server 1.centos.pool.ntp.org 4. Edite el archivo /etc/ntp/step-tickers y coloque la ip del servidor de hora. 192.168.0.1 192.168.0.x 5. Inicie los servicios de hora. # service ntpd restart # chkconfig –level 345 ntpd on 5
  • 6. Hostname 1. Verifique la configuración del hostname: 1.1. Edite el archivo /etc/sysconfig/network y verifique el hostname (nombre del equipo). NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=miequipo.midominio.com.ve 1.2. Edite el archivo /etc/hosts y verifique el nombre del hostname. 127.0.0.1 miequipo.midominio.com.ve miequipo localhost.localdomain localhost 192.168.0.50 miequipo.midominio.com.ve miequipo Configurar parámetros de red Antes de continuar asegúrese de que el equipo con Linux cuente con la siguiente configuración: IP del mismo rango que el Server Active Directory DNS utilizado por el Server Active Directory Debe responder el ping a miserver.midominio.com.ve Proceso de Instalación Instalando Kerberos # yum list | grep krb5 krb5-devel.i386 1.6.1-36.el5_5.6 installed krb5-libs.i386 1.6.1-36.el5_5.6 installed krb5-workstation.i386 1.6.1-36.el5_5.6 installed pam_krb5.i386 2.2.14-15 installed freeradius2-krb5.i386 2.1.7-7.el5 base krb5-auth-dialog.i386 0.7-1 base krb5-server.i386 6.1-36.el5_5.6 updates root-net-krb5.i386 5.28.00-1.el5.1 epel En el ejemplo anterior usted puede observar el krb5-workstation, lo cual puede ser una opción para la autenticación. En caso de no estar instalado el krb5, entonces: # yum install krb5-libs pam Para autentificar los clientes linux contra el dominio ocuparemos Kerberos, por lo que iniciaremos configurándolo y obteniendo un ticket de seguridad. 6
  • 7. Configuración de Kerberos Modificar el archivo krb5.conf, ubicado en "/etc", adecuándolo al caso particular de cada dominio, quedando con la siguiente configuración. [libdefaults] default_realm = MIDOMINIO.COM.VE dns_lookup_realm = true dns_lookup_kdc = true ticket_lifetime = 24h forwardable = yes [realms] MIDOMINIO.COM.VE = { kdc = miserver.midominio.com.ve:88 admin_server = miserver.midominio.com.ve:749 default_domain = midominio.com.ve } [domain_realm] .midominio.com.ve = MIDOMINIO.COM.VE midominio.com.ve = MIDOMINIO.COM.VE [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false } Una vez modificado el archivo krb5.conf debemos obtener un ticket, con el comando kinit, entonces ejecutamos el siguiente comando: # kinit usuario@MIDOMINIO.COM.VE password for usuario@MIDOMINIO.COM.VE: Si todo a salido bien tendremos un ticket kerberos para verificar usamos el comando klist, el cual muestra todos los ticket actuales almacenados en nuestra maquina linux. Ticket cache: FILE:/tmp/krb5cc_0 Default principal: usuario@MIDOMINIO.COM.VE Valid starting Expires Service principal 06/22/06 09:14:36 06/22/06 19:17:59 krbtgt/MIDOMINIO.COM.VE@MIDOMINIO.COM.VE renew until 06/23/06 09:14:36 Kerberos 4 ticket cache: /tmp/tkt0 klist: You have no tickets cached El paso siguiente es modificar algunos archivos del sistema. Dos de los problemas más comunes por los que no se puede obtener un ticket son: Porque, en el archivo krb5.conf algo a quedado mal escrito (verificar muy bien 7
  • 8. minúsculas y mayúsculas) o, Porque la diferencia de hora entre el servidor kerberos y nuestra maquina supera los 5 minutos (para solucionar esto puedes utilizar ntp), también puede suceder que cliente linux no logra encontrar el servidor kerberos configurado. Si todo está bien, simplemente debería aparecer el promt (#). Instalando Samba # yum install samba3x samba3x-client samba3x-winbind Editar /etc/samba/smb.conf y cambiar las siguientes líneas: [global] workgroup = MIDOMINIO server string = Samba Server Version %v security = ads passdb backend = tdbsam realm = MIDOMINIO.COM.VE idmap uid = 50001-550000 idmap gid = 50001-550000 winbind separator = + winbind nested groups = Yes winbind enum users = no winbind enum groups = no log level = 3 En security=ads le dice que va a ser miembro de un Active Directory, winbind es el servicio que va a mapear (idmap uid y idmap gid) los usuarios y grupos del dominio a ID de usuarios y grupos para que parezcan locales y que sean válidos para el nuestro Linux. Cabe aclarar que La configuración del demonio winbindd se realiza mediante ciertos parámetros en el fichero smb.conf. Todos los parámetros se deben especificar en la sección [global] de smb.conf. Iniciamos samba: # service smb start # chkconfig –level 345 smbd on # service winbind start # chkconfig --level 345 winbind on 0Unimos el cliente Linux al dominio Windows # net ads join -S miserver.midominio.com.ve -U administrador Nos deberá mostrar un mensaje como el siguiente: Using short domain name -- MIDOMINIO Joined 'MIEQUIPO' to realm 'MIDOMINIO.COM.VE' 8
  • 9. Otra manera de realizar lo anterior es como sigue: # net join -S PDC -U Administrador El usuario tras el -U puede ser cualquier usuario del dominio que tenga privilegios administrativos en la máquina. Sustituya el nombre o IP de su PDC por "PDC". Resolver nombres de usuarios y grupos de dominio Editar "/etc/nsswitch.conf" y modificar las siguientes líneas dejándolas de la siguiente forma: passwd: files winbind group: files winbind shadow: files winbind hosts: files dns winbind Reiniciamos winbind # service winbind restart Gracias a lo anterior los usuarios y grupos del dominio pueden ser resueltos. Pruebas Verificar la integración del dominio # net rpc testjoin Mostrará el siguiente resultado: Join to 'MIDOMINIO' is OK # net ads info (Muestra información del dominio) LDAP server: 192.168.0.1 LDAP server name: miserver.midominio.com.ve Realm: MIDOMINIO.COM.VE Bind Path: dc=MIDOMINIO,dc=COM,dc=VE LDAP port: 389 Server time: mar, 08 mar 2011 17:04:39 VET KDC server: 192.168.0.1 Server time offset: 1 # net rpc info -U Usuario_de_dominio (Muestra el dominio al que pertenece, número de usuarios, grupos, etc.) Domain Name: MIDOMINIO Domain SID: x-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx Sequence number: xx Num users: xx 9
  • 10. Num domain groups: xx Num local groups: xx Verificar winbind "wbinfo -u" lista usuarios del dominio. "wbinfo -g" lista grupos del dominio. "getent passwd" muestra usuarios locales y del dominio. "getent group" muestra grupos locales y del dominio. Referencias http://www.lgs.com.ve/ http://www.bdat.com/documentos/samba/html/winbind.html http://www.patricioleon.cl/articulos/53-unir-samba-a-un-dominio-de-windows http://www.kerberos-walkthrough.de/ http://www.youtube.com/watch?v=b2BdTXb5nds http://www.esdebian.org/articulos/24000/unir-debian-dominio-active-directory 10