Разгледзім на практыцы выкарыстанне Windows Active Directory + NPS (2 сервера для забеспячэння адмоваўстойлівасці) + стандарт 802.1x для кантролю доступу і аўтэнтыфікацыі карыстальнікаў - даменных кампутараў - прылад. Азнаёміцца з тэорыяй па стандарце можна ў Wikipedia, па спасылцы:
Так як "лабараторыя" ў мяне абмежавана па рэсурсах, сумяшчальны ролі NPS і кантролера дамена, але вам я рэкамендую такія крытычныя сэрвісы ўсё ж падзяляць.
Стандартных спосабаў сінхранізацыі канфігурацый (палітык) Windows NPS я не ведаю, таму будзем выкарыстоўваць скрыпты PowerShell, якія запускаюцца планавальнікам заданняў (аўтар мой былы калега). Для аўтэнтыфікацыі кампутараў дамена і для прылад, якія не ўмеюць у 802.1x (тэлефоны, прынтэры і інш), будзе настроена групавая палітыка і створаны групы бяспекі.
У канцы артыкула распавяду аб некаторых тонкасцях працы з 802.1x як можна выкарыстоўваць некіравальныя камутатары, dynamic ACL і інш. Падзялюся інфармацыяй аб адлоўленых глюках ...
Пачнём з усталёўкі і налады failover NPS on Windows Server 2012R2 (на 2016-м усё аналагічна): праз Server Manager -> Add Roles and Features Wizard выбіраемы толькі Network Policy Server.
або з дапамогай PowerShell:
Install-WindowsFeature NPAS -IncludeManagementTools
Невялікае ўдакладненне - бо для Protected EAP (PEAP) вам абавязкова запатрабуецца сертыфікат, які пацвярджае сапраўднасць сервера (з адпаведнымі правамі на выкарыстанне), які будзе ў давераных на кліенцкіх кампутарах, то вам хутчэй за ўсё запатрабуецца ўсталяваць яшчэ і роля Орган па сертыфікацыі. Але будзем лічыць, што CA у вас ужо ўсталяваны…
Зробім тое ж самае і на другім серверы. Створым тэчку для скрыпту C:Scripts на абодвух серверах і сеткавую тэчку на другім серверы SRV2NPS-config$
На першым сэрвэры створым PowerShell скрыпт C:ScriptsExport-NPS-config.ps1 з наступным зместам:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"
Пасля гэтага наладзім заданне ў Task Sheduler: “Export-NpsConfiguration"
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1"
Выконваць для ўсіх карыстальнікаў - Выканаць з найвышэйшымі правамі
Штодня - Паўтараць задачу кожныя 10 мін. на працягу 8 г.
На рэзервовым NPS наладзім імпарт канфігурацыі (палітык):
створым скрыпт PowerShell:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1
і задачу на яго выкананне кожныя 10 хвілін:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1"
Выконваць для ўсіх карыстальнікаў - Выканаць з найвышэйшымі правамі
Штодня - Паўтараць задачу кожныя 10 мін. на працягу 8 г.
Цяпер, для праверкі, дадамо ў NPS на адным з сервераў(!) пару камутатараў у RADIUS-кліенты (IP і Shared Secret), дзве палітыкі запытаў на падлучэнне: WIRED-Connect (Умова: "Тып порта NAS – Ethernet") і WiFi-Enterprise (Умова: "Тып порта NAS – IEEE 802.11"), а таксама сеткавую палітыку Access Cisco Network Devices (Network Admins):
Условия:
Группы Windows - domainsg-network-admins
Ограничения:
Методы проверки подлинности - Проверка открытым текстом (PAP, SPAP)
Параметры:
Атрибуты RADIUS: Стандарт - Service-Type - Login
Зависящие от поставщика - Cisco-AV-Pair - Cisco - shell:priv-lvl=15
З боку камутатараў наступныя налады:
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
Пасля налады, праз 10 хвілін, усе кліенты палітыкі параметры павінны з'явіцца і на рэзервовым NPS і мы зможам аўтарызавацца на камутатарах з дапамогай ўліковага запісу ActiveDirectory, члена групы domainsg-network-admins (якую мы стварылі загадзя).
Пяройдзем да настройкі Active Directory - створым групавую і парольную палітыкі, створым неабходныя групы.
Групавая палітыка Computers-8021x-Settings:
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
Створым групу бяспекі sg-computers-8021x-vl100, куды мы будзем дадаваць кампутары, якія мы жадаем размяркоўваць у влан 100 і наладзім фільтрацыю для створанай раней групавой палітыкі на гэтую групу:
Пераканацца ў тым, што палітыка паспяхова адпрацавала можна адкрыўшы "Цэнтр кіравання сеткамі і агульным доступам (Параметры сеткі і Інтэрнэт) - Змена параметраў адаптара (Настройка параметраў адаптара) - Уласцівасці адаптара", дзе мы зможам убачыць ўкладку "Праверка сапраўднасці":
Калі пераканаліся, што палітыка паспяхова ўжываецца - можна пераходзіць да налады сеткавай палітыкі на NPS і партоў камутатара ўзроўню доступу.
Створым сеткавую палітыку 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)
Тыпавыя налады для порта камутатара (звяртаю ўвагу, што выкарыстоўваецца тып аўтэнтыфікацыі "мультыдамен" – Data & Voice, а таксама ёсць магчымасць аўтэнтыфікацыі па mac адрасе. на час "пераходнага перыяду" ёсць сэнс выкарыстоўваць у параметрах:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
влан id не "каранціннага", а таго ж, куды карыстацкі кампутар павінен патрапіць, паспяхова аўтарызаваўшыся - пакуль не пераканаемся, што ўсё працуе як след. Гэтыя ж параметры могуць быць скарыстаны і ў іншых сцэнарах, напрыклад, калі ў гэты порт уторкнуць некіравальны камутатар і вы жадаеце, каб усе прылады, падлучаныя ў яго і не якія прайшлі аўтэнтыфікацыю, пападалі ў вызначаны влан ("каранцінны").
наладкі порта камутатара ў рэжыме 802.1x 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
exit
Пераканацца, што кампутартэлефон паспяхова прайшлі аўтэнтыфікацыю можна камандай:
sh authentication sessions int Gi1/0/39 det
Цяпер створым групу (напрыклад, sg-fgpp-mab ) у Active Directory для тэлефонаў і дадамо ў яе адзін апарат для тэстаў (у маім выпадку гэта Grandstream GXP2160 з мас-адрасам 000b.82ba.a7b1 і суадв. уліковым запісам domain 00b82baa7b1).
Для створанай групы панізім патрабаванні парольнай палітыкі (выкарыстоўваючы
тым самым дазволім выкарыстоўваць мас-адрас прылад у якасці пароляў. Пасля гэтага мы зможам стварыць сеткавую палітыку для аўтэнтыфікацыі 802.1x method mab, назавем яе neag-devices-8021x-voice. Параметры наступныя:
- NAS Port Type - Ethernet
- Windows Groups - sg-fgpp-mab
- EAP Types: Unencrypted authentication (PAP, SPAP)
- RADIUS Attributes – Vendor Specific: Cisco – Cisco-AV-Pair – Attribute value: device-traffic-class=voice
пасля паспяховай аўтэнтыфікацыі (не забываем наладзіць порт камутатара), паглядзім інфармацыю з порта:
sh authentication 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
Цяпер, як і абяцаў разгледзім пару не зусім відавочных сітуацый. Напрыклад, нам патрабуецца падлучыць кампутары прылады карыстальнікаў праз некіравальны камутатар (світч). У гэтым выпадку наладкі порта для яго будуць выглядаць наступным чынам:
налады порта камутатара ў рэжыме 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 ! увеличиваем кол-во допустимых мас-адресов
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 заўважаны вельмі дзіўны глюк – калі прылада была падлучаная праз такі світч, а потым яго ўваткнулі ў кіраваны камутатар, тое яно НЕ запрацуе, пакуль мы не перазагрузім(!) свитч Пакуль іншых спосабаў рашэння гэтай праблемы не знайшоў.
Яшчэ адзін момант, звязаны з DHCP (калі выкарыстоўваецца ip dhcp snooping) - без такіх вось опцый:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information option
чамусьці карэктна ip адрас не атрымаць…хоць можа гэта асаблівасць нашага DHCP сервера
А яшчэ Mac OS & Linux (у якіх падтрымка 802.1x натыўная) спрабуюць мінуць аўтэнтыфікацыю карыстачом, нават калі наладжаная аўтэнтыфікацыя па мас-адрасу.
У наступнай частцы артыкула разгледзім ужыванне 802.1x для Wireless (у залежнасці ад групы, у якую ўваходзіць уліковы запіс карыстача, яго будзем "закідваць" у адпаведную сетку (влан), хоць падлучацца яны будуць да аднаго SSID).
Крыніца: habr.com