Úvod a instalace
V dnešní době je často skloňovaná bezpečnost důležitá obzvlášť v bezdrátových sítích. Zabezpečit si svou malou domácí bezdrátovou síť je poměrně jednoduché, ale zabezpečení velké firemní nebo školní sítě je složitější.
V tomto případě se naskýtá řešení v podobě použití serveru, který implementuje AAA protokol (authentication, authorization and accounting, česky autentizace, autorizace a účtování) používaný pro přístup k síti. Na tomto místě je třeba zmínit protokoly RADIUS a TACACS+. Ve srovnání těchto protokolů vychází ve většině parametrů lépe protokol TACACS+, nicméně jeho omezující vlastností je, že jde o proprietární protokol Cisco, na rozdíl od otevřeného standardu RADIUS. Existuji servery s jejich implementací jak pro Windows servery, tak i pro Linux. Bohužel mnoho zařízení z řad přístupových bodů (AP) protokol TACACS+ nepodporují.
Proto jsem se rozhodl používat protokol RADIUS, který jen posílán pomocí protokolu UDP. Každé AP, které ověřuje pomocí RADIUS protokolu, se nazývá klient nebo taky NAS. Jak probíhá komunikace mezi klientem a serverem? Uživatel pošle klientovi uživatelské jméno a heslo. Klient vytvoří šifrované spojení PPP a vytvoří paket Access-Request, který obsahuje uživatelské jméno, heslo a ID portu, na který je uživatel připojen.
Tento paket je poslán k RADIUS serveru, většinou naslouchá na portu 1812, který mu byl vyhrazen. RADIUS server odešle paket typu Access-Reject v případě zamítnutí autorizace. Tento paket může obsahovat pouze zprávu pro uživatele. V případě, že je autorizace úspěšná, RADIUS server pošle Access-Accept. V rámci tohoto paketu lze poslat i základní nastavení sítě, jako je IP adresa, maska sítě, VLAN atd.
Instalace FreeRADIUS serveru
Jedna z nejznámějších implementací RADIUS protokolu je FreeRADIUS server. Jeho výhodou je opensource licence. FreeRADIUS je obsažen ve většině linuxových distribucí jako balíček v repositáři.
Instalace FreeRADIUS serveru je snadná.
apt-get install freeradius
pro systémy založené na Debianu. Během instalace nás instalační systém vyzve k vytvoření SSL klíčů a vytvoří základní konfiguraci. Tato základní konfigurace je již plně funkční.
Z bezpečnostních důvodů se nedoporučuje FreeRADIUS server spouštět pod privilegovaným uživatelem root. Instalátor vytvoří uživatele freerad a stejně pojmenovanou skupinu, do které tento uživatel patří. Tento účet má tolik pravomocí, kolik potřebuje k práci FreeRADIUS server.
Po instalaci se nesmí zapomenout zpřístupnit potřebné porty na firewallu. Pokud nejsou změněny výchozí porty po instalaci, měly by být povoleny porty 1812 pro autentizaci a autorizaci a 1813 pro účtování.
Konfigurace firewallu pro Linux:
iptables -A INPUT -p tcp --dport 1812 -j ACCEPT iptables -A INPUT -p tcp --dport 1813 -j ACCEPT
Moduly a balíčky serveru
FreeRADIUS je modulární. Základní instalace obsahuje několik modulů. FreeRADIUS umožňuje vytvářet i vlastní moduly, virtuální moduly, a dokonce i virtuální servery. Následující tabulka obsahuje základní balíčky i balíčky s přídavnými moduly:
Jméno balíčku | Základní popis |
freeradius | základní balíček FreeRADIUS serveru |
libfreeradius2 | sdílená knihovna |
freeradius-common | společné soubory, jako je konfigurace, slovníky a manuálové stránky |
freeradius-utils | různé utility, které slouží pro testování a ladění, jako je radclient, radtest, smbencrypt, radsniff a radzap |
freeradius-ldap | balíčem s LDAP modulem, pro AAA pomocí LDAP |
freeradius-krb5 | balíček s modulem Kerberos |
freeradius-postgresql | balíček s modulem pro uchovávání AAA informací v PostgreSQL databázi |
freeradius-mysql | balíček s modulem pro uchovávání AAA informací v SQL databázi |
Tabulka 1: Instalační balíčky FreeRADIUS serveru
Výše uvedené balíčky jsou pojmenovány tak, jak je nabízí linuxová distribuce Debian. Balíček freeradius je závislý na balíčcích libfreeradius2 a freeradius-common, balíček freeradius-utils je doporučený a zbývající balíčky jsou navrhované a instalují se dle potřeby pro různé způsoby uchovávání informací o uživatelích.
V příštím díle se budeme zabývat základní konfigurací FreeRADIUS serveru.