| 22 شهريور 1389, 11:30 ق.ظ |
| فیلتر کردن TCP Flag در IOS |
|
استفاده از scanning یکی از پایه ترین مراحل در network assessment و یا penetration testing محسوب می شود. پیدا کردن host های live ، سیستم عامل آنها و سرویس های فعال از اهداف بسیار مرسوم scanning است. نرم افزارهایی مثل nmap، hping و firewalkاز جمله نرم افزارهایی هستند که می توانند Low-Level IP assessment انجام بدهند و با ارسال Probe های غیر معمول از برخی از ruleها firewallها عبور کرده و ضعف ها ی شبکه را پیدا کرده و در نهایت بتوانند به یک hostدسترسی پیدا کنند. پس از ارسال probe ها ، اصولا یک از 4 حالت accepted ، rejected ، dropped و lost برای ارتباط و connection رخ می دهد. به نظر شخصی من که برای ارسالpacket آنهم به روش دلخواه بهترین نرم افزار hping2 است. این tool اجازه این را می دهد که packet ها TCP، UDP، IP و ICMP را در حالی که flag ها و option های دلخواه بر روی آن setشده است ارسال کرد و پس از آنالیز response و پاسخ ها در سطح Low-Level بتوان از تنظیمات فیلتر ها در سطح شبکه آگاهی پیدا کرد. بطور مثال فرض کنید که یک قصد ارسال یک packet از پورت 2010 خود به پورت 80 یک سرور داریم. به علاوه در این بسته ارسال flag های SYN ، ACK ، FIN همزمان set شده باشند (که کاملا غیرمعقول است !!!!). برای اینکار کافی است که از فرمان زیر استفاده کنیم. نتیجه آنهم یا استفاده از wireshark قابل مشاهده است :
خوب از آنجایی بحث داغ همیشه در سیسکو و قابلیت های شگفت انگیز IOS بوده ، ایندفعه هم قصد استفاده از آنرا داریم. تصور کنید که شما در نقش مدیر شبکه یا امنیت قصد دارید تا از چنین scan های مشکوکی در شبکه جلوگیری کنید ! فقط کافیست که به روتر خود telnet کرده و بعد هم فرمان های زیر را وارد کنید :
Router(config)#ip access-list extended TCP-FLAG-DNY
Router(config-ext-nacl)#deny tcp any any match-all +ack +fin +syn log Router(config-ext-nacl)#deny tcp any any match-all +fin +syn log Router(config-ext-nacl)#deny tcp any any match-all +fin +rst log Router(config-ext-nacl)#deny tcp any any match-all +ack +fin log Router(config-ext-nacl)#permit ip any any Router(config)#int fast 0/1 Router(config-if)#ip access-list TCP-FLAG-DNY in و حالا کمی توضیح ، کلمه match-all بدان معنی است که تمامی شرایطی که در ادامه ذکر شده است می باستی که حتما با هم وجود داشته باشند و در صورتی که نیاز آنگونه بود که هر کدام از آن شرایط به صورت مجزا وجود داشتند هم عبارت match شود از کلمه match-any استفاده می شود. و اما این شرایط چیست ؟ شرایط همان FLAG TCP ها هستند . که با علامت + و - ، مشخص می گردند. علامت +بدان معناست که bit مربوط به این flagدر header قسمت TCP برابر با 1 باشد و – هم بدان معناست که TCP flagمربوطه set نشده و برابر با 0 باشد. و قصد هم در مثال بالا deny کردن تمام packet هایی است که مثلا flag های ACK ، SYNو FIN هم با هم set شده اند ! و حالا تست مجدد و نتیجه مطلوب !
Router#
*Oct 7 20:29:06.835: %SEC-6-IPACCESSLOGP: list TCP-FLAG-DNY denied tcp 192.168.2.50 (1894) -> 192.168.1.50(80), 1 packet *Oct 7 20:29:07.847: %SEC-6-IPACCESSLOGP: list TCP-FLAG-DNY denied tcp 192.168.2.50 (1895) -> 192.168.1.50(80), 1 packet *Oct 7 20:29:09.839: %SEC-6-IPACCESSLOGP: list TCP-FLAG-DNY denied tcp 192.168.2.50 (1897) -> 192.168.1.50(80), 1 packet *Oct 7 20:29:10.847: %SEC-6-IPACCESSLOGP: list TCP-FLAG-DNY denied tcp 192.168.2.50 (1898) -> 192.168.1.50(80), 1 packet *Oct 7 20:29:46.315: %SEC-6-IPACCESSLOGP: list TCP-FLAG-DNY denied tcp 192.168.2.50 (2925) -> 192.168.1.50(80), 1 packet : بيننده: 596 :: ايميل
|
||||||||
| < بعد | قبل > |
|---|
| لینک دوستان |
| Cisco In Persian |
| IP2Location |
| Swiss Army Knife |
| Latest Threats info |
| All Net Monitoring Tools |
| Online Network Tools |
| Networking ToolBox |
| speedtest.net |
| DNS Stuff |