کاربرد پراکسی در امنیت شبکه
پراکسی چیست؟
در دنیای امنیت شبکه، افراد از عبارت «پراکسی» برای خیلی چیزها استفاده میکنند. اما عموماً، پراکسی ابزار است که بستههای دیتای اینترنتی را در مسیر دریافت میکند، آن دیتا را میسنجد و عملیاتی برای سیستم مقصد آن دیتا انجام میدهد. در اینجا از پراکسی به معنی پروسهای یاد میشود که در راه ترافیک شبکهای قبل از اینکه به شبکه وارد یا از آن خارج شود، قرار میگیرد و آن را میسنجد تا ببیند با سیاستهای امنیتی شما مطابقت دارد و سپس مشخص میکند که آیا به آن اجازه عبور از فایروال را بدهد یا خیر. بستههای مورد قبول به سرور موردنظر ارسال و بستههای ردشده دور ریخته میشوند.
پراکسی چه چیزی نیست؟
پراکسیها بعضی اوقات با دو نوع فایروال اشتباه میشوند«Packet filter و Stateful packet filter» که البته هر کدام از روشها مزایا و معایبی دارد، زیرا همیشه یک مصالحه بین کارایی و امنیت وجود دارد.
پراکسی با Packet filter تفاوت دارد
ابتداییترین روش صدور اجازه عبور به ترافیک بر اساس TCP/IP این نوع فیلتر بود. این نوع فیلتر بین دو یا بیشتر رابط شبکه قرار میگیرد و اطلاعات آدرس را در header IP ترافیک دیتایی که بین آنها عبور میکند، پیمایش میکند. اطلاعاتی که این نوع فیلتر ارزیابی میکند عموماً شامل آدرس و پورت منبع و مقصد میشود. این فیلتر بسته به پورت و منبع و مقصد دیتا و براساس قوانین ایجادشده توسط مدیر شبکه بسته را میپذیرد یا نمیپذیرد. مزیت اصلی این نوع فیلتر سریع بودن آن است چرا که header، تمام آن چیزی است که سنجیده میشود. و عیب اصلی ان این است که هرگز آنچه را که در بسته وجود دارد، نمیبیند و به محتوای آسیبشرسان اجازه عبور از فایروال را میدهد. بعلاوه، این نوع فیلتر با هر بسته بعنوان یک واحد مستقل رفتار میکند و وضعیت (State) ارتباط را دنبال نمیکند.
پراکسی با Stateful packet filter تفاوت دارد
این فیلتر اعمال فیلتر نوع قبل را انجام میدهد، بعلاوه اینکه بررسی میکند کدام کامپیوتر در حال ارسال چه دیتایی است و چه نوع دیتایی باید بیاید. این اطلاعات بعنوان وضعیت (State) شناخته میشود.
پروتکل ارتباطی TCP/IP به ترتیبی از ارتباط برای برقراری یک مکالمه بین کامپیوترها نیاز دارد. در آغاز یک ارتباط TCP/IP عادی، کامپیوتر A سعی میکند با ارسال یک بسته SYN (synchronize) به کامپیوتر B ارتباط را برقرار کند. کامپیوتر B در جواب یک بسته SYN/ACK (Acknowledgement) برمیگرداند، و کامپیوتر A یک ACK به کامپیوتر B میفرستد و به این ترتیب ارتباط برقرار میشود. TCP اجازه وضعیتهای دیگر، مثلاً FIN (finish) برای نشاندادن آخرین بسته در یک ارتباط را نیز میدهد.
هکرها در مرحله آمادهسازی برای حمله، به جمعآوری اطلاعات در مورد سیستم شما میپردازند. یک روش معمول ارسال یک بسته در یک وضعیت غلط بهمنظوری خاص است. برای مثال، یک بسته با عنوان پاسخ (Reply) به سیستمی که تقاضایی نکرده، میفرستند. معمولاً، کامپیوتر دریافتکننده بیاید پیامی بفرستد و بگوید “I don’t understand”. بهاین ترتیب، به هکر نشان میدهد که وجود دارد، و آمادگی برقراری ارتباط دارد. بعلاوه، قالب پاسخ میتواند سیستمعامل مورد استفاده را نیز مشخص کند، و برای یک هکر گامی به جلو باشد. یک فیلتر Stateful packet منطق یک ارتباط TCP/IP را میفهمد و میتواند یک “Reply” را که پاسخ به یک تقاضا نیست، مسدود کند ـــ آنچه که یک فیلتر packet ردگیری نمیکند و نمیتواند انجام دهد. فیلترهای Stateful packet میتوانند در همان لحظه قواعدی را مبنی براینکه بسته مورد انتظار در یک ارتباط عادی چگونه باید بنظر رسد، برای پذیرش یا رد بسته بعدی تعیین کنند. فایده این کار امنیت محکمتر است. این امنیت محکمتر، بهرحال، تا حدی باعث کاستن از کارایی میشود. نگاهداری لیست قواعد ارتباط بصورت پویا برای هر ارتباط و فیلترکردن دیتای بیشتر، حجم پردازشی بیشتری به این نوع فیلتر اضافه میکند.
پراکسی ها یا Application Gateways
Application Gateways که عموماً پراکسی نامیده میشود، پیشرفتهترین روش استفاده شده برای کنترل ترافیک عبوری از فایروالها هستند. پراکسی بین کلاینت و سرور قرار میگیرد و تمام جوانب گفتگوی بین آنها را برای تایید تبعیت از قوانین برقرارشده، میشسنجد. پراکسی بار واقعی تمام بستههای عبوری بین سرور وکلاینت را میسنجد، و میتواند چیزهایی را که سیاستهای امنیتی را نقض میکنند، تغییر دهد یا محروم کند. توجه کنید که فیلترهای بستهها فقط headerها را میسنجند، در حالیکه پراکسیها محتوای بسته را با مسدودکردن کدهای آسیب رسان همچون فایلهای اجرایی، اپلت های جاوا، ActiveX و … غربال میکنند.
پراکسیها همچنین محتوا را برای اطمینان از اینکه با استانداردهای پروتکل مطابقت دارند، میسنجند. برای مثال، بعضی اَشکال حمله کامپیوتری شامل ارسال متاکاراکترها برای فریفتن سیستم قربانی است؛ حملههای دیگر شامل تحت تاثیر قراردادن سیستم با دیتای بسیار زیاد است. پراکسیها میتوانند کاراکترهای غیرقانونی یا رشتههای خیلی طولانی را مشخص و مسدود کنند. بعلاوه، پراکسیها تمام اعمال فیلترهای ذکرشده را انجام میدهند. بدلیل تمام این مزیتها، پراکسیها بعنوان یکی از امنترین روشهای عبور ترافیک شناخته میشوند. آنها در پردازش ترافیک از فایروالها کندتر هستند زیرا کل بستهها را پیمایش میکنند. بهرحال «کندتر» بودن یک عبارت نسبی است.
آیا واقعاً کند است؟ کارایی پراکسی بمراتب سریعتر از کارایی اتصال اینترنت کاربران خانگی و سازمانهاست. معمولاً خود اتصال اینترنت گلوگاه سرعت هر شبکهای است. پراکسیها باعث کندی سرعت ترافیک در تستهای آزمایشگاهی میشوند اما باعث کندی سرعت دریافت کاربران نمیشوند. در شماره بعد بیشتر به پراکسی خواهیم پرداخت.