Windows - Remote Authentication Dial-In User Service (RADIUS)

Windows 2000-et használó és a .NET szerverekkel ismerkedő rendszergazdák több ponton belefuthatnak a RADIUS protokollba, mint lehetséges választási alternatívába egy hitelesítési módszer kiválasztásánál. Vajon mit tud a RADIUS? Milyen előnyökkel jár a használata? Milyen portcímeket kell nyitva hagyni a tűzfalakon, routereken, hogy megfelelően működhessen? Többek között ezekre a kérdésekre igyekszünk választ adni az alábbiakban.
RADIUS
A RADIUS jelenleg a legnépszerűbb módszer a telefonos és bújtatott hálózati kapcsolatok felhasználóinak hitelesítésére és kapcsolatfelvételük engedélyezésére. Nem Windows-t futtató rendszereken igen elterjedten használják a távelérésű ügyfelek hitelesítésére. Népszerűsége megkövetelte, hogy a Windows rendszerekbe is bekerüljön. Találkozhatunk vele például az Internet szolgáltatóknál, amikor betárcsázunk és nevet, illetve jelszót adunk meg.
Legfőbb jellemezője a széleskörű alkalmazhatósága: betárcsázásos, VPN, vezeték nélküli, ethernet (pl.: 802.1x) kapcsolatokban használják a bejelentkezni kívánó ügyfelek hitelesítésére. A RADIUS hitelesítési eljárása azzal indul, hogy a távoli felhasználó kérést küld a szerver felé. A felhasználónál a RADIUS kliens működik, míg a szerveren a kiszolgáló oldali megfelelő. A folyamat többféle protokollra ülhet rá, például a Challenge Handshake Authentication Protocol (CHAP) felhasználható az elküldött hitelesítési információk titkosítására. Első lépésben a kliens összeállítja a szerver felé továbbítandó csomagot (részletes leírásuk az RFC 2866 szabványban található), ebbe benne van a felhasználó neve, jelszava, a RADIUS kliens azonosítója (ID) és portcíme. A jelszót a CHAP titkosítja a Rivest-Shamir-Adleman (RSA) MD5 eljárással.
Az összeállított csomag eljut a szerverre, ha az nem válaszol, megismétlődik a kérés egy adott várakozási idő eltelte után, egészen addig, amíg el nem éri a kritikus ismétlésszámot. Amennyiben nem elérhető az elsődleges szerver, a kliens megpróbálja a kérést eljuttatni további szerverekhez is, először a másodlagoshoz, utána a harmadlagoshoz és így tovább. Tehát a RADIUS szerverek között prioritás különbség áll fenn, nem egyenrangúak. Minden esetben automatikusan történik a további kiszolgálók keresése a felhasználónak semmi dolga vele, lehet, hogy mást nem is vesz észre, csak azt, hogy kicsit lassabban zajlik le a bejelentkezési folyamat.
Miután a RADIUS szerver fogadta a kliens kérését, feldolgozza és érvényre juttatja. Ellenőrzi, hogy valóban az adott klienstől érkezett-e, ami kizárja, hogy útközben valaki "elcsípje", módosítsa és továbbküldje a kiszolgáló felé. Tovább növelhető a biztonság, ha a kliensen be van állítva a digitális aláírás használata, ugyanis a RADIUS szerver képes ezt lekezelni. Miután minden rendben lévőnek találtatik, az elküldött felhasználói nevet meg kell keresni a helyi felhasználói adatbázisban (munkacsoportos és Active Directory hálózatokban egyaránt működik). Ha megvan, dekódolásra kerül a jelszó és megtörténik az ellenőrzése. Ha ez is rendben a hitelesítési résznek vége, de még nem biztos, hogy megkapja a felhasználó a bejelentkezési engedélyt, ugyanis megfelelő jogosultsággal kell rendelkeznie ehhez.
Amennyiben nem teljesül minden feltétel, a szerver is összeállít egy csomagot, melyben közli a klienssel a bejelentkezés elutasítását.
Ha minden rendben van, szintén összeállít a szerver egy csomagot, mely jelzi a bejelentkezés sikerességét, egy listát a RADIUS attribútumokról és minden szükséges adatot az adott szolgáltatás eléréséhez (IP cím, alhálózati maszk, MTU, tömörítési eljárások, csomagszűrések, stb.).
RADIUS Proxy
Windows .NET szerverekben a RADIUS szerverek más RADIUS szervereknek lehetnek proxy kliensei. Ez annyit jelent, hogy helyileg képesek gyorsítótárazni és kiszolgálni az információkat.
Mit kell tudni a rendszergazdáknak?
A RADIUS csomagok továbbítása a szerver és kliens között nem a TCP, hanem az UDP (User Datagram Protocol) használatával történik az 1812-es és 1813-as portcímeken. Az elsőn az authentikációs, másodikon a fiók üzenetek továbbítódnak. Fontos, hogy régebbi típusú RADIUS kiszolgálók az UDP 1645 és 1646-os porton kommunikálhatnak. A címeket mindenképpen figyelembe kell venni a hálózat tervezésénél, a tűzfalakat és egyéb forgalomkorlátozó/irányító eszközöket ennek megfelelően kell konfigurálni. A Windows implementációk a régebbi és újabb portcímeken is elfogadják a kéréseket.
Hol jelenik meg mindez a Windows-ban?
Több helyen, Windows 2000 szerveren például a Felügyeleti eszközök > Útválasztás és távelérés (Administrative Tools > Route and Remote Access) konzolján kattintsunk a kiszolgáló nevére a jobboldali egérgombbal és lépjünk a "Tulajdonságok" ("Properties") menüre. Lépjünk a megjelenő ablakban a "Biztonság" ("Security") oldalra.
Itt lehet kiválasztani azokat a hitelesítési és számlázási szolgáltatásokat, mely fogadják az ügyfélkéréseket. Alapértelmezésben Windows hitelesítés és számlázás van beállítva, de átállítható RADIUS-ra. Heterogén hálózatokban, ahol UNIX alapú és egyéb gépek is futnak a Windows módszer nem teszi lehetővé mindenki számára az útválasztási és távelérési szolgáltatás használatát a RADIUS-t viszont sokkal nagyobb eséllyel alkalmazhatjuk.
Windows .NET szerverekben az Internet Authentication Service (IAS) szolgáltatás épül a RADIUS használatára.