در این قسمت از بحثمون می خوایم ابتدا با تعدادی از اتک هایی که در سطح data plane routed اتفاق میآفتد آشنا بشیم و در ادامه راه های مقابله یا کاهش این تهدید را بیاموزیم.
یعنی اینکه بیاییم IP خود را جعل کنیم و با آن وارد شبکه شویم این در صورتی می باشد که ما با IP اصلی خودمان اجازه ورود به آن شبکه را نداریم.خود این نوع اتک بنا بر 3 روش اهداف خود را پیش می برد:
این را می دانیم که روترها بسته های خود را با استفاده از routing table و mac-address فوروارد می کنند.حال پکت هایی هستند که با cpu فوروارد می شوند.وقتی بیاییم این پکت ها را با حجم زیاد روانه شبکه کنیم علانا توانسته ایم که cpu دستگاه را درگیر و اشغال کنیم و در نهایت cpu دچار overload شده و دیوایس از کار می افتد. چه ترافیک هایی با استفاده از cpu روت می شوند؟
در این نوع حمله می آیند سیلی عظیم از ترافیک را وارد شبکه می کنند تا بتوانند دیوایس قربانی را دچار اختلال کنند.که گاه با آدرس ip های spoof شده این کار انجام می شود.
وقتی می خواستیم ترافیک های شبکه ما دسترسی خاصی به جایی مثلا اینترنت داشته باشند با استفاده ازACL می آمدیم می گفتیم که ترافیک هایی که به سمت WEB میروند را Permit و بقیه را deny کن.حال در مسیر برگشت دیگر ما نمی توانیم جلوی ترافیک را بگیریم برای این منظور باید یک ACL در موقع برگشت نیز وار کنیم که این خود باعث افزایش کانفیگ و پیچیدگی آن ها می شود.و همچنین یکطرفه فیلتر کردن ترافیک باعث بروز مشکلاتی نیز می شود.به طور مثال از بیرون از شبکه به راحتی می توانیم وارد شبکه شویم. برای رفع این مشکل سراغ reflexive ACL خواهیم رفت.
RACL می گوید که ترافیک ها می توانند از بیرون به داخل شبکه بیایند ولی مشروط بر اینکه قبلا از داخل به بیرون روت شده باشند.و یا از داخل سازمان اگر دستوری وارد نشد، اجازه ورود نداشته باشند.در واقع RACL یک نسخه کوچکی از فایروال می باشد که در ACL اجرا می شود.
کنترل بر اساس زمان می باشد.یعنی کنترل را می خواهیم در زمان های مشخص و خاص انجام دهیم.به عنوان مثال می خواهم کاربران من از ساعت 8:00 تا 14:00 بعدازظهر فقط اینترنت داشته باشند غیر این تایم به اینترنت دسترسی نداشته باشند.قبل از نوشتن این ACL باید اول یک time range تعریف کنیم و آن را در ACL تعریف کنیم.حال خود این time range بر دو نوع می باشد.
Router (config) #time-range (time-range –name) Router (config-time-range) # periodic (day of the week| hh:mm) Router (config-time-range) #absolute [start time data][end time data] Router (config) # access-list 101 <protocol><source><destination><time range name>
همانند ACL می تواند ترافیک را کنترل کند با این تفاوت که این کنترل بسیا دقیق تر انجام می گیرد.یعنی می توان کنترل ترافیک را بر اساس بیت های موجود در هدر آن بسته انجام داد.برای فهم بیشتر یک مثال میزنم: فکر کنید یک ویروسی وارد سیستم شده که ما نمی توانیم جلوی آن را بنا به دلایل زیادی بگیریم.در این صورت یک نمونه از آن بسته را لود میکنیم و یک بیت از بیت های مشخص آن را پیدا می کنیم و انتخاب می کنیم حالا می گوییم که اگر بسته ای دریافت کردی که این بیت ها را داشت جلوی آن را بگیر و آن را drop کند.
برای راه اندازی FPM باید مراحل زیر را دنبال کرد:
1- باید ابتدا بسته ها را با پروتکل PHDF لود کنیم ابتدا تا کنترل ما نیز دقیق تر صورت گیرد طبق آن چیزی که بالا ذکر شد.
با استفاده از دستور زیر می آییم آن را کانفیگ می کنیم.
Router (config) # load protocol location: filename Exam: Router (config) # load protocol system:fpm/phdf/ip.phdf Router (config) # load protocol system:fpm/phdf/tcp.phdf
2- با استفاده از class-map می آییم ترافیک های خودمان را جدا می کنیم.منظور ترافیک های مورد نظر می باشد.
ما دو نوع class-map داریم:
الف- Stack :فقط براساس پروتکل ها می تواند عملیات classification را اجرا کند.پروتکل هایی مثل IP-TCP-UDP و همچنین فقط در زدن دستورات از کامند match all می توانیم استفاده کنیم.
ب- Access-control :هم بر اساس پروتکل و هم بر اساس pattern های خاصی در ترافیک می تواند ترافیک را کنترل کند.
Router (config) # class-map type [stack | access-control] [match-all | match-any] class-map-name Router (config-cmap) # match field protocol protocol-field [eq | neq | gt | lt | range range] value next next-protocol Router (config-cmap) # match start [l2-start | l3-start] offset offset size size [eq | neq | gt | lt | range range] value
3- با استفاده از Policy-map می آییم action مورد نظر را ری این ترافیک انتخاب شده انجام می دهیم که drop کند یا permit کند ویا ...
Router (config) # policy-map type access-control policy-map-name Router (config-pmap) # class class-name Router (config-pmap-c) # drop
4- در آخر این پالیسی هارا به اینترفیس مورد نظر apply می کنیم
Router (config) # interface type <mod/num> Router (config-if) # service-policy type access-control [input | output] policymap-name
یک ابزار مانیتورینگ می باشد یعنی می توانیم با آن بیاییم کلیه ی ترافیک های یک اینترفیس را در دست بگیریم و مشاهده کنیم.Flow به ترافیک هایی گفته می شود که هم از نظر src , dest هم از نظر شماره پورت و هم از نظر پروتکل باهم برابر باشند.حالا netflow می آید کنترل این flow ها را به عهده می گیرد.این ترافیک ها وارد نرم افزاری می شوند برای مانیتورینگ.نرم افزار های خاصی مثل manage engine مثل solar winds. Flexible netflow با netflow تفاوت های بخصوصی دارد:
Key field: با flexible netflow می توانیم کاری کنیم که flow های مختلف بیایند مجزا یا تفکیک شوند.یعنی flow هایی که از یک اینترفیس وارد می شوند با flow هایی که از یک اینترفیس دیگر وارد می شوند را در قسمت های مختلف یا flow های مختلف قرار دهیم.
Nonkey field: فیلدهایی که می خواهیم در موقع خروج برای ما نمایش داده شوند. مثلا src ip را نمایش دهد یا بر اساس src ip نمایش دهد.
1- net flow record:اون دو فیچر nonkey field و key field هایی که می خواهیم بر اساس آن ها flow ها شناسایی و مانیتورینگ شوند.
Router (config) # flow record flow-record-name To specify key fields: Router (config-flow-record) # match [ipv4 | ipv6 | datalink | routing | flow |interface} options To specify nonkey fields: Router (config-flow-record) # collect [counter | ipv4 | ipv6 | datalink | routing | flow | interface | timestamp] options
2- net flow exporters : محل خروجی مانیتورینگ را مشخص می کند.
Router (config) # flows monitor flow-monitor-name Router (config-flow-monitor) # record [flow-record-name | netflow | netfloworiginal] {ipv4 | ipv6} {Original-input | original-output}
3- net flow sample : به دلیل زیاد بودن ترافیک در اینترفیس ها و انجام عمل مانیتورینگ باعث بالا رفتن پروسس CPU می شود برای رفع این مشکل می آیند از ترافیک نمونه برداری می کنند.به عنوان مثال می آیند از هر سه پکت دریافتی یک پکت را مانیتور می کنند.در این صورت بار ترافیکی کاسته و میزان پروسس کاهش می یابد.
Router (config) # sampler sampler-name Router (config-sampler) # mode {deterministic | random} 1 out-of window-size
4- netflow monitoring : تمامی سه موارد بالا در این قسمت صدا زده می شوند .و خود این قسمت به اینترفیس apply می شود.
Router (config) # flows monitor flow-monitor-name Router (config-flow-monitor) # record [flow-record-name | netflow | netfloworiginal] {ipv4 | ipv6} {Original-input | original-output}
حال net flow monitor را باید به یک اینترفیس معرفی کنیم.اون اینترفیسی که باید به یک ابزار مانیتورینگ بدهیم.با دستورات زیر این کار را انجام می دهیم.
Router (config-if) # ip flow monitor flow-monitor-name {sampler sampler-name} [multicast | unicast] [input | output]
برای جلوگیری از اتک های IP Spoofing استفاده می شود.برای اینکه دیگر از ACL استفاده نکنیم و درگیر پیجدگی های آن نشویم از این فیچر استفاد می کینم.پیچیدگی این روش یسیار کم می باشد به طوری که می گوید اون ترافیک هایی که از بیرون می خواهند به داخل بیایند src آن را چک میکند.در صورتی می توانند ،که یک خط روت در جدول روتینگ به آن مقصد وجود داشته باشد.
به عنوان مثال اگر یک ip valid دریافت کند چون ipهای valid ما به اینترنت دسترسی ندارنند پس بنابراین اون ip دریافت شده را drop می کند.
در دو مد کاری از RPF استفاده می شود:
Strict (normal): همین روشی که در بالا گفته شد عمل می کند.
Loose: مثل روش بالا عمل می کند با این تفاوت که اگر در جدول روتینگ هم به اون آدرس یه روت وجود داشت باز هم آن بسته drop می شود.
ip cef {distributed}# ip verify unicast source reachable-via [rx | any] {access-list} #
اگر در یادگیری سیسکو مشکل دارید ، به شما پیشنهاد می کنیم از طریق دوره های آموزش سیسکو حرفه ای سایت توسینسو و با دوره آموزش CCNA روتینگ و سویچینگ شروع کنید ، فراموش نکنید که پیشنیاز همه این دوره های آموزش شبکه ، دوره آموزش نتورک پلاس است ، فراموش نکنید توسینسو اولین و بهترین انتخاب شما در حوزه آموزش فناوری اطلاعات فارسی است.
کارشناس ICT و علاقه مند به امنیت و فایروال
حسن صفری فارغ التحصیل مقطع کارشناسی در رشته ICT با بیش از 3 سال سابقه کاری در پارک علم و فناوری دانشگاه آزاد، دارای مدارک تخصصی شبکه در حوزه ی سیسکو و پیکربندی و اجرای مباحث امنیتی، عیب یابی فایروال هایASA و اعمال HA و همچنین شرکت در مباحث علمی مربوط به شبکه، خواندن کتب، مقالات علمی لاتین و.......
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود