Documente Academic
Documente Profesional
Documente Cultură
Contenido
Kerberos
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.
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
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:
Samba
3
Winbind
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.
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 DOMAIN\user and DOMAIN\group. 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.
4
PAM
Escenario
Pre-requisitos
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.
5
Hostname
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=miequipo.midominio.com.ve
Proceso de Instalación
Instalando Kerberos
En el ejemplo anterior usted puede observar el krb5-workstation, lo cual puede ser una opción para
la autenticación.
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
[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.
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.
Instalando Samba
[global]
workgroup = MIDOMINIO
server string = Samba Server Version %v
security = ads
passdb backend = tdbsam
realm = MIDOMINIO.COM.VE
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:
Reiniciamos winbind
Gracias a lo anterior los usuarios y grupos del dominio pueden ser resueltos.
Pruebas
Join to 'MIDOMINIO' is OK
Verificar winbind
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