
Podíváme se na praktické využití Windows Active Directory + NPS (2 servery pro zajištění vysoké dostupnosti) + standard 802.1x pro kontrolu přístupu a autentizaci uživatelů – doménových počítačů – zařízení. S teorií o tomto standardu se můžete seznámit na Wikipedii na tomto odkazu:
Jelikož mám „laboratoř“ omezenou na zdroje, sloučíme role NPS a doménového kontroleru, ale doporučuji vám tyto kritické služby přesto oddělit.
Standardní způsoby synchronizace konfigurací (politiky) Windows NPS neznám, proto použijeme skripty PowerShell spouštěné plánovačem úloh (autorem je můj bývalý kolega). Pro autentizaci doménových počítačů a pro zařízení, která to neumí, 802.1x (telefony, tiskárny apod.), bude nastavena skupinová politika a vytvořeny bezpečnostní skupiny.
Na konci článku se podělím o některé zvláštnosti práce s 802.1x – jak lze použít neřízené switche, dynamic ACL apod. Podělím se o informace o zachycených „problémech“...
Začneme s instalací a nastavením failover NPS na Windows Server 2012R2 (na 2016 je vše analogické): přes Server Manager -> Průvodce přidáním rolí a funkcí vybereme pouze Network Policy Server.

nebo pomocí PowerShell:
Install-WindowsFeature NPAS -IncludeManagementToolsMalé upřesnění – jelikož pro Protected EAP (PEAP) budete potřebovat certifikát potvrzující pravost serveru (s odpovídajícími právy na použití), který bude důvěryhodný na klientských počítačích, pravděpodobně budete muset také nainstalovat roli Certification Authority. Ale budeme předpokládat, že CA už máte nainstalováno...
Uděláme totéž na druhém serveru. Vytvoříme složku pro skript C:Scripts na obou serverech a síťovou složku na druhém serveru SRV2NPS-config$
Na prvním serveru vytvoříme skript PowerShell C:ScriptsExport-NPS-config.ps1 s následujícím obsahem:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"Poté nastavíme úlohu v Plánovači úloh: "Export-NpsConfiguration”
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1" Provádět pro všechny uživatele – Spustit s nejvyššími právy
Denně – Opakovat úlohu každých 10 minut po dobu 8 hodin.
Na záložním NPS nastavíme import konfigurace (politiky):
vytvoříme skript PowerShell:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1a úlohu pro jeho spuštění každých 10 minut:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1" Provádět pro všechny uživatele – Spustit s nejvyššími právy
Denně – Opakovat úlohu každých 10 minut po dobu 8 hodin.
Nyní, pro kontrolu, přidáme do NPS na jednom ze serverů (!) pár přepínačů do RADIUS klientů (IP a Shared Secret), dvě politiky žádostí o připojení: WIRED-Connect (Podmínka: „Typ portu NAS – Ethernet“) a WiFi-Enterprise (Podmínka: „Typ portu NAS – IEEE 802.11“), a také síťovou politiku Access Cisco Network Devices (síťoví administrátoři):
Podmínky:
Skupiny Windows - domainsg-network-admins
Omezení:
Metody ověřování - Ověření otevřeným textem (PAP, SPAP)
Parametry:
Atributy RADIUS: Standard - Service-Type - Login
Závislé na dodavateli - Cisco-AV-Pair - Cisco - shell:priv-lvl=15Z pohledu přepínačů následující nastavení:
aaa new-model
aaa local authentication attempts max-fail 5
!
!
aaa group server radius NPS
server-private 192.168.38.151 auth-port 1812 acct-port 1813 key %shared_secret%
server-private 192.168.10.151 auth-port 1812 acct-port 1813 key %shared_secret%
!
aaa authentication login default group NPS local
aaa authentication dot1x default group NPS
aaa authorization console
aaa authorization exec default group NPS local if-authenticated
aaa authorization network default group NPS
!
aaa session-id common
!
identity profile default
!
dot1x system-auth-control
!
!
line vty 0 4
exec-timeout 5 0
transport input ssh
escape-character 99
line vty 5 15
exec-timeout 5 0
logging synchronous
transport input ssh
escape-character 99Po nastavení, po 10 minutách, by měly všechny klientské politiky parametry objevit i na záložním NPS a budeme se moci autorizovat na přepínačích pomocí účtu Active Directory, člena skupiny domainsg-network-admins (kterou jsme vytvořili předem).
Přejdeme k nastavení Active Directory – vytvoříme skupinovou a heslovou politiku, vytvoříme potřebné skupiny.
Skupinová politika Computers-8021x-Settings:
Konfigurace počítače (Povolená)
Politiky
Windows Settings
Bezpečnostní nastavení
Systémové služby
Wired AutoConfig (Režim spuštění: Automatický)
Wired Network (802.3) Politiky
NPS-802-1x
Název NPS-802-1x
Popis 802.1x
Globální nastavení
NASTAVENÍ HODNOTA
Použijte služby sítě LAN pro drátové klienty Povoleno
Sdílené uživatelské údaje pro síťové ověřování Povoleno
Profil sítě
Bezpečnostní nastavení
Povolit použití ověřování IEEE 802.1X pro přístup k síti Povoleno
Vynutit použití ověřování IEEE 802.1X pro přístup k síti Zakázáno
Nastavení IEEE 802.1X
Ověření počítače Pouze počítač
Maximální selhání ověřování 10
Maximální EAPOL-Start zprávy odeslané
Zadržené období (sekundy)
Startovací období (sekundy)
Ověřovací období (sekundy)
Vlastnosti metody síťového ověřování
Metoda ověřování Ochráněný EAP (PEAP)
Ověřit certifikát serveru Povoleno
Připojit k těmto serverům
Nepožadovat po uživateli autorizaci nových serverů nebo důvěryhodných certifikačních autorit Zakázáno
Povolit rychlé opětovné připojení Povoleno
Odpojit, pokud server nepředloží kryptobinding TLV Zakázáno
Vynutit ochranu přístupu k síti Zakázáno
Konfigurace metody ověřování
Metoda ověřování Zabezpečené heslo (EAP-MSCHAP v2)
Automaticky použít mé uživatelské jméno a heslo Windows (a doménu, pokud nějaká) Povoleno
Vytvoříme skupinu zabezpečení sg-computers-8021x-vl100, where we will add the computers that we want to distribute into VLAN 100 and configure filtering for the previously created group policy on this group:

To ensure that the policy has been successfully applied, you can open the “Network and Sharing Center (Network and Internet Settings) – Change Adapter Settings (Adapter Settings) – Adapter Properties,” where we will see the “Authentication” tab:

Once we have confirmed that the policy is being successfully applied, we can proceed to configure the network policy on NPS and access switch ports.
Let's create a network policy neag-computers-8021x-vl100:
Conditions:
Windows Groups - sg-computers-8021x-vl100
NAS Port Type - Ethernet
Constraints:
Authentication Methods - Microsoft: Protected EAP (PEAP) - Unencrypted authentication (PAP, SPAP)
NAS Port Type - Ethernet
Settings:
Standard:
Framed-MTU 1344
TunnelMediumType 802 (includes all 802 media plus Ethernet canonical format)
TunnelPrivateGroupId 100
TunnelType Virtual LANs (VLAN) 
Typical settings for the switch port (note that multi-domain authentication type is used – Data & Voice, and there is also the possibility of MAC address authentication. During the 'transition period', it's reasonable to use the following parameters:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
the VLAN ID is not 'quarantine' but the same as the one the user's computer should enter after successful authentication – until we are sure everything is working correctly. These parameters can also be used in other scenarios, for example, when an unmanaged switch is plugged into this port and you want all devices connected to it that have not passed authentication to be placed in a specific VLAN (‘quarantine’).
switch port settings in 802.1x mode host-mode multi-domain
default int range Gi1/0/39-41
int range Gi1/0/39-41
shu
des PC-IPhone_802.1x
switchport mode access
switchport nonegotiate
switchport voice vlan 55
switchport port-security maximum 2
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-domain
authentication port-control auto
authentication violation restrict
mab
dot1x pae authenticator
dot1x timeout quiet-period 15
dot1x timeout tx-period 3
storm-control broadcast level pps 100
storm-control multicast level pps 110
no vtp
lldp receive
lldp transmit
spanning-tree portfast
no shu
exitYou can verify that the computer/telephone has successfully authenticated using the command:
sh authentication sessions int Gi1/0/39 detNow let's create a group (for example, sg-fgpp-mab ) v Active Directory pro telefony a přidáme do ní jedno zařízení pro testování (v mém případě to je Grandstream GXP2160 s MAC adresou 000b.82ba.a7b1 a odpovídajícím uživatelským účtem domain 00b82baa7b1).
Pro vytvořenou skupinu snížíme požadavky na zásady hesel (použitím přes Active Directory Administrative Center -> domain -> System -> Password Settings Container) s těmito parametry Nastavení-hesla-pro-MAB:

tímto povolíme používat MAC adresy zařízení jako hesla. Po tomto budeme moci vytvořit síťovou politiku pro autentizaci 802.1x method mab, nazveme ji neag-devices-8021x-voice. Parametry jsou následující:
- NAS Port Type – Ethernet
- Windows Groups – sg-fgpp-mab
- EAP Types: Nešifrovaná autentizace (PAP, SPAP)
- RADIUS Atributy – Specifické pro dodavatele: Cisco – Cisco-AV-Pair – Hodnota atributu: device-traffic-class=voice
po úspěšné autentizaci (nezapomeňte nastavit port switche), podíváme se na informace z portu:
sh authentication se int Gi1/0/34
----------------------------------------
Rozhraní: GigabitEthernet1/0/34
MAC adresa: 000b.82ba.a7b1
IP adresa: 172.29.31.89
Uživatel: 000b82baa7b1
Stav: Authz Success
Doména: VOICE
Oper host mode: multi-domain
Oper control dir: both
Oprávněno: Autentizační server
Časový limit relace: N/A
Časový limit nečinnosti: N/A
Společné ID relace: 0000000000000EB2000B8C5E
ID relace účtování: 0x00000134
Handle: 0xCE000EB3
Seznam spuštěných metod:
Metoda Stav
dot1x Neúspěšné překročení
mab Authc SuccessNyní, jak jsem slíbil, prozkoumáme několik méně zřejmých situací. Například, potřebujeme připojit počítačová zařízení uživatelů přes neřízený switch. V tomto případě budou nastavení portu vypadat následujícím způsobem:
nastavení portu switche v režimu 802.1x host-mode multi-auth
interface GigabitEthernet1/0/1
description *SW – 802.1x – 8 mac*
shu
switchport mode access
switchport nonegotiate
switchport voice vlan 55
switchport port-security maximum 8 ! zvyšujeme počet povolených MAC adres
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth ! – režim autentizace
authentication port-control auto
authentication violation restrict
mab
dot1x pae authenticator
dot1x timeout quiet-period 15
dot1x timeout tx-period 3
storm-control broadcast level pps 100
storm-control multicast level pps 110
no vtp
spanning-tree portfast
no shuP.S. všiml jsem si velmi podivného problému – pokud bylo zařízení připojeno přes takový switch a poté bylo připojeno do řízeného switche, tak to NEpoběží, dokud ho nerestartujeme(!) switch. Zatím jsem nenašel žádný jiný způsob, jak tento problém vyřešit.
Ještě jeden bod týkající se DHCP (pokud se používá ip dhcp snooping) – bez takovýchto možností:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information optionZ nějakého důvodu nelze správně získat IP adresu… i když to může být vlastnost našeho DHCP serveru.
A také Mac OS & Linux (ve kterých je podpora 802.1x nativní) se pokoušejí autentikovat uživatelem, i když je nastavena autentizace podle MAC adresy.
V další části článku se zaměříme na použití 802.1x pro bezdrátové sítě (v závislosti na skupině, do které uživatelský účet patří, jej 'hodíme' do odpovídající sítě (VLAN), i když se připojují k jednomu SSID).
Zdroj: habr.com
