احراز هویت کاربران و سیستمهای شبکه با استفاده از EAP-TLS در سیسکو ISE
پروتکل احراز هویت EAP، که در RFC3748 به صورت کامل توضیح داده شده است، در واقع یک مکانیزم استاندارد برای پشتیبانی از روشهای مختلف احراز هویت ارائه میدهد. به واسطه استفاده از پروتکل EAP، پشتیبانی از تعدادی معماری احراز هویت، از جمله کارتهای هوشمند، Kerberos، زیرساخت کلید عمومی، پسوردهای یکبار مصرف و سایر موارد، اضافه شده است. EAP برای استفاده با انواع لایههای پایین تر، از جمله پروتکلهای نقطه به نقطه (PPP)، پروتکلهای تونلینگ لایه 2 مانند PPTP یا L2TP و همچنین شبکههای سیمی IEEE-802.1X و فناوریهای بی سیم مانند IEEE 802.11 و IEEE 802.16 نیز تعریف شده است.
پروتکل EAP-TLS
پروتکل EAP-TLS همانند PEAP یکی از پروتکلهای احراز هویت مربوط به پروتکل EAP میباشد که در RFC 5216 به طور کامل معرفی شده است. این پروتکل به عنوان یک استاندارد طلایی برای تامین امنیت مورد نیاز برای احراز هویت شبکه محسوب میشود، اما علیرغم شهرت گسترده آن، هنوز به طور گسترده بر روی سیستمهای مختلف توسعه داده نشده و استفاده نمیشود. این عمدتاً به این دلیل است که پروتکل EAP-TLS قبل از اینکه صنعت به راه حلهای پیشرفته برای پیکربندی راحت دستگاهها در مقیاس بزرگ و حرفهای نیاز داشته باشد، توسعه داده شده است.
نیازمندیها سناریو
- راه اندازی سرور اکتیو دایرکتوری
- سیستم عضو دامین
- راه اندازی Enterprise root CA
انجام تنظیمات مربوط به پروفایل احراز هویت Certificate
با توجه به اینکه پروتکل EAP-TLS از زیرساخت کلید عمومی یا همان PKI برای احراز هویت کاربران استفاده میکند. بنابراین اولین کاری که انجام میدهیم تنظیمات مربوط یه Certificate Authentication Identity را از قسمت Ext id Sources انجام میهیم. طبق تصویر زیر بعد از انتخاب اسم برای منبع گواهی، دامین مد نظر را که قرار است نگاشت Common Name موجود در گواهی به کاربر و گروه کاربری از طریق آن انجام شود را انتخاب میکنیم.
انجام تنظیمات مورد نیاز برای تعیین متدهای احراز هویت EAP-TLS
در مرحله پروتکلهای مجاز برای احراز هویت کاربران را مشخص میکنیم. برای این کار از قسمت Allowed Protocls یک مقدار جدید ایجاد و فقط تیک مربوط به تنظیمات EAP-TLS را انتخاب میکنیم.
ایجاد Policy Set های مورد نیاز برای احراز هویت کاربران و نقاط پایانی
ایجاد سیاستهای Authentication و Authorization
ایجاد پروفایل مربوط به Authorization Profile و دسترسیهای قابل دانلود یا همان DACL ها
در این سناریو از پروفایل پیشفرض استفاده شده که در محیط عملیاتی بایستی براساس نیاز برای کابران و نقاط پایانی پروفایلهای جداگانهای تعریف نماییم.
انجام تنظیمات سوئیچ
دقیقا تنظیمات سوئیچ برای PEAP را برای EAP-TLS نیز انجام میدهیم.
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
!
انجام تنظیمات سیستم کاربر
برای انجام تنظیمات سمت کاربر میتوانیم از یکی از دو روش زیر استفاده کنیم. روش اول اینکه تنظیمات مربوط به Client Supplicant را از طریق Group Policy بر روی دامین خود اعمال کنیم. همپچنین با استفاده از Group Policy امکان درخواست و صدور اتوماتیک گواهی برای کاربران و کامپیوترها را فعال کنیم. از آنجایی که این روش بسیار کم هزینه میباشد، اکثرا استفاده از این روش توصیه میشود. روش دوم هم انجام دستی همه این تنظیمات به صورت دستی بر روی همه کاربران میباشد. که این روش به دلیل زمانبر بودن و امکان خطا در آن، اصلا توصیه نمیشود.
در روش اول ابتدا یک پالیسی در Group Policy به هر اسمی که میخواهیم اضافه میکنیم. از آنجایی که سرویس مربوط به پروتکل 802.1x در ویندوز به صورت پیشفرض غیرفعال میباشد. ابتدا از مسیر زیر سرویس Wired AutoConfig را در حالت Automatic قرار میدهیم.
ایجاد پالیسی جدید برای Wired Network
انتخاب متد احراز هویت شبکه (Network Authentication Method)
انتخاب گواهی Root CA برای انجام Authentication
برای انجام دستی تنظیمات مراحل بالا را بر روی سیستم کاربر انجام میدهیم.
بررسی لاگهای ISE
با توجه به لاگها نمایش داده شده سیستم LABSRV با استفاده از متد EAP-TLS احراز هویت شده و دسترسیها لازم برای آن ارسال شده است.