!زمانی که بسته ای از MTU مجاز عبور کند ، در مورد این بسته fragmentation اتفاق افتاد و ip آن را به بسته های کوچکتری میشکند. تا این جای کار همه چیز خوب و درست است. اما نکته ای که وجود دارد این است که ما حملات مختلفی بر این اساس داریم.
مانند:
IP fragment overlapped
IP fragmentation buffer full
IP fragment overrun
IP fragment too many datagrams
IP fragment incomplete datagram
IP Fragment Too Small
که این ها حملات براساس fragmentation هستند. حتی یکی از راه های دور زدن ips استفاده از fragmentation می باشد که در صورتی که tcp reassembly را در signiture های ips فعال نکرده باشید ، اتکر قادر به دور زدن ips شما خواهد بود. از سمت دیگر فعال کردن tcp reassembly هم منابع زیادی را مصرف میکند.
از طرف دیگر رفتار ACL ها هم با بسته های fragment شده جالب است. از آن جایی که اطلاعات لایه ۴ بسته در اپلین بسته فرگمنت شده وجود دارد ، فقط اطلاعات لایه ۴ این بسته چک میشود ، به عبارتی برای بسته های دیگر درصورتی که در acl گفته باشید
access-list 100 permit tcp any host 192.168.1.1 eq 80
برای اولین بسته فرگمنت شده که اطلاعات لایه ۴ را دارد eq 80 معنی میدهد ، اما برای بقیه بسته ها eq 80 در ACL ندیده گرفته میشود. برای درک بهتر ip fragmentation و مفاهیم آن به اینجا مراجعه کنید.
و با توجه به این که فرگمنتیشن به صورت گسترده برای دور زدن ips ها استفاده میشود به شدت توصیه به deny کردن این گونه بسته ها در شبکه میگردد.
برای انجام این کار از این دستورات استفاده بفرمایید:
1 |
ip access−list extended ACL−TRANSIT−IN
!
!−−− Deny IP fragments using protocol−specific ACEs to aid in
!−−− classification of attack traffic
!
deny tcp any any fragments
deny udp any any fragments
deny icmp any any fragments
deny ip any any fragments
!