Kerberos

14
Kerberos

description

Presentacion sobre Kerberos

Transcript of Kerberos

Page 1: Kerberos

Kerberos

Page 2: Kerberos

• Kerberos es un protocolo de autenticación de red. Está diseñado para proporcionar una autenticación fuerte para aplicaciones cliente / servidor utilizando criptografía de clave secreta.

• La autenticación garantiza que las identidades del remitente y del destinatario de las transacciones de la red sean verdaderas. El servicio también puede verificar la validez de los datos que se transfieren de un lugar a otro y cifrar los datos durante la transmisión Con el servicio Kerberos, puede iniciar sesión en otros equipos, ejecutar comandos, intercambiar datos y transferir archivos de manera segura. 

Page 3: Kerberos

• El sistema Kerberos se basa en el concepto de tickets. Un ticket es un conjunto de información electrónica que identifica a un usuario o servicio, como el servicio NFS.

• Los tickets tienen asociados algunos atributos determinados:

•  reenviable

• posfechado

• El modo de uso de los tickets, por ejemplo, para especificar qué usuarios pueden obtener los distintos tipos de tickets, se establece mediante políticas. Las políticas se determinan durante la instalación o administración del servicio Kerberos.

Page 4: Kerberos

• Kerberos 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). 

Page 5: Kerberos
Page 6: Kerberos

• Los comandos basados en Kerberos (o “Kerberizados”) que un usuario como joe puede utilizar son los siguientes:

• ftp

• rlogin

• rsh

• ssh

• telnet

Page 7: Kerberos

Servicios de seguridad de Kerberos

• Además de proporcionar autenticación segura a los usuarios, el servicio Kerberos proporciona dos servicios de seguridad:

• Integridad: así como la autenticación garantiza que los clientes de una red sean quienes dicen ser, la integridad garantiza que los datos que estos envían sean válidos y que no se hayan alterado durante la transmisión. La integridad se lleva a cabo mediante la comprobación criptográfica de los datos. La integridad también incluye la autenticación de usuario.

• Privacidad: la privacidad es un paso más avanzado en torno a la seguridad. La privacidad no incluye solamente la verificación de la integridad de los datos transmitidos, sino que también cifra los datos antes de la transmisión para protegerlos de los intrusos. Además, la privacidad autentica a los usuarios.

Page 8: Kerberos

Pasos de configuración

1.-

2.-

3.-

su -c 'aptitude install sudo'su -c 'echo "$USERNAME ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers'

sudo apt-get install krb5-{admin-server,kdc}

Default Kerberos version 5 realm?AMNETHN.COM # (Your domain name in uppercase - a standard for naming Kerberos realms)

Add locations of default Kerberos servers to /etc/krb5.conf? Yes # (Adding entries to krb.conf instead of DNS, for simplicity)

Kerberos servers for your realm: krb1.amnethn.com # (Make sure your DNS resolves krb1.amnethn.com to # the NETWORK IP of the server, NOT 127.0.0.1!). Hint is given in # the section called “Conventions”. Administrative server for your Kerberos realm: krb1. .amnethn.com # (Make sure your DNS resolves krb1.amnethn.com to # the NETWORK IP of the server, NOT 127.0.0.1!). Same hint as above. Create the Kerberos KDC configuration automatically? Yes Run the Kerberos V5 administration daemon (kadmind)? Yes

Page 9: Kerberos

4.-

5.-6.- Al final de los realms agregamos:

7.- Luego buscamos mas abajo la seccion [domain_realm] y agregamos las definiciones de nuestra realm AMNETHN.COM):

sudo krb5_newrealm This script should be run on the master KDC/admin server to initialize a Kerberos realm. It will ask you to type in a master key password. This password will be used to generate a key that is stored in /etc/krb5kdc/stash. You should try to remember this password, but it is much more important that it be a strong password than that it be remembered. However, if you lose the password and /etc/krb5kdc/stash, you cannot decrypt your Kerberos database. Loading random data Initializing database '/var/lib/krb5kdc/principal' for realm 'AMNETHN.COM', master key name 'K/[email protected]' You will be prompted for the database Master Password. It is important that you NOT FORGET this password.

Enter KDC database master key: PASSWORD Re-enter KDC database master key to verify: PASSWORD

/home/impa# gedit /etc/krb5.conf

AMNETH.COM = { kdc = krb1 admin_server = krb1 default_domain = amnethn.com}

.amnethn.com =AMNETHN.COM amnethn.com = AMNETHN.COM

Page 10: Kerberos

8.-

9.-

10.-

11.- Editar el archivo /etc/krb5kdc/kadm5.acl

[logging] kdc = FILE:/var/log/kerberos/krb5kdc.log admin_server = FILE:/var/log/kerberos/kadmin.log default = FILE:/var/log/kerberos/krb5lib.log

sudo mkdir /var/log/kerberos sudo invoke-rc.d krb5-admin-server restartsudo invoke-rc.d krb5-kdc restart

sudo kadmin.local Authenticating as principal root/[email protected] with password.

kadmin.local: listprincs

K/[email protected]/[email protected]/[email protected]/[email protected]/[email protected]/[email protected]

kadmin.local: quit

*/admin *

Page 11: Kerberos

12.-13.-

14.-

sudo invoke-rc.d krb5-admin-server restart

sudo kadmin.local Authenticating as principal root/[email protected] password

. kadmin.local: addprinc root/admin Enter password for principal "root/[email protected]": PASSWORD Re-enter password for principal "root/[email protected]": PASSWORD Principal "root/[email protected]" created.

kadmin.local: quit

monarch.amnethn.com monarchKrb1.amnethn.com krb1

Page 12: Kerberos

15.-

16.-

17.-

var/log/kerberos# sudo kadminAuthenticating as principal root/[email protected] with password.Password for root/[email protected]: kadmin: listprincsK/[email protected]/[email protected]/[email protected]/[email protected]/[email protected]/[email protected]/[email protected]: quit

/var/log/kerberos# klist -fklist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)

var/log/kerberos# sudo kadminAuthenticating as principal root/[email protected] with password.Password for root/[email protected]: kadmin: addprinc principalWARNING: no policy specified for [email protected]; defaulting to no policyEnter password for principal "[email protected]": Re-enter password for principal "[email protected]": Principal "[email protected]" created.kadmin: quit

Page 13: Kerberos

18.-

19.-

20.-

21.-

22.-

23.-

/# kinit principalPassword for [email protected]: /# klist -fTicket cache: FILE:/tmp/krb5cc_0Default principal: [email protected]

Valid starting Expires Service principal04/06/14 17:51:55 04/07/14 03:51:55 krbtgt/[email protected] until 04/07/14 17:51:50, Flags: FPRIA

sudo apt-get install krb5-rsh-serversudo update-rc.d openbsd-inetd defaultssudo invoke-rc.d openbsd-inetd restart

sudo apt-get install krb5-clients

kdestroy

/# kinit principalPassword for [email protected]:

kadmin -p root/admin ktadd -k /etc/krb5.keytab -norandkey host/monarch.amnethn.com Entry for principal host/monarch.amnethn.com with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/monarch.amnethn.com with kvno 2, encryption type arcfour-hmac added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/monarch.amnethn.comwith kvno 2, encryption type des3-cbc-sha1 added to keytab WRFILE:/etc/krb5.keytab. Entry for principal host/monarch.amnethn.com with kvno 2, encryption type des-cbc-crc added to keytab WRFILE:/etc/krb5.keytab.

Page 14: Kerberos

24.-

25.-krb5-rsh -x -PN krb1.amnethn.com

This rlogin session is encrypting all data transmissions. Last login: Mon Nov 27 16:49:49 from monarch Linux monarch 2.4.27-2-686 #1 Mon May 16 17:03:22 JST 2005 i686 GNU/Linux

The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. You have new mail.

Logout Connection closed.

/# kinit principalPassword for [email protected]: