احراز هویت کاربران و سیستمهای شبکه با استفاده از EAP-FAST در سیسکو ISE
پروتکل احراز هویت EAP-FAST
پروتکلEAP-FAST، یک پروتکل پیشنهادی توسط سیسکو و جایگزینی برای LEAP میباشد. این پروتکل در واقع با هدف رفع نقاط ضعف پروتکل LEAP و حفظ عملکرد “سبک” آن طراحی شده است. استفاده از گواهینامههای سرور در EAP-FAST اختیاری است. زیرا این پروتکل از یک اعتبار دسترسی محافظت شده (PAC) برای ایجاد تونل TLS استفاده میکند که اعتبار کلاینت در آن تایید میشود.
نقاط قوت پروتکل EAP-FAST
در سناریوهای قبلی بیشتر از Windows Native 802.1x Supplicant برای احراز هویت کاربر و کامپیوتر استفاده کردیم. با وجود اینکه اجرای این سناریوها با استفاده از Supplicant محلی ویندوز بدون مشکل بود، ولی تعدادی از سناریوها با استفاده از این Supplicant قابل انجام نمیباشد. در واقع دلیل اصلی توسعه AnyConnect dot1x Supplicant این موضوع بوده است.. در زیر تعدادی از این ضعفها لیست شده است.
فعال کردن Machine Access Restriction
یکی از سناریوهایی که میتواند هنگام استفاده از Supplicant ویندوز با مشکل مواجه شود، زمانی است که Machine Access Restriction یا MAR را فعال کرده باشیم. در چنین سناریویی ممکن است با گذشت زمان کش مربوط به MAR منقضی شود یا کاربر بین شبکه وایرلس و کابلی سویچ کند. پاک شدن کش یا جابه جایی کاربر بین شبکهها مختلف احراز هویت کاربر را دچار مشکل میکند. از آنجایی که احراز هویت ماشین و کاربر در دو تراکنش کاملا مجزا انجام میشود. به همین دلیل هر گونه اتفاق برای احراز هویت ماشین، احراز هویت کاربر را با مشکل مواجه میکند. راهحل موقت این مشکل Logout کاربر از سیستم یا ریستارت آن میباشد. در واقع با این کار فرآیند Computer Authrntication مجددا برای آن انجام میشود. در راهکار NAM از آنجایی که احراز هویت کاربر و ماشین در یک تراکنش اتفاق میافتد (EAP-Chaining)، به همین دلیل این مشکل رخ نمیدهد.
مستقل بودن متدهای احراز هویت کاربر و کامپیوتر
مشکل دیگر Supplicant محلی ویندوز این است که مجبوریم برای احراز هویت کاربر و کامپیوتر فقط از یک متد استفاده کنیم. برای مثال ما نمیتوانیم از پروتکل EAP-TLS برای احراز هویت کاربر و از PEAP برای احراز هویت کامپیوتر استفاده کنیم. ولی راهکار NAM برای احراز هویت کاربر و کامپیوتر کاملا مستقل عمل کرده و میتوانیم از پروتکلهای متفاوتی برای احراز هویت استفاده کنیم.
عدم انجام احراز هویت کاربر برای کاربران RDP
مشکل سوم هم برای کاربرانی رخ میدهد که به صورت ریموت به سیستم خود متصل میشوند. در دواقع در این حالت Supplicant محلی ویندوز، کاربر را در حالت ریموت تشخصیص نمیدهد و به جای احراز هویت نوع User، احراز هویت نوع کامپیوتر را برای آن انجام میدهد. به همین ارتباط آنها دچار مشکل میشود. از آنجایی که در NAM احراز هویت کاربر و کامپیوتر در یک تراکنش و به صورت کاملا مستقل انجام میشود، دسترسی کاربران به مشکل نمیخورد.
نیازمندیها سناریو
- راه اندازی سرور اکتیو دایرکتوری
- سیستم عضو دامین
- راه اندازی Enterprise root CA
- نصب AnyConnect Client
- نصب Network Access Manager
- نصب Network Access Manager Profile Editor
انجام تنظیمات مورد نیاز برای تعیین متدهای احراز هویت EAP-FAST
در این مرحله پروتکلهای مجاز برای احراز هویت کاربران را مشخص میکنیم. برای این کار از قسمت Allowed Protocols یک مقدار جدید ایجاد و فقط تیک مربوط به تنظیمات EAP-FAST را انتخاب میکنیم.
ایجاد Policy Set های مورد نیاز برای احراز هویت کاربران و نقاط پایانی
در این سناریو از پروفایل Authorisation پیشفرض استفاده شده که در محیط عملیاتی توصیه میشود براساس نیاز کاربران و نقاط پایانی پروفایلهای جداگانهای تعریف کنید. در زیر برای اینکه کاربر پالیسی مربوط به کاربر را دریافت کند حتما باید نتیجه احراز هویت Machine برای آن موفقیت آمیز باشد.
انجام تنظیمات سوئیچ
ip domain-name iranshell.local
crypto key generate rsa general-keys modulus 2048
!
ip http server
ip http authentication local
ip http secure-server
ip http secure-active-session-modules none
ip http active-session-modules none
ip ssh version 2
!
snmp-server community cisco123 RO
snmp-server host 172.16.32.102 version 2c
mac-notification
!
logging monitor informational
logging origin-id ip
logging source-interface Vlan 32
logging host 172.16.32.102 transport udp port 20514
!
aaa new-model
radius server ise
address ipv4 172.16.32.102 auth-port 1812 acct-port 1813
key cisco123
aaa group server radius ise-group
server name ise
!
aaa server radius dynamic-author
client 172.16.32.102 server-key cisco123
!
aaa authentication dot1x default group ise-group
aaa authorization network default group ise-group
aaa authorization auth-proxy default group ise-group
aaa accounting update newinfo periodic 1440
aaa accounting update periodic 1440
aaa accounting auth-proxy default start-stop group ise-group
aaa accounting dot1x default start-stop group ise-group
aaa accounting system default start-stop group ise-group
!
cdp run
lldp run
!
device-sensor filter-list dhcp list TLV-DHCP
option name host-name
option name requested-address
option name parameter-request-list
option name class-identifier
option name client-identifier
device-sensor filter-spec dhcp include list TLV-DHCP
!
device-sensor filter-list cdp list TLV-CDP
tlv name device-name
tlv name address-type
tlv name capabilities-type
tlv name platform-type
device-sensor filter-spec cdp include list TLV-CDP
!
device-sensor filter-list lldp list TLV-LLDP
tlv name system-name
tlv name system-description
device-sensor filter-spec dhcp include list TLV-DHCP
device-sensor filter-spec lldp include list TLV-LLDP
device-sensor filter-spec cdp include list TLV-CDP
device-sensor accounting
device-sensor notify all-changes
!
!
ip device tracking probe delay 10
ip device tracking probe auto-source override
ip device tracking probe delay 10
ip device tracking
#epm access-control open
epm logging
authentication mac-move permit
snmp-server traps enable authentication linkdown linkup coldstart warmstart
snmp-server traps mac-notifications cahnge move threshold
mac address-table notification change interval 1
mac address table notifiction change
mac address table notifiction mac move
!
authentication mac-move permit
!
radius-server vsa send authentication
radius-server vsa send accounting
radius-server attribute 6 on-for-login-auth
radius-server attribute 8 include-in-access-req
radius-server attribute 25 access-request include
radius-server attribute 31 mac format ietf upper-case
radius-server attribute 31 send nas-port-detail
radius-server dead-criteria time 5 tries 3
radius-server deadtime 10
access-session template monitor
!
dot1x system-auth-control
dot1x critical eapol
!
!
ip ftp source-interface vlan 32
ip tftp source-interface vlan 32
!
ip radius source-interface vlan 32
!
!
ip access-list extended GUEST-REDIRECT
deny udp any any eq domain
deny udp any any eq bootpc bootps
deny tcp any host 172.16.32.102
permit tcp any any eq www
permit tcp any any eq 443
deny ip any any
!
ip access-list extended ACL-DEFAULT
permit udp any any eq bootpc bootps
permit udp any any eq domain
permit udp any any eq tftp
permit udp any eq snmp any
permit ip any host 172.16.32.102
permit icmp any any
deny ip any any
!
interface range ethernet 1/0-3
switchport host
description dot1x interface
switchport mode access
switchport access vlan 64
authentication priority dot1x mab
authentication order dot1x mab
authentication event fail action next-method
authentication event server dead action reinitialize vlan 64
authentication event server dead action authorize voice
authentication event server alive action reinitialize
authentication host-mode multi-auth
authentication open
mab
dot1x pae authenticator
dot1x timeout tx-period 10
ip access-group ACL-DEFAULT
authentication port-control auto
authentication periodic
authentication timer reauthenticate server
authentication timer inactivity server
authentication violation restrict
snmp trap mac notification change added
snmp trap mac notification change remove
logging event link-status
spanning-tree portfast
spanning-tree bpduguard enable
no shut
!
نصب نرمافزارهای سمت کاربر
در روش EAP-FAST دیگر از Supplicant محلی خود ویندوز استفاده نمیشود. بنابراین در اینجا بایستی نرم افزارهای مورد نیاز را بر روی سیستم کاربر نصب کنیم. کاربران در این روش برای انجام احراز هویت خود از ماژول Network Access Manager استفاده میکند. این ماژول برای اجرا شدن بر روی سیستم به کلاینت Anyconnect نیاز دارد. بنابراین اولین کار نصب این دو نرم افزار میباشد.
بعد از نصب هر دو نرمافزار در اینجا نیاز است نرم افزار NAM Profile Editor را که برای ایجاد پروفایل NAM نیاز است نصب کنیم.
ایجاد پروفایل NAM برای کاربر
در Supplicant محلی ویندوز تنظیمات مربوط به متدهای احراز هویت EAP به دو روش قابل انجام میباشد. در شبکههای بزرگ معمولا از راهکارهایی مانند Group Policy اکتیو دایرکتوری برای اینکار استفاده میشود. در سناریوهای قبلی ما نیز از روش اتوماتیک برای انجام تنظیمات EAP-TLS و PEAP استفاده کردهام. در متد EAP-FAST از روش دستی و نرمافزار NAM Profile Editor، برای انجام تنظیمات ماژول NAM استفاده میکنیم.
مراحل ایجاد پروفایل NAM
- ابتدا نرم افزار Network Access Manger Profile Editor را اجرا می کنیم.
- در تب مربوط به Authentication Policy متدها و پروتکلهای مورد نظر را انتخاب میکنیم. برای مثال از آنجایی که قصد داریم از NAM برای شبکه کابلی خود استفاده کنیم. بنابراین مواردی مانند WPA یا سایر موارد غیر ضروری را از لیست کنار میگذاریم.
- در تنظیمات مربوط به پروفایل NAM بیشترین کاری که نیاز است انجام دهیم مربوط به تب Netwoks میباشد.
- در اینجا ابتدا از طریق گزینه Add یک پروفایل همانند شکل زیر ایجاد میکنیم.
- از آنجایی که از این پروفایل برای احراز هویت کاربران شبکه Wired خود استفاده خواهیم کرد. بنابراین در قسمت Media گزینه 802.3 را انتخاب میکنیم.
- در صفحه بعدی در قسمت Security level گزینه Authenticating Network را انتخاب میکنیم.
- در ادامه و در صفحه بعد گزینه User and computer Authentication را برای Network connection type انتخاب میکنیم.
- ما میتوانیم از ماژول NAM برای متدهای EAP-TLS و PEAP هم استفاده کنیم. بنابراین در این مرحله، متد مربوط به EAP و متد احراز هویت مربوط به Machine Authentication را انتخاب میکنیم.
- شبیه تنظیمات مربوط به Machine Authentication را برای User Authentication نیز انجام میهیم.
- در انتهای کار پروفایل ایجاد شده را در مسیر زیر و به اسم configuration.xml ذخیره میکنیم.
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Network Access Manager/newconfiguration
- در ویندوزهای 10 و 8 با توجه به تغییراتی که در معماری امنیتی آنها انجام شده، ماژول NAM امکان استفاده از توکنهای ویندوز را ندارد. برای این کار بایستی در رجیستری مقدار LsaAllowReturnigUnencryptedSecrets را در مسیر زیر اضافه کنیم.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa