Skip to content

Bez loginu ani vlnu – 802.11x a Radius

V případě, že provozujete wifi pro více lidí, možná nechcete, aby mezi sebou sdíleli jediné heslo pro WPA2 autentizaci. Pro tuto situaci je ideální nasazení Radiusu, který přesně toto řeší.

Mimochodem, WEP nebo WPA nepoužívejte. Nikdy.

A nyní se podíváme, jak za pár minut rozjet Radius v naší wifi síti. Radius je skvělý pomocník právě pro případy, kdy potřebujeme řešit přístup k síti  pro více uživatelů či skupin. V linuxu je realizován pomocí sw FreeRadius. Ten umí používat několik backend databází, například LDAP, MySQL, Postgres, Kerberos5 či klasické systémové uživatele z /etc/passwd. Já se zmíním jen o MySQL, protože jsem mohl využít import uživatelů z jiné sql. FreeRadius řeší kromě autentizace uživatelů také dhcp. V tomto případě jsem ho ale nevyužil, protože jiné dhcp již rozjeté mám.

Následující postup se týká CentOSu 7, ale je samozřejmě podobný i v jiných distribucích.

Nainstalujeme tedy základní CentOS například s použitím kickstartu a doinstalujeme balík freeradius-mysql a freeradius-utils. Po instalaci se přesuneme do konfiguračního adresáře v /etc/raddb. Zde, v mods-enabled, zkontrolujeme, zda je tu symlink sql a pokud ne, vytvoříme ho z mods-available/sql. Poté ho otevřeme a najdeme volbu driver, zde musí být rlm_sql_mysql. Pod touto volbou se dále nachází připojení k databázi mysql, které může, ale nemusí, ležet na stroji s radiusem. Nyní je čas na vytvoření uživatelského účtu do mysql a databáze. Po vytvoření musíte naimportovat radius schema, které najdete v mods-config/sql/main/mysql/schema.sql. Dále můžete nastavit například maximální počet spojení, což odhadnete podle počtu uživatelů. Po uložení otevřete ještě soubor /etc/raddb/clients.conf, kde bude potřeba nakonfigurovat jednotlivé klienty. V tomto případě klient neznamená koncové zařízení, ale například wifi AP.

client wifiap1 { #název klienta
ipaddr = 192.168.168.192 #ip adresa klienta
proto = *
netmask = 32 #maska. Zde je v podstatě nejlepší mít 32 což v ipv4 definuje jednu konkrétní ip adresu. Nedoporučuje se uvádět rozsah z bezpečnostních důvodů. Pro definici více klientů s různými IP adresami se použije další sekce client tolikrát, kolik máme klientů.

secret = NWlKtkQnMEN4Mu7V #heslo, které pak zadáme do konfigurace jednotlivých wifi AP, aby se mohla autorizovat vůči našemu radiusu
require_message_authenticator = no
limit {
max_connections = 0 #default je 16, 0 je neomezený počet konexí od klienta (v návaznosti je dobré doladit podobně i soubor /etc/raddb/radiusd.conf, kde jsou také limity na spojení)
lifetime = 0
idle_timeout = 30
}
}

Pokud jste instalovali centos pomocí mého kickstart scriptu, nemáte v něm ani firewall ani selinux. V opačném případě rozhodně zkontrolujte, zda vám firewall nezahazuje požadavky na tcp+udp port 1812 a 1813.

Do sql si můžete přidat nové uživatele na vyzkoušení a to konkrétně takto:

INSERT INTO radcheck VALUES('','uzivatelsky_login','Cleartext-Password',':=','uzivatelske_heslo');

Nyní stačí restartovat radius a popř. ho dát do runlevelu.

systemctl enable radiusd
systemctl restart radiusd

V APčkách je potřeba nastavit WPA2 Enterprise mód a vyplnit potřebné údaje – adresu serveru, port a heslo a poté je již možno vyzkoušet, zda připojení funguje. U Windows 8 vše fungovalo na první dobrou, u androidu mě telefon nutil nastavit si ještě k tomu vyšší zabezpečení pro uzamčení obrazovky (gesta, heslo …). Pravděpodobně je to proto, že autorizaci u radiusu lze provádět například i pomocí certifikátů, tak aby byly pod větší ochranou … či co … 😀
Pokud přidáváte radius do již existující wifi sítě, je potřeba před připojením zařízení (telefon, notebook …) z něj vymazat zapamatované AP, jinak se bude toto zařízení pokoušet připojovat podle původního nastavení.

FreeRadius lze nakonfigurovat pro použití certifikátů, pro použití dhcp serveru z radiusu místo vlasního řešení, lze dělit uživatele do skupin a mít různá nastavení pro různé klienty. Pro případ, že by něco nefungovalo, je dobré spustit radius z konsole jako radiusd -X a odladit tak možné chyby v konfiguraci.

88688-Wifi+wireless+funny+birds+imag

2 thoughts on “Bez loginu ani vlnu – 802.11x a Radius

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Time limit is exhausted. Please reload the CAPTCHA.