802.1X-es hitelesítés Windows szerverrel és Cisco kapcsolóval

írta: mbalint987, 6 éve

A minap kitaláltam, hogy milyen király lenne megnézni, hogy hogyan lehet a korábbiakhoz erősebben szabályozni, hogy kik férhetnek hozzá a vállalati hálózathoz. Ugye van a Cisco kapcsolókban alapvető portbiztonság, de egyrészről a MAC-cím hamisítható, másrészről meg ugye porthoz kötött, ami nem túl kényelmes megoldás.

A probléma megoldásához a 802.1X-es authentikáció pont kézen fekvő volt, azt leszámítva persze, hogy nincsenek "step-by-step" leírások a témához (szóval fellapoztam az MSDN-t meg a Cisco-nak a dokumentációit). Meg persze a Packet Tracer sehol nem ismeri ezt a technológiát, szóval kérdés nélkül a GNS3 mellett döntöttem.

Lássuk a teszthálót:

Hogyan hitelesítek? Vagy a kliens tanúsítványával, vagy a MAC-címmel, a kapcsoló adott portjának beállításainak megfelelően. Feltehetőleg a holnapi nap feladat lesz egységesíteni a portok beállításait, és megadni, hogy a 802.1X sikertelensége után mehet a MAC-alapú hitelesítés. A tanusítványt egyébként a Windows szervertől kapják a kliensek AD (tartomány) segítségével.

A két kliens közül a felső Windows 10 Enterprise-t (1709), az alsó Windows XP Professional-t, a szerver pedig egy Windows Server 2016 Standard rendszert futtat. Az útválasztó egy Cisco 7200-es (15.3-as IOS-szel), a kapcsoló pedig egy Layer 2-es IOU típus (15.2-es IOS-szel).

Az útválasztó DHCP-n kap címet az Internettől, amit porttúlterheléses módszerrel NAT-ol mindkét privát alhálózat felé. A DNS-szerver funkciókat a Windows szerver látja el (nyilván az AD miatt, és forward-ol is), a DHCP-szerver az útválasztó lesz.

Beállítások
A szerveren nagy vonalakban a következőket végeztem el: szervertelepítés (és alapvető beállítások), AD telepítése és tartományba léptetése, DNS konfigurálása (forwarding), AD CS telepítése és konfigurálása (új Enterprise CA), NPAS telepítése, konfigurálása (pl.: a kapcsoló felvétele a RADIUS kliensekhez) és a házirendek létrehozása illetve a csoportházirend beállítása (a tartományi gépek auto. kérnek maguknak tanúsítványt illetve a 802.1X-es beállítások).

Mindkét kliensen be kellett kapcsolnom a DOT3SVC szolgáltatást (így egyszerűbb keresni is, mert a magyar és angol Windows-ok rendre más séma alapján nevezik ezt is), az XP-n viszont még be kellett állítanom, hogy használja a 802.1X-es authentikációt, és ezt PEAP módszerrel tegye.

Az útválasztón az alap beállítások megadása után a NAT-ot és az alapértelmezett útvonalat kellett csak állítanunk.

A kapcsolón (szintén az alap beállítások megadása után) be kellett állítani a RADIUS-szerver címét (ez lesz ugye a Windows szerver címe), engedélyezni a dot1x-et globálisan és megadni, hogy a hitelesítéshez a RADIUS-szervert használja, majd portonként egyesével beállítani, hogy melyik porton legyen kényszerítve a kliens hitelesítésre (vagy 802.1x tanúsítvánnyal vagy MAC-címmel).

Képernyőkép az útválasztóról, kapcsolóról és a Windows 10-es kliensről:


A kapcsoló és a szerver is megerősíti, hogy a 802.1X-es hitelesítés megtörtént

Illetve képernyőkép a szerverről:


A módosított (alapért.) csoportházirend, és az NPAS házirendjei

A Windows XP-s kliens ilyen beállításokkal megy:


Az engedélyezett szolgáltatás és a manuálisan megadott 802.1X-es beállítások (az XP nem része a tartománynak)

Gondolkodom/gondolkodtam rajta, hogy kéne-e erről egy tartalmasabb címlapos írást közölnöm, de szerintem ez annyira rétegtudás, hogy nagy igény nem igazán lenne rá. Viszont adok pár linket, ha valaki követne engem:

- How to use 802.1x/mac-auth and dynamic VLAN assignment (a Windows-os része használható)
- Checklist: Configure NPS for 802.1X Authenticating Switch Access (az előző leírást egészíti ki, nagyon hasznos)
- 802.1X Authentication Services Configuration Guide, Cisco IOS XE Release 3SE (Catalyst 3850 Switches) (irgalmatlan hosszú, de a parancsokat itt találhatjuk majd meg)
- A simple wired 802.1X lab (step-by-step leírás a 802.1X egyszerűbb formájáról, hasznos lehet)

Ha minden igaz, a napokban még visszanézek, és kiegészítem ezt a bejegyzést pár tippel, paranccsal esetleg linkkel. :R