Praktiškai panagrinėkime Windows Active Directory + NPS (2 serveriai, užtikrinantys atsparumą gedimams) + 802.1x standarto naudojimą vartotojų – domeno kompiuterių – įrenginių prieigos kontrolei ir autentifikavimui. Su teorija pagal standartą galite susipažinti Vikipedijoje, nuorodoje:
Kadangi mano „laboratorijos“ ištekliai riboti, NPS ir domeno valdiklio vaidmenys yra suderinami, tačiau rekomenduoju vis tiek atskirti tokias svarbias paslaugas.
Nežinau standartinių Windows NPS konfigūracijų (politikos) sinchronizavimo būdų, todėl naudosime PowerShell scenarijus, kuriuos paleido užduočių planuoklis (autorius yra mano buvęs kolega). Domeno kompiuterių ir įrenginių, kurių negali atlikti, autentifikavimui 802.1x (telefonai, spausdintuvai ir kt.), bus sukonfigūruota grupės politika ir sukurtos saugos grupės.
Straipsnio pabaigoje papasakosiu apie kai kuriuos darbo su 802.1x subtilybes – kaip galite naudoti nevaldomus jungiklius, dinaminius ACL ir t.t. Pasidalinsiu informacija apie pastebėtus „trikimus“. .
Pradėkime nuo perjungimo NPS įdiegimo ir konfigūravimo sistemoje Windows Server 2012R2 (2016 m. viskas yra taip pat): per Serverio tvarkyklė -> Pridėti vaidmenų ir funkcijų vedlį pasirinkite tik tinklo strategijos serverį.
arba naudojant „PowerShell“:
Install-WindowsFeature NPAS -IncludeManagementTools
Nedidelis patikslinimas – kadangi už Apsaugotas EAP (PEAP) jums tikrai reikės sertifikato, patvirtinančio serverio autentiškumą (su atitinkamomis naudojimo teisėmis), kuriuo bus pasitikima klientų kompiuteriuose, tada greičiausiai reikės įdiegti vaidmenį sertifikavimo institucija. Bet mes taip manysime CA jau turite jį įdiegę...
Padarykime tą patį antrame serveryje. Sukurkime aplanką C:Scripts scenarijui abiejuose serveriuose ir tinklo aplanką antrame serveryje SRV2NPS-config$
Pirmajame serveryje sukurkime PowerShell scenarijų C:ScriptsExport-NPS-config.ps1 su tokiu turiniu:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"
Po to sukonfigūruokime užduotį užduočių planuoklyje:Eksportuoti-NpsConfiguration"
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1"
Vykdyti visiems vartotojams – paleisti su aukščiausiomis teisėmis
Kasdien – kartokite užduotį kas 10 minučių. per 8 valandas
Atsarginėje NPS sukonfigūruokite konfigūracijos (politikos) importavimą:
Sukurkime „PowerShell“ scenarijų:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1
ir užduotis atlikti ją kas 10 minučių:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1"
Vykdyti visiems vartotojams – paleisti su aukščiausiomis teisėmis
Kasdien – kartokite užduotį kas 10 minučių. per 8 valandas
Dabar, norėdami patikrinti, pridėkime prie NPS viename iš serverių (!) RADIUS klientų porą jungiklių (IP ir Shared Secret), dvi ryšio užklausos strategijas: LAIDINIS jungtis (Sąlyga: „NAS prievado tipas yra eternetas“) ir „WiFi“ įmonė (Sąlyga: „NAS prievado tipas yra IEEE 802.11“), taip pat tinklo politika Pasiekite „Cisco“ tinklo įrenginius (tinklo administratoriai):
Условия:
Группы Windows - domainsg-network-admins
Ограничения:
Методы проверки подлинности - Проверка открытым текстом (PAP, SPAP)
Параметры:
Атрибуты RADIUS: Стандарт - Service-Type - Login
Зависящие от поставщика - Cisco-AV-Pair - Cisco - shell:priv-lvl=15
Jungiklio pusėje yra šie nustatymai:
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 99
Po konfigūravimo, po 10 minučių, visi klientų politikos parametrai turėtų pasirodyti atsarginiame NPS ir mes galėsime prisijungti prie jungiklių naudodami ActiveDirectory paskyrą, domenai g-network-admins grupės narį (kurią sukūrėme iš anksto).
Pereikime prie Active Directory nustatymo – sukurkite grupių ir slaptažodžių strategijas, sukurkite reikiamas grupes.
Grupės politika Kompiuteriai-8021x-Nustatymai:
Computer Configuration (Enabled)
Policies
Windows Settings
Security Settings
System Services
Wired AutoConfig (Startup Mode: Automatic)
Wired Network (802.3) Policies
NPS-802-1x
Name NPS-802-1x
Description 802.1x
Global Settings
SETTING VALUE
Use Windows wired LAN network services for clients Enabled
Shared user credentials for network authentication Enabled
Network Profile
Security Settings
Enable use of IEEE 802.1X authentication for network access Enabled
Enforce use of IEEE 802.1X authentication for network access Disabled
IEEE 802.1X Settings
Computer Authentication Computer only
Maximum Authentication Failures 10
Maximum EAPOL-Start Messages Sent
Held Period (seconds)
Start Period (seconds)
Authentication Period (seconds)
Network Authentication Method Properties
Authentication method Protected EAP (PEAP)
Validate server certificate Enabled
Connect to these servers
Do not prompt user to authorize new servers or trusted certification authorities Disabled
Enable fast reconnect Enabled
Disconnect if server does not present cryptobinding TLV Disabled
Enforce network access protection Disabled
Authentication Method Configuration
Authentication method Secured password (EAP-MSCHAP v2)
Automatically use my Windows logon name and password(and domain if any) Enabled
Sukurkime saugos grupę sg-computers-8021x-vl100, kur mes įtrauksime kompiuterius, kuriuos norime platinti į vlan 100 ir sukonfigūruosime anksčiau sukurtos grupės strategijos filtravimą šiai grupei:
Galite patikrinti, ar politika sėkmingai veikė, atidarę „Tinklo ir bendrinimo centras (tinklo ir interneto nustatymai) – adapterio nustatymų keitimas (adapterio nustatymų konfigūravimas) – adapterio ypatybės“, kur matome skirtuką „Autentifikavimas“:
Įsitikinę, kad politika sėkmingai taikoma, galite pereiti prie tinklo politikos nustatymo NPS ir prieigos lygio jungiklio prievaduose.
Sukurkime tinklo politiką 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)
Įprasti komutatoriaus prievado nustatymai (atkreipkite dėmesį, kad naudojamas „kelių domenų“ autentifikavimo tipas – Data & Voice, taip pat yra galimybė autentifikuoti pagal „Mac“ adresą. „Pereinamuoju laikotarpiu“ prasminga naudoti parametrai:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
Vlan ID yra ne „karantinas“, o tas pats, kur naudotojo kompiuteris turėtų patekti sėkmingai prisijungęs – kol įsitikinsime, kad viskas veikia taip, kaip turėtų. Tie patys parametrai gali būti naudojami kituose scenarijuose, pavyzdžiui, kai prie šio prievado prijungtas nevaldomas jungiklis ir norite, kad visi prie jo prijungti įrenginiai, kurie nepraėjo autentifikavimo, patektų į tam tikrą VLAN („karantiną“).
perjungti prievado nustatymus 802.1x pagrindinio kompiuterio režimo kelių domenų režimu
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
exit
Galite įsitikinti, kad jūsų kompiuteris ir telefonas sėkmingai praėjo autentifikavimą naudodami komandą:
sh authentication sessions int Gi1/0/39 det
Dabar sukurkime grupę (pvz. sg-fgpp-mab ) telefonams skirtoje „Active Directory“ ir pridėkite vieną įrenginį, kad galėtumėte išbandyti (mano atveju tai „Grandstream GXP2160“ su mas adresu 000b.82ba.a7b1 ir atsp. sąskaitą domenas 00b82baa7b1).
Sukurtai grupei sumažinsime slaptažodžių politikos reikalavimus (naudodami
Taigi leisime naudoti įrenginių mas adresus kaip slaptažodžius. Po to galime sukurti tinklo politiką 802.1x metodo mab autentifikavimui, pavadinkime tai neag-devices-8021x-voice. Parametrai yra tokie:
- NAS prievado tipas – Ethernet
- „Windows“ grupės – sg-fgpp-mab
- EAP tipai: nešifruotas autentifikavimas (PAP, SPAP)
- RADIUS atributai – tiekėjo specifika: „Cisco“ – „Cisco-AV-Pair“ – atributo vertė: įrenginys-traffic-class=voice
Po sėkmingo autentifikavimo (nepamirškite sukonfigūruoti komutatoriaus prievado), pažvelkime į informaciją iš prievado:
sh autentifikavimas se int Gi1/0/34
----------------------------------------
Interface: GigabitEthernet1/0/34
MAC Address: 000b.82ba.a7b1
IP Address: 172.29.31.89
User-Name: 000b82baa7b1
Status: Authz Success
Domain: VOICE
Oper host mode: multi-domain
Oper control dir: both
Authorized By: Authentication Server
Session timeout: N/A
Idle timeout: N/A
Common Session ID: 0000000000000EB2000B8C5E
Acct Session ID: 0x00000134
Handle: 0xCE000EB3
Runnable methods list:
Method State
dot1x Failed over
mab Authc Success
Dabar, kaip buvo žadėta, pažvelkime į keletą ne visai akivaizdžių situacijų. Pavyzdžiui, turime prijungti vartotojų kompiuterius ir įrenginius per nevaldomą jungiklį (jungiklį). Tokiu atveju prievado nustatymai atrodys taip:
perjungti prievado nustatymus 802.1x pagrindinio kompiuterio režimo kelių autentifikavimo režimu
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 ! увеличиваем кол-во допустимых мас-адресов
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
authentication host-mode multi-auth ! – режим аутентификации
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 shu
PS pastebėjome labai keistą nesklandumą - jei įrenginys buvo prijungtas per tokį jungiklį, o tada jis buvo prijungtas prie valdomo jungiklio, tada jis neveiks, kol perkrausime(!) jungiklį. Kitų būdų neradau dar išspręsti šią problemą.
Kitas punktas, susijęs su DHCP (jei naudojamas ip dhcp šnipinėjimas) - be tokių parinkčių:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information option
Dėl tam tikrų priežasčių negaliu teisingai gauti IP adreso... nors tai gali būti mūsų DHCP serverio funkcija
O „Mac OS“ ir „Linux“ (kurios turi savąjį 802.1x palaikymą) bando autentifikuoti vartotoją, net jei sukonfigūruotas autentifikavimas pagal „Mac“ adresą.
Kitoje straipsnio dalyje apžvelgsime 802.1x naudojimą belaidžiam ryšiui (priklausomai nuo grupės, kuriai priklauso vartotojo abonementas, „įmesime“ į atitinkamą tinklą (vlan), nors jie prisijungs prie tas pats SSID).
Šaltinis: www.habr.com