DDoS Mitigation و BGP Flowspec

| توجه داشته باشید: به طور معمول، آدرس IP 192.0.2.1 برای پرش بعدی استفاده می شود که نباید قابل دسترسی باشد. آدرس IP برای استفاده در شبکه های آزمایشی رزرو شده است. به عنوان یک آدرس IP مستقر استفاده نمی شود. |
BGP Flowspec یک روش جایگزین و دقیق تر RTBH است که در اینجا توضیح داده شده است RFC5575 که می تواند برای کاهش حمله انکار سرویس توزیع شده (DDoS) مورد استفاده قرار گیرد. معیارهای تطبیق به اپراتورهای شبکه اجازه می دهد تا یک جریان خاص را با پارامترهای منبع، مقصد، L4 و مشخصات بسته مانند طول تعریف کنند. اینها در یک پیام BGP UPDATE به روترهای مرزی BGP در FLOW_SPEC_NLRI همراه با معیارهای اقدام ارسال می شوند. اقدامات در ویژگی Path جوامع توسعه یافته انجام می شود. آنها می توانند ترافیک مطابق با مشخصات جریان را رد کنند، ترافیک را برای تجزیه و تحلیل بیشتر به یک VRF خاص هدایت کنند، یا ترافیک سیاست را با نرخ مشخصی انجام دهند.
به عبارت دیگر، BGP Flowspec شبیه لیست های دسترسی است که با class-map و Policy-map ایجاد شده اند که معیارها و اقدامات تطبیقی را برای فیلتر کردن ترافیک ارائه می دهند. آنها به BGP تزریق می شوند و به همتایان BGP تکثیر می شوند. این مکانیسم به یک AS بالادست اجازه می دهد تا فیلتر ورودی را در مسیریاب های ورودی خود در ترافیکی که AS پایین دستی می خواهد رد یا سیاست گذاری کند، انجام دهد.
BGP از NLRI برای تبادل جزئیات مسیریابی بین پره های BGP استفاده می کند. هر یک از پسوندهای چند پروتکلی BGP (MP-BGP) NLRI مخصوص به خود را دارد که با شناسه خانواده آدرس (AFI) و شناسه خانواده آدرس بعدی (SAFI) مشخص می شود. BGP flowspec یک اطلاعات قابل دسترسی لایه شبکه چندپروتکلی جدید (MP_REACH_NLRI) با AFI 1 (IPv4) و AFI بعدی (SAFI) 133 (فیلتر مشخصات جریان) تعریف می کند. Flow Spec NLRI 12 نوع فیلتر لایه 3 و لایه 4 را جمع آوری می کند که برای تعریف مشخصات جریان استفاده می شود. اینها فیلدهایی هستند که در پیام به روز رسانی BGP به NLRI اضافه می شوند و برای همتایان تبلیغ می شوند.
| توجه داشته باشید: مسیرهای پیش فرض برای همتایان BGP، مسیرهای unicast IPv4 هستند. MP-BGP زمانی که مسیرهای unicast غیر IPv4 (مثلا IPv6 یا Flowspec) بین همتایان BGP مبادله می شوند، NLRI مناسب را مشخص می کند. Flowspec (SAFI 133) به عنوان یک برنامه افزودنی چند پروتکلی دیگر در طول فاز باز BGP مورد مذاکره قرار می گیرد (شکل 1). |
یک زیرساخت شبکه فعال شده با BGP Flowspec از یک کنترلر Flowspec (سرور)، یک یا چند مشتری Flowspec و یک بازتاب دهنده مسیر اختیاری تشکیل شده است. قوانینی که شامل معیارها و اقدامات منطبق هستند بر روی سرور ایجاد می شوند و از طریق MP-BGP بین مشتریان توزیع می شوند. کلاینت قوانین را از کنترلر دریافت می کند و قوانین را برای TCAM برنامه ریزی می کند. یک جزء اختیاری بازتاب مسیر میتواند برای دریافت قوانین از کنترلکننده و توزیع آنها به مشتریانش استفاده شود.

شکل 1: پیام BGP OPEN با قابلیت Flowspec (SAFI 133)
پیکربندی Flowspec که توسط مشتری به ارائه دهنده سیگنال داده شده است
یک پیام BGP UPDATE با Flow Spec NLRI در شکل 2 نشان داده شده است. FlOW_SPEC_NLRI شامل معیارهای مطابقت زیر است. ما می توانیم تا 12 نوع معیار مختلف را تعریف کنیم. یک بسته خاص زمانی در نظر گرفته می شود که با مشخصات جریان مطابقت داشته باشد که با تقاطع (I) همه اجزای نمایش داده شده مطابقت داشته باشد.
نوع 1 – پیشوند مقصد (195.165.0.1/32)
نوع 3 – پروتکل IP – 17 (UDP)
نوع 5 – درگاه مقصد – 53 (DNS)

تصویر 2: MP_REACH_NLRI – AFI 1 / SAFI 133 با Flow Spec NLRI
عمل تطبیق معیارها به صورت جوامع گسترده انجام می شود (تصویر 3). نرخ ترافیک 0 به این معنی است که ترافیک مطابق با معیارهای مشخص شده در Flow Spec NLRI حذف می شود.

شکل 3: EXTENDED_COMMUNITIES ویژگی مسیر کاهش ترافیک
پیکربندی Flowspec که توسط مشتری به ارائه دهنده سیگنال داده شده است
شکل 4 یک توپولوژی شبکه را با یک کنترل کننده مرکزی پیکربندی شده روی روتر CE1 (AS64501) و دو کلاینت در یک شبکه ISP1 (AS64500) نشان می دهد. پس از اینکه Customer1 یک حمله DDoS را با هدف درگاه UDP مقصد 53 (DNS) در سرور 196.156.0.1/24 شناسایی کرد، یک به روز رسانی BGP با Flowspec SAFI 133 در ISP1 PE1 تبلیغ می شود. پیام UPDATE حاوی مشخصات جریان مربوط به پیشوند 195.165.0.1/32، پروتکل UDP (17) و پورت مقصد 53 (تصویر 2) است. معیار عملی که ترافیک منطبق با مشخصات جریان را کاهش میدهد، بهعنوان جوامع توسعهیافته BGP انجام میشود (شکل 3). سپس روتر PE1 به روز رسانی BGP را به روتر PE2 ارسال می کند. روتر پایانی ارائه دهنده PE2 با Flowspec فعال در رابط Gi0/0/0/1 قوانین را در TCAM برنامه ریزی می کند. ترافیک دریافتی توسط CE2 که معیارهای منطبق را دارد حذف می شود.

شکل 4: یک کنترلر Flowspec سمت مشتری و دو مشتری Flowspec در شبکه ارائه دهنده
پیکربندی سرور Flowspec (کنترل کننده) در CE1
یک نقشه کلاس ایجاد کنید حمله-fs آدرس IP سرور وب/DNS را مطابقت دهید – 195.165.0.1، پروتکل (17) – UDP و پورت مقصد 53 (DNS).
class-map type traffic match-all attack-fs match destination-address ipv4 195.165.0.1 255.255.255.255 match protocol 17 match destination-port 53 end-class-map
Policy-map attack_pbr را پیکربندی کنید و class-map attack-fs را مرتبط کنید. از class-map برای تعریف یک عمل استفاده کنید.
policy-map type pbr attack_pbr class type traffic attack-fs drop class type traffic class-default end-policy-map
ما نیاز به تعریف یک خط مشی مسیر داریم که اجازه صادرات و واردات مسیرها به/از همتایان eBGP را بدهد.
route-policy PASS pass end-policy router bgp 64501 bgp router-id 4.4.4.4 address-family ipv4 unicast network 195.165.0.0/24 address-family ipv4 flowspec
همسایه eBGP 12.0.0.2 را با یک خط مشی IPv4 ورودی و خروجی برای خانواده آدرس IPv4 unicast برای ارسال و/یا دریافت مسیرهای IPv4 پیکربندی کنید.
neighbor 12.0.0.2 remote-as 64500 address-family ipv4 unicast route-policy PASS in route-policy PASS out
پیکربندی خط مشی ورودی و خروجی Flowspec IPv4 برای همسایه eBGP 12.0.0.2.
address-family ipv4 flowspec route-policy PASS in route-policy PASS out
flowspec را پیکربندی کنید و نوع خط مشی سرویس PBR Policy-map attack_pbr را تنظیم کنید.
flowspec address-family ipv4 service-policy type pbr attack_pbr
شکل 5 تعریف Flowspec و حذف عملکرد سرور BGP-FS (روتر CE1) را نشان می دهد.
RP/0/0/CPU0:CE1# show flowspec ipv4 detail

شکل 5: تعریف جریان با Action Drop در Flowspec Server CE1
پیکربندی مشتری Flowspec در PE1
router bgp 64500 bgp router-id 2.2.2.2 address-family ipv4 unicast address-family ipv4 flowspec neighbor 10.0.0.2 remote-as 64500 address-family ipv4 unicast next-hop-self address-family ipv4 flowspec
همسایه eBGP 12.0.0.1 را با خط مشی IPv4 ورودی و خروجی برای خانواده آدرس IPv4 Unicast پیکربندی کنید تا مسیرها را ارسال و/یا دریافت کنید.
neighbor 12.0.0.1 remote-as 64501 address-family ipv4 unicast route-policy PASS in route-policy PASS out
پیکربندی خط مشی ورودی و خروجی Flowspec IPv4 برای همسایه eBGP 12.0.0.1.
address-family ipv4 flowspec route-policy PASS in route-policy PASS out
سیاست flowspec را به صورت محلی برای همه اینترفیس ها نصب کنید.
flowspec address-family ipv4 local-install interface-all
پیکربندی کلاینت Flowspec در PE2
route-policy PASS pass end-policy router bgp 64500 bgp router-id 1.1.1.1 address-family ipv4 unicast address-family ipv4 flowspec neighbor 10.0.0.1 remote-as 64500 address-family ipv4 unicast next-hop-self address-family ipv4 flowspec
همسایه eBGP 11.0.0.1 را با خط مشی IPv4 ورودی و خروجی برای خانواده آدرس IPv4 Unicast برای ارسال و/یا دریافت مسیرها پیکربندی کنید.
neighbor 11.0.0.1 remote-as 64502 address-family ipv4 unicast route-policy PASS in route-policy PASS out address-family ipv4 flowspec
سیاست flowspec را به صورت محلی برای همه اینترفیس ها نصب کنید.
flowspec address-family ipv4 local-install interface-all
یک جدول BGP برای خانواده آدرس IPv4 Flowspec در شکل 6 نشان داده شده است. جدول شامل یک ورودی برای شبکه مقصد 195.165.0.1/32، پروتکل UDP و پورت مقصد 53 است.
RP/0/0/CPU0:PE2# show bgp ipv4 flowspec

شکل 6: جدول مشخصات جریان BGP IPv4 در PE2
نتیجه:
فناوری BGP Flowspec رویکردی دقیقتر برای کاهش حملات DDoS نسبت به روشهای قدیمی مانند RTBH ارائه میکند. این از طریق تعریف خاصی از جریان ها بر اساس معیارهای تطبیق و اقدامات L3 و L4 پیکربندی شده در سرور FlowSpec به دست می آید. قوانین به طور خودکار با استفاده از MP-BGP (SAFI 133) بین مشتریان FlowSpec توزیع می شوند تا مشتریان بتوانند اقدامات تعریف شده در قوانین را انجام دهند.
تاکنون بسیاری از فروشندگان شبکه مانند سیسکو، جونیپر، آریستا، نوکیا از BGP FlowSpec حداقل در نقش کنترلر در محصول خود پشتیبانی می کنند. به عنوان مثال، سرویس گیرنده FlowSpec در روترهای خدمات تجمعی سری Cisco ASR9000 (IOX-XR)، ASR1000 (IOS-XE) پیاده سازی شده است، در حالی که کنترلر FlowSpec در روترهای ASR9000، CRS، NCS6000، XR12000 است. کنترلکننده FlowSpec را میتوان در Quagga، Bird، Arbor، ExaBGP و همچنین پیادهسازی نرمافزار روتر/سوئیچهای سختافزاری (Cisco IOS-XRv، Arista vEOS) یافت.
با این حال، برای استفاده از BGP Flowspec بهعنوان راهحل کاهش حملات DDoS، یک رویکرد مشترک با سایر ISPها و ارائهدهندگان خدمات مورد نیاز است. متأسفانه، هنوز تعداد کمی از اپراتورها وجود دارند که اجازه می دهند قوانین توزیع شوند. برای جذب بیشتر با BGP Flowspec، متخصصان شبکه باید بیشتر از ارائه دهندگان خود در این مورد بپرسند.



