پروکسیها و فایروالها
هیچ بحثی درباره دستگاههای شبکه بدون پرداختن به دنیای پروکسیها و فایروالها کامل نخواهد بود. این دستگاهها نان و کره (اصلیترین ابزار) هکرهای قانونمند هستند، از این جهت که دستگاههایی هستند که عمداً برای جلوگیری از دسترسی غیرمجاز نصب شدهاند. تست کردن قدرت پیرامون یک سازمان به معنای اطمینان از این است که نگهبان دروازه پیرامونی آن زنده و سرحال است.
پروکسیها (Proxies)
سرورهای پروکسی در میانه صحنه ترافیک کار میکنند. ممکن است شما با جنبه ارجاعی (Forwarding) پروکسیها مواجه شده باشید؛ برای مثال، مرورگر شما در محل کار ممکن است به یک سرور پروکسی اشاره داده شده باشد تا امکان دسترسی به یک منبع خارجی مانند یک وبسایت را فراهم کند.
دلایل متعددی برای پیادهسازی چنین راهکاری وجود دارد. محافظت از سیستمهای کلاینت داخلی یکی از مزایاست. پروکسی با عمل کردن به عنوان واسطه بین سیستمهای کلاینت شبکه داخلی و نهادهای غیرقابل اعتماد خارجی، تنها نقطه تماس با دنیای خارج است. این امر از ارتباط مستقیم سیستم کلاینت با منبع خارجی جلوگیری میکند و بدین ترتیب میزان مواجهه و ریسک را کاهش میدهد.
به عنوان واسطه، پروکسی همچنین قابلیت محافظت از کاربران (سیستمهای کلاینت) در برابر خودشان را دارد. به عبارت دیگر، پروکسیها میتوانند ترافیک را بر اساس محتوا فیلتر کنند. این بدان معناست که پروکسیها در لایه کاربرد (لایه ۷) عمل میکنند.
پروکسیها با داشتن برتری قابل توجه نسبت به فایروالهای سطح پایینتر، میتوانند درخواستهای ترافیک خروجی را فیلتر کرده و ترافیک مشروع را در سطح دقیقی تأیید کنند. بنابراین، اگر کاربران سعی کنند مثلاً به سایت hackme.com بروند، در صورت اعمال فیلترها برای جلوگیری از آن، درخواست آنها کاملاً رد خواهد شد. پروکسیها همچنین با کش کردن (Caching) سایتها و منابعی که مکرراً بازدید میشوند، مرور وب را سرعت میبخشند. سایتهای کش شده میتوانند با سرعتی بسیار بیشتر از دانلود منبع واقعی وب به کلاینتهای محلی ارائه شوند.
مفهوم عملکرد پروکسی علاوه بر کش کردن ترافیک و بودن به عنوان فایروال لایه کاربرد، در حوزههای دیگر نیز کاربرد دارد. در بخش ۱۲، Session Hijacking از تکنیکهای شبیه به پروکسی برای راهاندازی حمله استفاده میکند.
فایروالها (Firewalls)
دستهبندی فایروال شامل فایروالهای پروکسی میشود؛ با این حال، به دلیل عملکردهای متنوع پروکسی، مناسب به نظر میرسد که زیربخش خاص خود را داشته باشند. فایروالها معمولاً به دستههای اصلی زیر تقسیم میشوند:
- فیلتر کردن بسته (Packet filtering)
- فیلتر کردن بسته حالتدار (Stateful packet filtering)
- پروکسیهای کاربردی (Application proxies) که قبلاً پوشش دادیم.
فایروالهای فیلترکننده بسته به اطلاعات هدر (Header) بستهها نگاه میکنند تا ترافیک مشروع را تعیین نمایند. قوانینی مانند آدرسهای IP و پورتها از هدر استفاده میشوند تا تعیین کنند آیا ورود بسته مجاز است یا رد میشود.
از سوی دیگر، فایروالهای حالتدار (Stateful) مشروعیت ترافیک را بر اساس وضعیت اتصالی که ترافیک از آن نشات گرفته، تعیین میکنند. برای مثال، اگر یک اتصال مشروع بین یک ماشین کلاینت و یک وبسایت برقرار شده باشد، فایروال حالتدار به جدول وضعیت (State Table) خود مراجعه میکند تا تایید کند ترافیکی که از درون آن اتصال سرچشمه میگیرد، بررسی شده و مشروع است.
فایروالها و پروکسیها تنها به اندازه پیکربندیشان موثر هستند و پیکربندی آنها تنها به اندازه مدیری که آنها را ایجاد میکند، موثر است. بسیاری از حملات فایروال به جای حمله مستقیم، با هدف دور زدن آنها انجام میشوند؛ برای ما هکرها، نرمترین (آسیبپذیرترین) هدف، مقصود ماست.