هاردنینگ Cisco؛ کنترل IP Fragments در مرز شبکه

IP Fragmentation ذاتاً چیز بدی نیست. وقتی یک بسته از MTU مسیر بزرگتر باشد، شکستن آن به fragmentهای کوچکتر بخشی از رفتار IP است. مشکل از جایی شروع میشود که همین قابلیت برای دور زدن کنترلهای امنیتی، فشار آوردن به منابع تجهیز یا مبهم کردن ترافیک استفاده شود.
در شبکههای امروزی، ترافیک fragment شده باید با دقت دیده شود. بعضی وقتها علت آن طراحی اشتباه MTU یا tunnel است، اما بعضی وقتها هم نشانه تلاش برای عبور از ACL، فایروال یا IPS است. برای همین در hardening تجهیزات Cisco، برخورد با IP Fragments یک موضوع جدی است.
چرا IP Fragment خطرساز میشود؟
بسته اول fragment معمولاً اطلاعات لایه ۴ مثل TCP/UDP port را دارد، اما fragmentهای بعدی ممکن است این اطلاعات را نداشته باشند. همین موضوع باعث میشود بعضی کنترلها نتوانند همه fragmentها را مثل یک packet کامل تحلیل کنند. اگر reassembly درست انجام نشود، مهاجم میتواند بخشی از کنترل امنیتی را دور بزند.
از طرف دیگر، reassembly خودش منابع مصرف میکند. اگر حجم زیادی fragment غیرعادی وارد شود، buffer و CPU تجهیز درگیر میشود. حملاتی مثل overlapping fragments، incomplete datagram یا fragmentهای خیلی کوچک دقیقاً از همین نقطه سوءاستفاده میکنند.
رفتار ACL با Fragmentها
فرض کنید یک ACL دارید که فقط TCP به پورت 80 را اجازه میدهد:
access-list 100 permit tcp any host 192.168.1.1 eq 80
این شرط برای fragment اول که اطلاعات لایه ۴ دارد معنیدار است. اما برای fragmentهای بعدی، اطلاعات port ممکن است در packet نباشد. به همین دلیل باید در طراحی ACLها و سیاست امنیتی، ترافیک fragment شده را جداگانه در نظر گرفت.
نمونه ACL برای کنترل Fragmentها
در مرزهای شبکه، مخصوصاً روی لینکهایی که انتظار fragment غیرعادی ندارید، میتوانید بستههای fragment شده را محدود یا deny کنید. نمونه ساده:
ip access-list extended ACL-TRANSIT-IN
deny tcp any any fragments
deny udp any any fragments
deny icmp any any fragments
deny ip any any fragments
permit ip any any
قبل از اعمال چنین ACL باید مطمئن شوید ترافیک legitimate شما به fragment وابسته نیست. بعضی tunnelها، مسیرهای دارای MTU اشتباه یا سرویسهای خاص ممکن است fragment تولید کنند. پس اول مانیتور کنید، بعد محدود کنید.
راه بهتر: اصلاح MTU و Path MTU
اگر در شبکه داخلی زیاد fragment میبینید، فقط deny کردن کافی نیست. باید علت اصلی بررسی شود: MTU لینکها، tunnelها، GRE/IPsec، MSS clamping و ICMPهای لازم برای Path MTU Discovery. اگر PMTUD درست کار نکند، کاربران ممکن است با مشکلهای عجیب مثل باز نشدن بعضی سایتها یا قطع شدن sessionها روبهرو شوند.
جمعبندی
IP Fragmentation باید در مرزهای امنیتی جدی گرفته شود. برای hardening تجهیزات Cisco، fragmentهای غیرضروری را محدود کنید، روی ACL و IPS سیاست روشن داشته باشید، و اگر fragment legitimate زیاد دارید، به جای پنهان کردن مشکل، MTU و طراحی مسیر را اصلاح کنید.

Lynis برای audit و هاردنینگ سرورهای لینوکس و یونیکس
امنسازی CentOS 7 با CIS؛ نکات مهم بعد از پایان عمر
SegmentSmack؛ آسیبپذیری TCP در کرنل لینوکس و ریسک DoS