ارزیابی وضیعت نقاط پایانی به کمک کلاینت Anyconnect در سیسکو ISE
در حال حاضر در اکثر شبکهها معمولا از راهکارهایی مانند اکتیودایرکتوری یا راهکارهای DLP و راهکارهای مشابه برای اعمال و کنترل سیاستهای کنترلی استفاده میشود. برای مثال ما میتوانیم از طریق اکتیو دایرکتوری اجازه استفاده از دیوایسهای ذخیره سازی را محدود یا مسدود نماییم. یا از طریق نرمافزارهای آنتیویروس سیاستهایی برای کنترل ارتباطات شبکه سیستمها تعیین و اعمال کنیم. ولی نکتهای که اینجا وجود دارد این است که در صورت نقض شدن سیاستها روشی برای کاهش دسترسی یا قرنطینه کردن نقطه پایانی وجود ندارد. علاوه براین ما نمیتوانیم در صورت تغییر وضعیت نقطه پایانی آن را مجددا ارزیابی و با توجه به شرایط جدید برای دسترسیهای آن تصمیمگیری کنیم. دقیقا اینجا همان نقطهایست که ما به راهکاری متمرکز برای کنترل و اعمال و مانیتور کردن سیاستهای شبکهای خود براساس وضعیت نقاط پایانی نیاز داریم.
ارزیابی وضعیت نقاط پایانی (Posture Assessment)
سیسکو در حال حاضر سعی کرده در راهکار ISE خود کلیه نیازمندیهای لازم برای احراز هویت، ارزیابی وضعیت نقاط پایانی و کنترل دسترسیها کاربران و نقاط پایانی در وضعیتها و شرایط مختلف را به صورت مجتمع ارائه دهد. علاوهبراین با استفاده از قابلیت Change of Authorization به صورت بلادرنگ کاربران و سیستمها را در صورت شناسایی هر نوع تغییری در وضعیت و نوع دسترسیشان، شناسایی و مجدد برای وضعیت جدید تصمیمگیری نماید.
قابلیت Posture Assessment به سیسکو ISE این اجازه را میدهد تا اگر نقاط پایانی که با سیاستهای سازمان از جمله داشتن آخرین ورژن آنتیویروس، نصب بودن آخرین Patch های ویندوز، به روز بودن دیتابیس آنتیویروس یا روشن بودن فایروال و سایر شرایط سازگار نباشند، اجازه اتصال به شبکه را نداشته باشد. بنابراین ISE میتواند متناسب با وضعیت نقاط پایانی، سیاستهای متناسب با آن ارائه دهد. بسیاری از کارشناسان امنیت مفهوم Posture Assessment را با فرآیند مربوط به استخراج هویت کاربر اشتباه در نظر میگیرند. در حالی که استخراج هویت کاربر وظیفه پروتکل 802.1x میباشد. به عبارتی پروتکل 802.1x پیشنیاز انجام Posture Assessment میباشد. در ادامه تنظیمات مورد نیاز برای Posture Assessmet را انجام خواهیم داد.
نیازمندیها سناریو
- راه اندازی سرور اکتیو دایرکتوری
- سیستم عضو دامین
- راه اندازی Enterprise root CA
- تنطیمات مورد نیاز برای فعال کردن Posture Assessment

وضعیتهای مورد انتظار برای نقاط پایانی
هر نقطه پایانی متصل به شبکه میتواند با توجه به شرایطی که دارد در یکی از وضعیتهای زیر قرار گیرد. در واقع براساس این وضعیتها نقاط پایانی دسترسیهای متفاوتی دریافت میکند.
Compliant
اگر یک نقطه پایانی کلیه شرایط سازگاری با سیاستهای تعریف شده را داشته باشد، در وضعیت Compilant قرار میگیرد.
None Compliant
در صورتی که برخی یا همه سیاستهای سازگاری بر روی نقطه پایانی نقض شده باشد، در حالت نقطه پایانی در وضعیت None Compliant قرار میگیرد. در این شرایط دسترسیهای محدودی برای این سیستم در نظر گرفته شده و در حالت قرطینه قرار میگیرد. معمولا در چنین مواقعی کاربران به سیستمهای Patch Management یا پورتال نصب نرمافزارهای مورد نیاز متصل یا هدایت میشوند. این سیستم میتواند مجددا در صورت رفع ناسازگاریها خود را مورد ارزیابی قرا داده و دسترسیهای خود را دریافت کند.
Unknown
در این حالت ISE هیچگونه اطلاعاتی در مورد وضعیت نقطه پایانی ندارد. اکثرا در چنین شرایطی نقطه پایانی به برای نصب ماژولهای لازم به پورتال Posture Assessment هدایت میشود.
تنطیمات مورد نیاز برای فعال کردن Posture Assessment
در دو پست قبلی در مورد نحوه فعالسازی دو متد احراز هویت PEAP و EAP-TLS صحبت شد. در اینجا از تنظیم مجدد آنها صرف نظر میکنیم و شما میتوانید در صورت نیاز به آنها مراجعه کنید. برای شروع ابتدا از داشبورد Central Work بر روی Posture کلیک میکنیم. قسمت Overview خلاصه از کلیه تنظیمات مورد نیاز را را به صورت مرحلهای نشان میدهد. با توجه به اینکه تنظیمات مربوط به Network Access Device را در مراحل قبلی انجام دادهایم در اینجا از تنظیم Client Provisioning Resources شروع میکنیم.

Client Provisioning Resoures
در این قسمت تنظیمات مربوط به پورتال، پروفایل و پک نرمافزاری مورد نیاز را انجام میدهیم.
ایجا پروفایل Anyconnect Posture Profile
ابتدا یک پروفایل از قسمت Resources برای Anyconnect Posture ایجاد میکنیم. تنها چیزهایی که برای آن نیاز داریم یک اسم و Server name rules که مقدار آن همان آدرس PSN میباشد. در صورتی که از چندین سرور PSN به صورت کلاستر استفاده میکنیم بهتر است آن را به صورت Wildcard وارد کنیم.

آپلود Anyconnect VPN Client
ماژول Anyconnect Compliance Module برای اجرا به کلاینت Anyconnect VPN Client نیاز دارد. بنابراین نسخه anyconnect-win-4.x-webdeploy-k9.pkg را از ساین سیسکو دانلود کرده و از قسمت Resources بر روی ISE آپلود میکنیم.

دانلود Agent مربوط به Posture Compliance Module
طبق تصویر زیر از قسمت Resouces گزینه Add را زده و با انتخاب گزینه Add Resources From Cisco Site ماژول Anyconnect Compliance Module را دانلود میکنیم.

ایجاد فایل تنظیمات Anyconnect
در ادامه از طریق Anyconnect Configuration همه تنظیمات بالا را برای استفاده در یکجا پک میکنیم.

Client Provisioning Policy
در این قسمت یک پالیسی Client Provisioning ایجاد و مشخص میکنیم که تنظیمات بالا بر روی چه سیستمهایی با چه شرایطی اعمال شود.

ایجاد پورتال Client Provisioning
در اینجا پورتالی که قرار است سیستم با وضعیت Unkown به آن هدایت شود را ایجاد میکنیم. میتوانیم این پورتال را متناسب با سازمان یا شرکتمان شخصیسازی کنیم.
ایجاد Access List ها و پروفایلهای Authorization
در این مرحله، Access لیستها و پروفایلهای Authorization مورد نیاز برای حالتهای مختلف نقاط پایانی را تعریف میکنیم. برای اینکار ابتدا از منو بخش Policy Element را انتخاب تنظیمات زیر را انجام میدهیم.
ایجاد Downloadable DACLs و Athorization Profile برای وضعیت Unknown Posture
در این پروفایل، کاربر را با استفاده از از یک Access لیست که بر روی دستگاه NAS که در اینجا سوئیچ شبکهمان میباشد، به پورتال Client Provisining هدایت میکنیم.

ایجاد Downloadable DACLs و Athorization Profile برای وضعیت Compliant Posture

ایجاد Downloadable DACLs و Athorization Profile برای وضعیت None Compliant Posture

ایجاد Condition ها، Remediation ها و مجتمع کردن آن در یک پروفایل Requirement
در این قسمت بایستی شرایطی که قرار است بر روی نقاط پایانی مانند وضعیت فایروال یا سایر موارد چک شود را تعریف میکنیم. در زیر یک Requirement با Condition فعال بودن فایروال ویندوز و Remediation برای فعال کردن آن تهریف کردهایم.

ایجاد Posture Policy
با استفاده از این سیاست کلیه نیازمندیهای امنیتی که قرار است بر روی نقاط امنیتی چک شود را به صورت یک سیاست Posturing تعریف میکنیم. در این سیاست شرایطی مانند نقاط و کاربرانی که قرار است این سیاست بر روی آنها اعمال شود هم چنین ماژول Compliance cheking به همراه نوع سیستم عاملها، نوع Posture و نیازمندیهای تعریف شده را مشخص میکنیم.

اضافه کردن Posture Status به Policy Set ها
برای اینکه بتوانیم کنترل دسترسی کاربران خود را براساس نتیجه پالیستی Posture انجام دهیم، نیاز داریم برای هر سه وضعیتی که کاربر قرار میگیرد طبق شکل زیر سیاست Authorization در Policy Set خود ایجاد نماییم.

aaa new-model
aaa group server radius ise-radius
server 192.168.143.115 auth-port 1812 acct-port 1813
aaa group server tacacs+ ise-tacacs
server 192.168.143.115
aaa authentication login AAA group ise-radius local
aaa authentication dot1x default group ise-radius
aaa authorization console
aaa authorization config-commands
aaa authorization exec AAA group ise-tacacs local
aaa authorization commands 0 AAA group ise-tacacs local
aaa authorization commands 1 AAA group ise-tacacs local
aaa authorization commands 15 AAA group ise-tacacs local
aaa authorization network default group ise-radius
aaa authorization auth-proxy default group ise-radius
aaa accounting update newinfo periodic 5
aaa accounting auth-proxy default start-stop group ise-radius
aaa accounting dot1x default start-stop group ise-radius
aaa accounting exec exec_ start-stop group ise-tacacs
aaa accounting commands 0 cmd0_ start-stop group ise-tacacs
aaa accounting commands 1 cmd1_ start-stop group ise-tacacs
aaa accounting commands 15 cmd15_ start-stop group ise-tacacs
aaa accounting system default start-stop group ise-radius
aaa server radius dynamic-author
client 192.168.143.115 server-key cisco123
aaa session-id common
switch 1 provision ws-c3750g-24t
system mtu routing 1500
ip routing
ip domain-name keyhan.ir
ip device tracking probe delay 10
ip device tracking
login on-failure
login on-success
dot1x system-auth-control
dot1x critical eapol
interface GigabitEthernet1/0/1
switchport trunk encapsulation dot1q
switchport mode trunk
interface GigabitEthernet1/0/2
switchport access vlan 66
switchport mode access
interface GigabitEthernet1/0/3
switchport access vlan 66
switchport mode access
ip access-group ACL-DEFAULT in
authentication event fail action next-method
authentication event server dead action authorize
authentication event server alive action reinitialize
authentication host-mode multi-auth
authentication order dot1x mab
authentication priority dot1x mab
authentication port-control auto
authentication periodic
authentication violation restrict
mab
dot1x pae authenticator
dot1x timeout tx-period 10
no cdp enable
interface Vlan66
ip address 192.168.66.150 255.255.255.0
ip classless
ip route 0.0.0.0 0.0.0.0 192.168.66.1
ip http server
ip http secure-server
ip access-list extended ACL-DEFAULT
permit udp any any eq bootpc bootps
permit udp any any eq bootps bootpc
permit udp any any eq domain
permit udp any any eq tftp
permit udp any eq snmp any
permit ip any host 192.168.143.104
permit icmp any any
deny ip any any
ip access-list extended ACL-REDIRECT
deny udp any any eq bootpc bootps
deny udp any any eq bootps bootpc
deny ip any host 192.168.143.104
permit tcp any any eq 443
permit tcp any any eq www
deny ip any any
ip radius source-interface Vlan66 vrf default
logging trap warnings
logging origin-id ip
logging source-interface Vlan66
logging host 192.168.143.115 transport udp port 20514
!
tacacs-server host 192.168.143.115 key cisco123
tacacs-server directed-request
tacacs-server key cisco123
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 dead-criteria time 30 tries 3
radius-server host 192.168.143.115 auth-port 1812 acct-port 1813 key cisco123
radius-server deadtime 1
radius-server key cisco123
radius-server vsa send accounting
radius-server vsa send authentication
line vty 0 4
authorization commands 0 AAA
authorization commands 1 AAA
authorization commands 15 AAA
authorization exec AAA
accounting commands 0 cmd0_
accounting commands 1 cmd1_
accounting commands 15 cmd15_
accounting exec exec_
login authentication AAA
transport input ssh