LPS:WebAuth/Konfigurace WebKDC

Z HelpDesk

Pro správnou funkci je samozřejmě nutné korektně nakonfigurovat jednotlivé moduly WWW serveru, jak na straně WebKDC, tak na straně jednotlivých aplikačních serverů. V době, kdy jsme začínali experimentovat se systémem WebAuth, bylo v podstatě nutné moduly na jednotlivých strojích ručně překládat. V současné době již vývojáři poskytují kompilované balíky pro linuxovou distribuci Debian, čímž výrazným způsobem zjednodušili jak používání jejich systému, tak i jeho další šíření.

Jak WebKDC, tak i všechny aplikační servery mají svůj vlastní principal v Kerberos systému. Tento fakt pomáhá zvyšovat bezpečnost celého systému, neboť je možné definovat seznam "povolených" aplikačních serverů, které smí požádat o identitu přistupujícího uživatele.

Na straně WebKDC je samozřejmě nutné zapnout modul mod_webkdc, nainstalovat skripty a šablony, které se účastní ověření uživatele (přihlašovací formulář a jeho zpracování). V neposlední řadě je nutné provést alespoň minimální konfiguraci modulu. Toto nastavení může v konfiguračních souborech WWW serveru Apache vypadat například takto:

   ## WebKDC nastavení
   WebKdcServiceTokenLifetime 30d
   WebKdcKeyring /etc/apache2/conf/webkdc/keyring
   WebKdcKeytab /etc/apache2/conf/webkdc/keytab
   WebKdcTokenAcl /etc/apache2/conf/webkdc/token.acl

kde soubor keytab obsahuje krb klíč služby webkdc -- půjde například o klíč krb principalu "webkdc/webkdc.zcu.cz@ZCU.CZ". Soubor keyring pak obsahuje soukromý AES klíč webkdc služby. Tento soubor je načten při každém startu nového procesu Apache. V případě, že dosud tento soubor neexistuje, je modulem mod_webkdc vytvořen pro další použití. Direktiva WebKdcServiceTokenLifetime určuje, s jakou periodou si bude modul z bezpečnostních důvodů měnit tento privátní klíč. Poslední z uvedených souborů token.acl obsahuje seznam krb principalů, které se mohou serveru WebKDC dotazovat na identitu uživatele a také seznam tokenů, které mohou vyžadovat. Soubor tedy může mít například tento obsah:

    krb5:webauth/*.zcu.cz@ZCU.CZ id

kde tato řádka definuje, že kterýkoliv aplikační server identifikovaný krb principalem s instancí "webauth" v doméně zcu.cz (webauth/*.zcu.cz) smí vyžadovat identifikační token uživatele (id). Pokud máte kontrolu nad vytvářením krb principalů pro jednotlivé aplikační servery, pak je tento zápis dostačující. V opačném případě by bylo vhodné vyjmenovávat všechny tyto principaly pro případ jejich možného pozdějšího vyřazení ze seznamu aplikací, které se smějí WebKDC dotazovat na uživatelovu identitu.