การกำหนดค่า 802.1X บนสวิตช์ Cisco โดยใช้ Failover NPS (Windows RADIUS พร้อม AD)

การกำหนดค่า 802.1X บนสวิตช์ Cisco โดยใช้ Failover NPS (Windows RADIUS พร้อม AD)
ในทางปฏิบัติให้พิจารณาการใช้ Windows Active Directory + NPS (2 เซิร์ฟเวอร์เพื่อให้แน่ใจว่าทนทานต่อข้อผิดพลาด) + มาตรฐาน 802.1x สำหรับการควบคุมการเข้าถึงและการรับรองความถูกต้องของผู้ใช้ - คอมพิวเตอร์โดเมน - อุปกรณ์ คุณสามารถทำความคุ้นเคยกับทฤษฎีตามมาตรฐานใน Wikipedia ได้ที่ลิงค์: อีอีอี 802.1X

เนื่องจาก “ห้องปฏิบัติการ” ของฉันมีทรัพยากรจำกัด บทบาทของ NPS และตัวควบคุมโดเมนจึงเข้ากันได้ แต่ฉันขอแนะนำให้คุณยังคงแยกบริการที่สำคัญดังกล่าวออก

ฉันไม่ทราบวิธีมาตรฐานในการซิงโครไนซ์การกำหนดค่า Windows NPS (นโยบาย) ดังนั้นเราจะใช้สคริปต์ PowerShell ที่เปิดตัวโดยตัวกำหนดเวลางาน (ผู้เขียนคืออดีตเพื่อนร่วมงานของฉัน) สำหรับการรับรองความถูกต้องของคอมพิวเตอร์โดเมนและอุปกรณ์ที่ไม่สามารถทำได้ 802.1x (โทรศัพท์ เครื่องพิมพ์ ฯลฯ) จะถูกกำหนดค่านโยบายกลุ่ม และสร้างกลุ่มความปลอดภัย

ในตอนท้ายของบทความ ฉันจะบอกคุณเกี่ยวกับความซับซ้อนบางประการในการทำงานกับ 802.1x - วิธีใช้สวิตช์ที่ไม่มีการจัดการ, ACL แบบไดนามิก ฯลฯ ฉันจะแบ่งปันข้อมูลเกี่ยวกับ "ข้อบกพร่อง" ที่ถูกจับได้.. .

เริ่มต้นด้วยการติดตั้งและกำหนดค่า NPS เมื่อเกิดข้อผิดพลาดบน Windows Server 2012R2 (ทุกอย่างเหมือนกันในปี 2016): ผ่านตัวจัดการเซิร์ฟเวอร์ -> ตัวช่วยสร้างเพิ่มบทบาทและคุณสมบัติเลือกเฉพาะเซิร์ฟเวอร์นโยบายเครือข่าย

การกำหนดค่า 802.1X บนสวิตช์ Cisco โดยใช้ Failover NPS (Windows RADIUS พร้อม AD)

หรือใช้ PowerShell:

Install-WindowsFeature NPAS -IncludeManagementTools

คำชี้แจงเล็กน้อย - ตั้งแต่สำหรับ การป้องกัน EAP (PEAP) คุณจะต้องมีใบรับรองที่ยืนยันความถูกต้องของเซิร์ฟเวอร์อย่างแน่นอน (พร้อมสิทธิ์การใช้งานที่เหมาะสม) ซึ่งจะเชื่อถือได้บนคอมพิวเตอร์ไคลเอนต์ จากนั้นคุณจะต้องติดตั้งบทบาทนี้ ผู้ออกใบรับรอง. แต่เราจะถือว่า CA คุณติดตั้งมันแล้ว...

ลองทำแบบเดียวกันบนเซิร์ฟเวอร์ที่สอง มาสร้างโฟลเดอร์สำหรับสคริปต์ C:Scripts บนเซิร์ฟเวอร์ทั้งสองและโฟลเดอร์เครือข่ายบนเซิร์ฟเวอร์ที่สอง SRV2NPS-config$

มาสร้างสคริปต์ PowerShell บนเซิร์ฟเวอร์แรกกันดีกว่า C:ScriptsExport-NPS-config.ps1 โดยมีเนื้อหาดังต่อไปนี้:

Export-NpsConfiguration -Path "SRV2NPS-config$NPS.xml"

หลังจากนี้มากำหนดค่างานใน Task Sheduler: “ส่งออก-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 และความลับที่แชร์) ซึ่งเป็นนโยบายคำขอการเชื่อมต่อสองแบบ: เชื่อมต่อแบบมีสาย (เงื่อนไข: “ประเภทพอร์ต NAS คือ Ethernet”) และ WiFi-องค์กร (เงื่อนไข: “ประเภทพอร์ต NAS คือ IEEE 802.11”) รวมถึงนโยบายเครือข่าย เข้าถึงอุปกรณ์เครือข่ายของ Cisco (ผู้ดูแลระบบเครือข่าย):

Условия:
Группы 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 กันดีกว่า - สร้างนโยบายกลุ่มและรหัสผ่านสร้างกลุ่มที่จำเป็น

นโยบายกลุ่ม คอมพิวเตอร์-8021x-การตั้งค่า:

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

การกำหนดค่า 802.1X บนสวิตช์ Cisco โดยใช้ Failover NPS (Windows RADIUS พร้อม AD)

มาสร้างกลุ่มความปลอดภัยกันเถอะ sg-คอมพิวเตอร์-8021x-vl100โดยเราจะเพิ่มคอมพิวเตอร์ที่เราต้องการแจกจ่ายให้กับ vlan 100 และกำหนดค่าการกรองสำหรับนโยบายกลุ่มที่สร้างไว้ก่อนหน้านี้สำหรับกลุ่มนี้:

การกำหนดค่า 802.1X บนสวิตช์ Cisco โดยใช้ Failover NPS (Windows RADIUS พร้อม AD)

คุณสามารถตรวจสอบได้ว่านโยบายทำงานได้สำเร็จโดยเปิด "ศูนย์เครือข่ายและการแบ่งปัน (การตั้งค่าเครือข่ายและอินเทอร์เน็ต) - การเปลี่ยนการตั้งค่าอะแดปเตอร์ (การกำหนดค่าการตั้งค่าอะแดปเตอร์) - คุณสมบัติของอะแดปเตอร์" ซึ่งเราจะเห็นแท็บ "การรับรองความถูกต้อง":

การกำหนดค่า 802.1X บนสวิตช์ Cisco โดยใช้ Failover NPS (Windows RADIUS พร้อม AD)

เมื่อคุณมั่นใจว่านำนโยบายไปใช้เรียบร้อยแล้ว คุณสามารถดำเนินการตั้งค่านโยบายเครือข่ายบน NPS และพอร์ตสวิตช์ระดับการเข้าถึงได้

มาสร้างนโยบายเครือข่ายกันเถอะ neag-คอมพิวเตอร์-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)

การกำหนดค่า 802.1X บนสวิตช์ Cisco โดยใช้ Failover NPS (Windows RADIUS พร้อม AD)

การตั้งค่าทั่วไปสำหรับพอร์ตสวิตช์ (โปรดทราบว่ามีการใช้ประเภทการตรวจสอบสิทธิ์ "หลายโดเมน" - ข้อมูลและเสียง และยังมีความเป็นไปได้ในการตรวจสอบสิทธิ์ด้วยที่อยู่ mac ในช่วง "ช่วงการเปลี่ยนแปลง" มันสมเหตุสมผลที่จะใช้ใน พารามิเตอร์:


authentication event fail action authorize vlan 100
authentication event no-response action authorize vlan 100

vlan id ไม่ใช่ "กักกัน" แต่เป็นรหัสเดียวกับที่คอมพิวเตอร์ของผู้ใช้ควรไปหลังจากเข้าสู่ระบบสำเร็จ - จนกว่าเราจะแน่ใจว่าทุกอย่างทำงานได้ตามปกติ พารามิเตอร์เดียวกันเหล่านี้สามารถใช้ในสถานการณ์อื่นได้ ตัวอย่างเช่น เมื่อเสียบสวิตช์ที่ไม่มีการจัดการเข้ากับพอร์ตนี้ และคุณต้องการให้อุปกรณ์ทั้งหมดที่เชื่อมต่อกับสวิตช์ที่ไม่ผ่านการรับรองความถูกต้องตกอยู่ใน vlan บางตัว (“การกักกัน”)

สลับการตั้งค่าพอร์ตในโหมดหลายโดเมนโหมดโฮสต์ 802.1x

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 สำหรับโทรศัพท์ และเพิ่มอุปกรณ์หนึ่งเครื่องเพื่อทำการทดสอบ (ในกรณีของฉันคือ แกรนด์สตรีม GXP2160 พร้อมที่อยู่มาส 000b.82ba.a7b1 และการตอบสนอง บัญชี โดเมน 00b82baa7b1).

สำหรับกลุ่มที่สร้างขึ้น เราจะลดข้อกำหนดนโยบายรหัสผ่าน (โดยใช้ นโยบายรหัสผ่านแบบละเอียด ผ่าน Active Directory Administrative Center -> โดเมน -> ระบบ -> คอนเทนเนอร์การตั้งค่ารหัสผ่าน) โดยมีพารามิเตอร์ดังต่อไปนี้ รหัสผ่านการตั้งค่าสำหรับ MAB:

การกำหนดค่า 802.1X บนสวิตช์ Cisco โดยใช้ Failover NPS (Windows RADIUS พร้อม AD)

ดังนั้นเราจะอนุญาตให้ใช้ที่อยู่อุปกรณ์เป็นรหัสผ่าน หลังจากนี้เราสามารถสร้างนโยบายเครือข่ายสำหรับการตรวจสอบสิทธิ์ mab วิธี 802.1x เรียกว่า neag-devices-8021x-voice พารามิเตอร์มีดังนี้:

  • ประเภทพอร์ต NAS – อีเธอร์เน็ต
  • กลุ่ม Windows – sg-fgpp-mab
  • ประเภท EAP: การรับรองความถูกต้องที่ไม่ได้เข้ารหัส (PAP, SPAP)
  • คุณลักษณะ RADIUS – เฉพาะผู้ขาย: Cisco – Cisco-AV-Pair – ค่าคุณลักษณะ: อุปกรณ์-traffic-class=voice

หลังจากการรับรองความถูกต้องสำเร็จ (อย่าลืมกำหนดค่าพอร์ตสวิตช์) มาดูข้อมูลจากพอร์ตกัน:

การตรวจสอบสิทธิ์ sh 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

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

ป.ล. เราสังเกตเห็นข้อผิดพลาดที่แปลกมาก - หากอุปกรณ์เชื่อมต่อผ่านสวิตช์ดังกล่าวแล้วเสียบเข้ากับสวิตช์ที่มีการจัดการ มันจะไม่ทำงานจนกว่าเราจะรีบูต (!) สวิตช์ ฉันไม่พบวิธีอื่นใด เพื่อแก้ไขปัญหานี้

อีกประเด็นที่เกี่ยวข้องกับ DHCP (หากใช้การสอดแนม ip dhcp) - ไม่มีตัวเลือกดังกล่าว:

ip dhcp snooping vlan 1-100
no ip dhcp snooping information option

ด้วยเหตุผลบางอย่าง ฉันไม่สามารถรับที่อยู่ IP ได้อย่างถูกต้อง... แม้ว่านี่อาจเป็นคุณสมบัติของเซิร์ฟเวอร์ DHCP ของเราก็ตาม

และ Mac OS และ Linux (ซึ่งรองรับ 802.1x แบบเนทีฟ) จะพยายามตรวจสอบสิทธิ์ผู้ใช้ แม้ว่าจะมีการกำหนดค่าการตรวจสอบสิทธิ์ด้วยที่อยู่ Mac ก็ตาม

ในส่วนถัดไปของบทความเราจะดูการใช้ 802.1x สำหรับ Wireless (ขึ้นอยู่กับกลุ่มที่บัญชีผู้ใช้อยู่เราจะ "โยน" ลงในเครือข่ายที่เกี่ยวข้อง (vlan) แม้ว่าพวกเขาจะเชื่อมต่อกับ SSID เดียวกัน)

ที่มา: will.com

เพิ่มความคิดเห็น