Rozważmy w praktyce wykorzystanie Windows Active Directory + NPS (2 serwery dla fault-tolerance) + standard 802.1x do kontroli dostępu i uwierzytelniania użytkowników - komputery domenowe - urządzenia. Możesz zapoznać się z teorią zgodnie ze standardem w Wikipedii, pod linkiem:
Ponieważ moje „laboratorium” ma ograniczone zasoby, role serwera NPS i kontrolera domeny są kompatybilne, ale zalecam rozdzielenie takich krytycznych usług.
Nie znam standardowych sposobów synchronizacji konfiguracji (polityki) Windows NPS, więc użyjemy skryptów PowerShell uruchamianych przez harmonogram zadań (autorem jest mój były kolega). Do uwierzytelniania komputerów domeny i urządzeń, które nie wiedzą, jak to zrobić 802.1x (telefony, drukarki itp.), zostaną skonfigurowane zasady grupy i utworzone zostaną grupy zabezpieczeń.
Na końcu artykułu omówię niektóre zawiłości pracy z 802.1x - jak korzystać z niezarządzanych przełączników, dynamicznych list ACL itp. Podzielę się informacjami o wyłapanych „usterkach” ...
Zacznijmy od zainstalowania i skonfigurowania Failover NPS na Windows Server 2012R2 (w 2016 wszystko jest takie samo): poprzez Server Manager -> Add Roles and Features Wizard wybieramy tylko Network Policy Server.
lub z PowerShellem:
Install-WindowsFeature NPAS -IncludeManagementTools
Małe wyjaśnienie - dot Chroniony protokół EAP (PEAP) na pewno będziesz potrzebować certyfikatu potwierdzającego autentyczność serwera (z odpowiednimi uprawnieniami do użytkowania), który będzie zaufany na komputerach klienckich, wtedy najprawdopodobniej będziesz musiał zainstalować rolę Instytucja Certyfikacyjna. Ale to założymy CA masz już zainstalowane...
Zróbmy to samo na drugim serwerze. Utwórzmy folder dla skryptu C:Scripts na obu serwerach i folder sieciowy na drugim serwerze SRV2NPS-config$
Utwórzmy skrypt PowerShell na pierwszym serwerze C:ScriptsExport-NPS-config.ps1 o następującej treści:
Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"
Następnie skonfiguruj zadanie w Harmonogramie zadań: „Eksportuj konfigurację Nps"
powershell -executionpolicy unrestricted -f "C:ScriptsExport-NPS-config.ps1"
Uruchom dla wszystkich użytkowników — Uruchom z najwyższymi uprawnieniami
Codziennie — powtarzaj zadanie co 10 minut. w ciągu 8 godzin
Na zapasowym serwerze NPS skonfiguruj import konfiguracji (polityki):
utwórz skrypt PowerShell:
echo Import-NpsConfiguration -Path "c:NPS-configNPS.xml" >> C:ScriptsImport-NPS-config.ps1
i zadanie do wykonania co 10 minut:
powershell -executionpolicy unrestricted -f "C:ScriptsImport-NPS-config.ps1"
Uruchom dla wszystkich użytkowników — Uruchom z najwyższymi uprawnieniami
Codziennie — powtarzaj zadanie co 10 minut. w ciągu 8 godzin
Teraz dla weryfikacji dodajmy do NPS na jednym z serwerów (!) kilka przełączników w klientach RADIUS (IP i Shared Secret), dwie polityki żądań połączeń: PRZEWODOWY Połącz (Warunek: „Typ portu NAS to Ethernet”) i Wi-Fi-Enterprise (Warunek: „Typ portu NAS to IEEE 802.11”) i zasady sieciowe Uzyskaj dostęp do urządzeń sieciowych Cisco (Administratorzy sieci):
Условия:
Группы Windows - domainsg-network-admins
Ограничения:
Методы проверки подлинности - Проверка открытым текстом (PAP, SPAP)
Параметры:
Атрибуты RADIUS: Стандарт - Service-Type - Login
Зависящие от поставщика - Cisco-AV-Pair - Cisco - shell:priv-lvl=15
Po stronie przełącznika następujące ustawienia:
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 ustawieniu, po 10 minutach wszystkie ustawienia zasad powinny pojawić się na zapasowym NPS i możemy logować się do przełączników za pomocą konta ActiveDirectory, członka grupy domainsg-network-admins (którą wcześniej utworzyliśmy).
Przejdźmy do konfiguracji Active Directory - utwórz politykę grup i haseł, utwórz niezbędne grupy.
Zasady grupy Komputery-8021x-Ustawienia:
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
Utwórz grupę zabezpieczeń sg-komputery-8021x-vl100, gdzie dodamy komputery, które chcemy dystrybuować do vlan 100 i skonfigurujemy filtrowanie dla wcześniej utworzonej polityki grupowej dla tej grupy:
Możesz upewnić się, że polityka zadziałała pomyślnie, otwierając „Centrum sieci i udostępniania (Ustawienia sieci i Internetu) - Zmień ustawienia adaptera (Konfigurowanie ustawień adaptera) - Właściwości adaptera”, gdzie możemy zobaczyć zakładkę „Uwierzytelnianie”:
Gdy jesteś przekonany, że polityka została pomyślnie zastosowana, możesz przystąpić do konfigurowania polityki sieciowej na serwerze NPS i portach przełącznika poziomu dostępu.
Stwórzmy zasady sieciowe Neag-komputery-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)
Typowe ustawienia dla portu przełącznika (należy pamiętać, że używany jest typ uwierzytelniania „multi-domain” - Data & Voice, istnieje również możliwość uwierzytelnienia po adresie mac. W „okresie przejściowym” sensowne jest użycie w Parametry:
authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100
vlan id to nie „kwarantanna”, ale ta sama, do której musi trafić komputer użytkownika po pomyślnym zalogowaniu – do czasu, aż upewnimy się, że wszystko działa tak, jak powinno. Tych samych parametrów można użyć w innych scenariuszach, na przykład, gdy niezarządzany przełącznik jest podłączony do tego portu i chcesz, aby wszystkie podłączone do niego i nieuwierzytelnione urządzenia znalazły się w określonej sieci VLAN („kwarantanna”).
przełącz ustawienia portu w trybie hosta 802.1x w trybie wielu domen
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
Możesz upewnić się, że telefon komputerowy pomyślnie przeszedł uwierzytelnianie za pomocą polecenia:
sh authentication sessions int Gi1/0/39 det
Teraz utwórzmy grupę (np. sg-fgpp-mab ) w usłudze Active Directory dla telefonów i dodać do niej jedno urządzenie testowe (w moim przypadku jest to Grandstream GXP2160 z adresem masowym 000b.82ba.a7b1 i wg. konto domena 00b82baa7b1).
Dla utworzonej grupy obniż wymagania dotyczące zasad haseł (używając
pozwoli nam to używać mas-adresów urządzeń jako haseł. Następnie możemy utworzyć politykę sieciową dla uwierzytelniania mab metodą 802.1x, nazwijmy ją neag-devices-8021x-voice. Parametry są następujące:
- Typ portu NAS — Ethernet
- Grupy systemu Windows — sg-fgpp-mab
- Typy EAP: Uwierzytelnianie nieszyfrowane (PAP, SPAP)
- Atrybuty RADIUS — Specyficzne dla dostawcy: Cisco — Cisco-AV-Pair — Wartość atrybutu: device-traffic-class=voice
po pomyślnym uwierzytelnieniu (nie zapomnij skonfigurować portu przełącznika), zobaczmy informacje z portu:
sh uwierzytelnianie 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
Teraz, zgodnie z obietnicą, rozważmy kilka nie do końca oczywistych sytuacji. Na przykład musimy połączyć komputery i urządzenia użytkowników za pośrednictwem niezarządzanego przełącznika (przełącznika). W takim przypadku ustawienia portu będą wyglądać następująco:
przełącz ustawienia portu w trybie multi-auth w trybie hosta 802.1x
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 Zauważono bardzo dziwną usterkę - jeśli urządzenie było podłączone przez taki przełącznik, a następnie zostało podłączone do zarządzanego przełącznika, to NIE będzie działać, dopóki nie zrestartujemy (!) przełącznika. Innych sposobów rozwiązania nie znalazłem ten problem.
Kolejny punkt związany z DHCP (jeśli używany jest ip dhcp snooping) - bez tych opcji:
ip dhcp snooping vlan 1-100
no ip dhcp snooping information option
z jakiegoś powodu nie mogę uzyskać prawidłowego adresu IP ... chociaż może to być funkcja naszego serwera DHCP
Ponadto Mac OS i Linux (w których natywna obsługa standardu 802.1x) próbują uwierzytelnić użytkownika, nawet jeśli skonfigurowano uwierzytelnianie za pomocą adresu mac.
W dalszej części artykułu rozważymy wykorzystanie 802.1x dla sieci bezprzewodowej (w zależności od grupy, do której należy konto użytkownika, „wrzucimy” je do odpowiedniej sieci (vlan), choć połączą się one z ten sam identyfikator SSID).
Źródło: www.habr.com