FreeRADIUS server je již ve svém základu nakonfigurován k funkčnímu běhu. Konfigurace je k nalezení v souboru /etc/freeradius/radiusd.conf
. Celá konfigurace je kompletně okomentovaná, a proto není problém se v ní vyznat. V první části konfigurace je definice umístění důležitých souborů. V této části se nedoporučuje konfiguraci měnit, pokud vše funguje v pořádku.
Další důležitý parametr je max_request_time
. Ten je defaultně nastavený na 30 sekund. Je to maximální doba na obsloužení požadavku. Většina požadavku je obsloužena do jedné sekundy, ale při vyšším zatížení může trvat déle. Pokud je překročena tato doba, znamená to bug v serveru, nebo špatnou lokální konfiguraci.
Parametr cleanup_delay určuje, za jakou dobu se smaže požadavek, a odpověď serveru na dotaz NASu. Pokud FreeRADIUS pošle odpověď NASu a cestou se ztratí, NAS pošle požadavek ještě jednou. FreeRADIUS pak již nemusí odpověď znovu sestavovat.
Dalším důležitým parametrem je max_request
. Tento parametr určuje, kolik maximálně požadavků si pamatuje. Tento parametr je dobré mít dobře vyvážený. Pokud je nastavený na příliš malé číslo, tak se může stát, že při vyšším vytížení se dřív zavolá cleanup_delay
a požadavky se smažou. Při příliš velkém číslu roste paměťová náročnost bez toho, aniž by to mělo vliv na vyváženou funkci. Doporučuje se nastavit tento parametr na 256 až 1 000 na klienta (NAS).
Dále existuje několik oddílů konfigurace:
listen
– určuje, na jakých IP adresách má poslouchat, na jakých rozhraních a jaké služby FreeRADIUS serveru má obsluhovat (autentizace, účtování).log
– nastavení, jakým způsobem se mají uchovávat logy, co se má logovat.security
– existuje několik způsobů útoků na server. V tomto oddíle se konfigurují parametry, které určují základní bezpečnost a minimalizují možnosti útoku na FreeRADIUS server.proxy
– tento oddíl je většinou definovaný mimo hlavní konfigurační soubor, a to v souboruproxy.conf
. Zde jde definovat několik „home serverů“, které slouží pro rozložení zátěže na jiné FreeRADIUS servery a pro případ selhání místního serveru.clients
– konfigurace klientů. Tato část bývá oddělena a uložena v souboru/etc/freeradius/clients.conf
. V této části jsou definovány klientské NAS, jejich IP rozsah a sdílené heslo.thread pool
– v tomto oddíle lze konfigurovat využití vláken při zpracování požadavků. Pokud je nastaveno použití mnoha vláken, zatěžuje to výpočetní výkon počítače. Pokud je jich naopak málo, tak se další vlákno sice vytvoří, ale tento proces trochu zpozdí zpracování. Ve výchozí konfiguraci je tato část nastavena tak, aby FreeRADIUS fungoval skvěle při různých situacích.- modules – pokud je potřeba konfigurovat nějaké přídavné moduly, děje se to právě v tomto oddíle. Většina konfigurací modulů se nachází v podadresáři
/etc/freeradius/modules
. Výjimku tvoří modul SQL a EAP, jejichž konfigurace se nachází v/etc/freeradius
. Moduly se načítají pouze tehdy, pokud jsou vyžádány v sekci authorize, authenticate, accounting atd... instantiate
– v tomto oddíle se načítají moduly zde uvedené. Tyto moduly se načtou do paměti a inicializují. Tento oddíl v podstatě není nutný, neboť se moduly mohou inicializovat i v dalších oddílech. Nicméně lze tento způsob inicializace modulů použít v případě, že jeden modul závisí na druhém, protože zde je možnost ovlivnit pořadí jejich načítání.
Konfigurace části listen
Tato část konfigurace je důležitá na zařízeních s více rozhraními. Příklad konfigurace:
listen { ipaddr = 10.13.70.1 port = 1812 type = auth virtual_server = server_ucitele } listen { ipaddr = 10.13.90.1 port = 1812 type = auth virtual_server = server_zaci }
Za parametrem ipaddr
následuje IPv4 adresa, na které FreeRADIUS naslouchá. Obdobně existuje i parametr ipv6addr
pro protokol IPv6. Parametr port
určuje port, na kterém server naslouchá. Obvykle to bývá 1812 pro autorizaci a 1813 pro účtování. Pokud bude uvedena hodnota 0, užívá se defaultní hodnota 1812.
Parametr type
určuje typ přijímaných paketů. Pro autentizaci je hodnota auth
a pro účtování je acct
. FreeRADIUS server umí vytvářet i další virtuální servery. Parametr virtual_server
určuje, jaký virtuální server bude obsluhovat danou konfiguraci (IP adresa, port, typ paketů). Virtuální server v podání FreeRADIUSu je v podstatě série různých konfiguračních souborů. Parametr virtual_server
nemusí být obsažen. Tehdy se použije virtuální server se jménem default
.
Konfigurace klientů
Nejčastějším klientem FreeRADIUS serveru je access point, ale může se jednat i o jiné zařízení, jako je třeba switch. Konfigurace klientů (nebo NAS) je uložena v souboru /etc/freeradius/clients.conf
. Konfigurovat lze klienty jednotlivě nebo všechny z jednoho rozsahu najednou:
client 192.168.2.0/24 { secret = tajneheslo shortname = WiFi nastype = other login = !root }
Tato část konfigurace přísluší všem klientům (NASům) z rozsahu 192.168.2.0/24. Nejdůležitější je položka secret, která určuje sdílené heslo, které slouží pro zašifrování a podepsání komunikace PPP tunelem s FreeRADIUS serverem. Autoři serveru doporučují heslo o délce větší než 8 znaků a menší než 16 znaků. Položka shortname je důležitá pro logování. Pomocí položky nastype určujeme druh dialektu, kterým komunikuje NAS s FreeRADIUS serverem. Pro základní komunikaci bude fungovat jakýkoliv typ, ale problém nastane třeba při použití parametru Simultaneous-use v konfiguraci uživatelů.
V příštím díle se seznámíme s nastavením autentizace pomocí protokolu EAP a podíváme se na způsob ukládání uživatelských údajů v souboru.