قابلیت Device Profiling سیسکو ISE
ISE Device Profiling
به طور معمول در شبکههایی با دسترسیهای آزاد کاربران سیستمهای خود را به صورت کاملا آزادانه به شبکه متصل میکنند. در این فرآیند معمولا سیستمها با دریافت آدرس IP میتوانند به سرویسها و سایر دستگاههای موجود در شبکه دسترسی پیدا کنند. البته در بسیاری از موارد این دسترسیها همیشه نامحدود نمیباشند.
از دیگاه امنیتی در چنین مواقعی، در وهله اول همه ما به دنبال این هستیم که اطلاعات کاملی از نقاط پایانی متصل به شبکه خود داشته باشیم. دلیل این موضوع این است که میخواهیم فقط دستگاه یا کاربران مشخصی، در زمان، مکان و شرایط خاصی (Who, What, When, Where, How) به اطلاعات و سرویسهای ما دسترسی داشته باشند. طراحی سیسکو ISE نیز از روز اول بر این مبنا بوده تا بتواند با استفاده از متدهای مختلف تا حد امکان اطلاعات کاملی در مورد نقاط پایانی جمعآوری نماید. در معماری سیسکو ISE به فرآیند جمعآوری این اطلاعات پروفایلینگ (ISE Device Profiling) گفته میشود. همان طور که در پست قبلی اشاره کردیم سیسکو ISE میتواند با استفاده از متدهای متنوعی اطلاعات مربوط به کاربران و نقاط پایانی را از سایر تجهیزات شبکه به صورت اکتیو یا پسیو جمعآوری کند.
در ادامه قصد داریم نحوه انجام تنظیمات مربوط به Deivce Profiling و استفاده از آن برای احراز هویت نقاط پایانی را بررسی کنیم.
انجام تنظیمات مربوط به Device Profiling بر روی سیسکو ISE
شرکت سیسکو از نسخه 2.2 به بعد محصول ISE خود یک داشبورد کاملا حرفهای به اسم Work Center به آن اضافه کرده است. با استفاده از آن میتوانیم به صورت مرحلهای و کاملا متمرکز کلیه تنظیمات مورد نیاز برای فعال کردن قابلیتهای مختلف را انجام دهیم. به همین دلیل برای انجام تنظیمات مربوط به پروفایلینگ ابتدا از منوی Work Center گزینه Profiling را انتخاب میکنیم. طبق تصویر زیر بایستی مراحل زیر را برای انجام تنظیمات مربوط به Profiling طی کنیم.
External Identity Sources
راهکار ISE میتواند برای احراز هویت کاربران و نقاط پایانی با منابع بیرونی ارتباط برقرار کرده و از آنها به عنوان مرجعی برای احراز هویت کاربران و نقاط پایانی استفاده نماید. علاوه براین سیسکو ISE برای انجام کار پروفایلینگ اطلاعات موجود در این منابع را جمعآوری میکند و از این طریق اطلاعات غنی از ماهیت نقاط پایانی بدست میآورد. در حال حاضر سیسکو ISE قابلیت ارتباط با سیستمهایی مانند Active Directory, LDAP, ODBC و سایر گزینههای موجود در تصویر زیر را داراست. در اینجا ما فقط تنطیمات مربوط به Certificate Authentication Profile و Active Directory را انجام میدهیم.
فقط هنگام Join کردن ISE به اکتیودایرکتوری حتما دقت کنید که گزینه Store Credential را فعال نمایید. دلیل این کار این است که ISE برای جمعآوری اطلاعات کاربران و نقاط پایانی از اکتیودایرکتوری به این مجوز نیاز دارد.
Network Device
برای اینکه احراز هویت نقاط پایانی از طریق سیسکو ISE انجام شود نیاز است تا تجهیزات بین این نقاط و ISE از طریق پروتکل Radius با هم در ارتباط باشند. همانند تنظیماتی که در پست مربوط به نحوه استفاده از سیسکو ISE برای ارزیابی امنیتی ارتباطات VPN سازمان برای سیسکو ASA انجام دادیم را برای Switch نیز نیاز داریم. برای اینکه سیسکو ISE بتواند از طریق SNMPQuery نیز از سوئیچ اطلاعات مربوط به نقاط پایانی را دریافت کند، در اینجا تنظیمات SNMP را نیز انجام میدهیم.
Endpoint Classification
بعد انجام تنظیمات مربوط به پروفایلینگ، نقاط پایانی پروفایل شده در این قسمت نمایش داده میشود.
Node Config
در سیسکو ISE فعال کردن قابلیت Profiling از قسمت Node Cofig انجام میشود. علاوهبراین در اینجا میتوانیم منابعی که ISE برای پروفایلینگ از آنها اطلاعات دریافت کند را نیز مشخص و فعال نماییم.
Feeds
موتور پروفایلینگ سیسکو ISE همانند یک سیستم IDS کار میکند و از تعداد زیادی Signature برای کلاسبندی نقاط پایانی استفاده مینماید. این Signature ها تحت عنوان Feed در ISE قرار دارند که از این قسمت قابل بروزرسانی اتوماتیک و دستی میباشد.
Manual Scan
سیسکو ISE علاوه بر امکان استفاده از قابلیتهای پسیو برای پروفایلینگ نقاط پایانی میتواند به صورت اکتیو و با استفاده از ماژولهایی مانند NMAP شبکه را پویش کرده و اطلاعات بدست آمده را به پروفایل نقاط پایانی اضافه نماید.
Policy Elements
در اینجا میتوانیم المانهایی که برای نوشتن سیاستهای پروفایلینگ، احراز هویت و سیاستهای دسترسی مورد نیازند را تعریف نماییم. مثال زیر یک نمونه Condition برای دستهبندی یک نقطه پایانی به عنوان سیستمی عضو اکتیو دایرکتوری میباشد.
Profiling Policy
قلب اصلی سیستم پروفایلینگ ISE را سیاستهای پروفایلینگ و Logical Profiling ها تشکیل میدهند. در واقع در اینجا ما با استفاده از Conditionهای موجود پالیسیهای پروفایلینگ خود را مینویسیم. و سپس آنها را در Logical Profile ها مجتمع میکنیم. در مثال زیر اگر اطلاعات جمعآوری شده از نقطه پایانی، شرایط AD_Joined در آن وجود داشته باشد، ISE آن را در کلاس Iranshell_AD_Joined دستهبندی خواهد کرد. در سیاستهای پروفایلینگ به ازای هر تطابق با Condition تعریف شده مقدار Certaincy آن افزایش مییابد. در صورتی که مقدار آن بیشتر از Minimum تعریف شده باشد نقطه پایانی در آن کلاسبندی قرار میگیرد.
Policy Sets
با توجه به اینکه نقاط پایانی بدون نیاز به هیچ گونه عاملی توسط ISE دستهنبدی میشوند، انجام فرآیند احراز هویت و اعطای دسترسی نیز بدون نیاز به هیچ عاملی انجام میشود. در تجهیزاتی مانند سوئیچها، سوئیچ با دریافت اولین بسته IP از نقطه پایانی فرآیند احراز هویت آن را شروع میکند. فرآیند مربوط به احراز هویت نقاط پایانی MAB یا MAC Authentication Bypass نام دارد. در این قسمت کلیه تنظیمات مورد نیاز برای این کار را طی مراحل زیر انجام میدهیم.
- ابتدا یک Policy Set ایجاد کرده و Condition و Protocol های احراز هویت آن را مشخص میکنیم.
- بعد از ایجاد و انتخاب Policy Set، سیاستهای Authentication و Authorization را برای نقاط پایانی خود ایجاد میکنیم.
تنظیمات سوئیچ
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 probe auto-sources 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
!