Kerberos

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

Uvedení do problematiky

http://www.abclinuxu.cz/clanky/bezpecnost/kerberos-prihlasovani-snadno-a-rychle

Linuxový autorizační server s kerberosem

Hostname: ldap-server

Nastavení sítě (prozatím je stroj za NAT):

auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
	address 172.16.54.131
	netmask 255.255.255.0
	network 172.16.54.0
	broadcast 172.16.54.255
	gateway 172.16.54.2

Heslo root: zatím nemá

Nastavení souboru /etc/hosts

127.0.0.1	localhost.localdomain	localhost
172.16.54.131	ldap-server.virtual	ldap-server

Nainstalované balíky

(platné pro debian)

krb5-admin-server
administrační server pro kerberos
krb5-config
výchozí konfigurační soubor
krb5-kdc
vlastní kerberos
krb5-user
utility pro práci s kerberem
libkrb53
knihovny pro kerberos
libkadm55
knihovny pro administrační server kerberosu

Konfigurace Kerbera

Konfigurační soubor /etc/krb5.conf

  • default_realm VIRTUAL
  • Definuje umístění souboru kdc.conf

Definice databáze

Konfigurační soubor /etc/krb5kdc/kdc.conf

principal - databáze uživatelů kadm5.acl - soubor s oprávněními pro přístup k databázi

Nastaven uživatel:

krbadmin/admin@VIRTUAL *

Master key databáze: lablink

Principal pro uživatele krbadmin/admin@VIRTUAL : ldap

Spuštění Kebera

Spuštění administračního serveru

/etc/init.d/krb5-admin-server start

Spuštění samotného kerbera

/etc/init.d/krb5-kdc start

Administrační konzole

kadmin -p krbadmin/admin

Pozn: Když stávkuje výpis principálů (listprincs) je třeba zkontrolovat jestli je správně nastavena cesta k souboru kadm5.acl


Nastavení uživatele

První uživatel nastaven na user0 ( heslo 'tester' )

kadmin: addprinc user0

Práce s tikety

kinit [user] - vytáhne tiket klist - vypíše tikety kdestroy - zruší tiket

Kerberizace služeb

Probíhá tak, že se vytvoří pro každou službu tzv. principal

kadmin:  addprinc -randkey cifs/virtual
kadmin:  ktadd cifs/srv-file1.firma.local

Druhým příkazem se vyexportuje keytab principalu služby (defaultně exportuje do konfiguračního adresáře /etc) do souboru. Tento soubor se pak zpřístupní službě. Výpis obsahu keytabu (příklad):

klist -ek /etc/krb5.keytab


Nastavení autorizace MS Windows přes kerberos

Pro autorizaci pracovních stanic MS Windows není nutný ani ldap ani samba.

Stačí kdc server a uživatelé v databázi kerberosu.

Nastavení principalu pro službu krbtgt/virtual - není nezbytně nutné

kadmin.local -q "addprinc -randkey krbtgt/virtual"

Přidání stroje a hesla které bude použito pro přihlášení k lokálnímu účtu tohoto stroje (volba ksetup /setcomppassword tester )..

kadmin.local -q "ank -pw tester host/nula.virtual"

Přes ksetup nastavenu doménu a výchozího lokálního uživatele. Lze mít i pro každého uživatele účet extra (pak je místo namapovaného uživatele uvedena *)

důležité je nastavení hesla pro comp. musí odpovídat nastavení pro hosta v kerberosu

screenshot 00 - zachycuje výpis principálu screenshot 01 - zachycuje nastavení souboru hosts (není nezbytně nutné), výpis ksetup a nastavení pracovní skupiny screenshot 02 - zachycuje přihlašovací dialog při volbě s lokální autentizací screenshot 03 - zachycuje přihlašovací dialog při volbě s autentizací do kerberovy říše screenshot 04 - tuto chybovou hlášku vyhodí když není v databázi principal pro službu krbtgt/virtual screenshot 05 - zachytí chybu - když není nastaveno heslo pro počítač na klientské stanici screenshot 06 - zachytil chybu která se objeví když neexistuje uživatel user0 screenshot 07 - tuto chybovou hlášku vyhodí když není nastaven uživatel host/nula.virtual

Nastavení klientské stanice

Nastavení DNS pro pracovní skupinu je rozhodující pro přihlášení do REALMU

1, instalace utility ksetup - je součástí system tools na instalačním CD v balíku support.cab

2, tato utilita se zkopíruje do adresáře C:\Windows\system32

  1. 3, Vytvoří se soubor hosts, který se umístí (na Win XP) do adresáře C:\Windows\system32\system32\drivers\etc
  1. 4, Jeho syntaxe je následující..
  2. 172.16.54.131 virtual

5, Nastaví se kdc pro sféru kerbera (REALM) ksetup /addkdc VIRTUAL ldap-server Tento REALM se pak objeví jako přihlašovací doména (sféra) kerbera. Pro jeden REALM může být nastaveno více kdc serverů, a stejně tak může být nastaveno více REALMů (jeden KDC server může obsluhovat více realmů) V případě že jde o neexistující REALM objeví se hlášení o neexistující doméně (viz screenshot 05)

6, Nastaví se heslo pro přihlášení stroj Toto heslo není závislé na hesle lokálního uživatele, ale musí odpovídat heslu pro službu host!!!

Kerberos-04.png

7, Nastaví se.. ...výchozí lokální uživatel (musí existovat, jinak vzniká problém.. ) ksetup /mapuser VIRTUAL user0 ...nebo se nastaví že uživatel z kerbera s REALM VIRTUAL má i lokální účet ksetup /mapuser VIRTUAL * ...nebo že to může být libovolný uživatel z libovolného realmu ksetup /mapuser * * V případě že je nastaveno více REALMů, může být namapováno více uživatelů, každý pro jeden REALM

Pozn.: Po tiketu se znovu ptá pokud mu vyprší platnost stávajícího tiketu, který je uložen v profilu. Je třeba tedy raději začít od krátkodobějších tiketů, než naopak.

http://beemerworld.com/tips/xphosts.htm - nastavení hosts