پراکسی معکوس
"همانطور که از نام پراکسی معکوس پیداست عملکرد آن برعکس فوروارد پراکسی است و درخواستهای کلاینت را از بیرون شبکه داخلی دریافت میکند"
پراکسی معکوس چیست؟ چه کاربردی دارد و ریسک استفاده از پروکسی معکوس چیست؟
پراکسی معکوس یا Reverse Proxy در شبکههای کامپیوتری به نوعی از پراکسی سرور گفته میشود که منابع و درخواستهای یک کلاینت را دریافت و به یک یا چند سرور هدایت میکند. همانطور که از نام پراکسی معکوس پیداست عملکرد آن برعکس فوروارد پراکسی (Forward Proxy) است و درخواستهای کلاینت را از بیرون شبکه داخلی دریافت میکند، اما پروکسی سرورها درخواستها را از داخل شبکه دریافت و به بیرون شبکه یا اینترنت هدایت میکنند.
در پراکسی معکوس زمانی که یک کلاینت درخواستی را برای یک وبسرور ارسال میکند، ارتباط توسط این پراکسی معکوس، قطع شده و خودش درخواست را برای وب سرور ارسال و از آن پاسخ را دریافت کرده و درنهایت آن را برای کاربر ارسال میکند.
کاربرد پراکسی معکوس
- پراکسیهای معکوس میتوانند وجود سرور مبدا را پنهان کند
- ویژگی فایروال پروکسی معکوس میتواند در برابر حملات متداول مبتنی بر وب، مانند DoS یا DDos محافظت کند. برای مثال بدون پراکسی معکوس، حذف بدافزار یا شروع حذف میتواند دشوار باشد.
- در مورد وبسایتهای امن، ممکن است یک سرور خودش رمزنگاری TLS را انجام ندهد اما در عوض کار را به یک پروکسی معکوس که ممکن است به TLS acceleration hardware مجهز باشد، واگذار کند.
- یک پراکسی معکوس میتواند بار درخواستهای دریافتی را به چندین سرور توزیع کند و هر سرور از منطقه کاربردی خود پشتیبانی کند. در مورد سرورهای وب با پروکسی معکوس، ممکن است پروکسی معکوس مجبور باشد URL را در هر درخواست دریافتی بازنویسی کند تا با مکان داخلی مربوطه منبع درخواستی مطابقت داشته باشد.
- یک پروکسی معکوس میتواند با ذخیره محتوای ثابت و محتوای پویا، بار را روی سرورهای اصلی خود کاهش دهد و به عنوان یک شتاب دهنده وب عمل کند. حافظه پنهان پروکسی معکوس میتواند تعداد قابل توجهی از درخواستهای وبسایت را برآورده کند و بار را روی سرور(های) مبدا را تا حد زیادی کاهش دهد.
- یک پروکسی معکوس می تواند محتوا را با فشردهسازی آن به منظور افزایش سرعت بارگذاری بهینه کند.
- در تکنیکی به نام spoon-feeding یک صفحه تولید شده به صورت پویا را میتوان یک بار تولید کرد و به پروکسی ارائه داد، سپس می تواند آن را هر بار به مشتری بازگرداند. برنامه ای که صفحه را تولید می کند نیازی نیست باز بماند، بنابراین منابع سرور را در مدت زمانی طولانی که مشتری برای تکمیل انتقال نیاز دارد، آزاد می کند.
- پراکسی های معکوس می توانند در هر جایی که چندین وب سرور باید از طریق یک آدرس IP عمومی در دسترس باشند، کار کنند. وبسرورها به پورتهای مختلف در یک دستگاه، با آدرس IP محلی یکسان یا احتمالاً در ماشین های مختلف با آدرس های IP محلی متفاوت گوش میدهد. پروکسی معکوس هر درخواست ورودی را تجزیه و تحلیل می کند و آن را به سرور مناسب در شبکه محلی تحویل می دهد.
- پراکسیهای معکوس میتوانند تست A/B و تست چند متغیره را بدون قرار دادن برچسبها یا کد جاوا اسکریپت در صفحات انجام دهند.
- یک پروکسی معکوس میتواند احراز هویت دسترسی را به سروری که هیچ گونه احراز هویتی برای دسترسی ندارد اضافه کند.
ریسک استفاده از پراکسی معکوس
- یک پروکسی معکوس میتواند تمام آدرسهای IP درخواستکننده را از طریق آن ردیابی کند و همچنین میتواند ترافیک غیر رمزگذاریشده را بخواند و تغییر دهد. بنابراین میتواند گذرواژهها را ثبت کند یا بدافزار را تزریق کند، و ممکن است این کار را در صورت به خطر انداختن یا اجرا توسط یک حزب مخرب انجام دهد.
- هنگامی که ترافیک انتقال داده شده رمزنگار شده است و پراکسی معکوس نیاز به فیلتر، کش کردن، فشرده سازی، تغییر یا بهینه سازی ترافیک دارد، پروکسی معکوسی ابتدا باید ارتباطات را رمزگشایی و دوباره رمزگذاری کند. این امر مستلزم داشتن پروکسی گواهی TLS و کلید خصوصی مربوط به آن است که تعداد سیستم هایی را که می توانند به داده های رمزگذاری نشده دسترسی داشته باشند افزایش می دهد و آن را به هدف ارزشمندتری برای مهاجمان تبدیل می کند.
- بیشتر مواقع زمانی که یک سازمان به عمود پراکسی معکوس را مستقر کرده نقض دادههای خارجی و سوء استفاده هکرها از یک پروکسی معکوس اتفاق میافتد، یا زمانی که هکرها موفق می شوند یک سرور اینترنتی موجود را به یک سرور پراکسی معکوس تبدیل کنند. سیستمهای در معرض خطر یا تبدیل شده به مهاجمان خارجی اجازه میدهند تا مشخص کنند که حملات خود را به کجا میخواهند پروکسی کنند و دسترسی آنها به شبکهها و سیستمهای داخلی را ممکن میسازد.
- برنامههای کاربردی که برای استفاده داخلی یک سازمان توسعه داده شده اند، معمولا استانداردهای عمومی را ندارد و لزوما و برای مقاومت در برای حملههای اینترنتی طراحی نشدهاند. هنگامی که یک سازمان از طریق یک پروکسی معکوس اجازه دسترسی خارجی به چنین برنامه های داخلی را می دهد، ممکن است ناخواسته سطح حمله خود را افزایش داده و هکرها را دعوت به سوء استفاده کند.
- اگر یک پراکسی معکوس برای فیلتر کردن حملات پیکربندی نشده باشد یا بروزرسانی روزانه برای ذخیره امضای حمله در پایگاه داده نداشته باشد، یک آسیب پذیری روز صفر میتواند مهاجمان را بدون فیلتر عبور دهد و آنها را قادر ساز تا کنترل سیستمها را پشت پروکسی معکوس به دست آورند.
- استفاده از پراکسی معکوس شخص ثالث (مانند Cloudflare، Imperva) کل سه گانه محرمانگی، یکپارچگی و در دسترس بودن را در دست شخص ثالثی قرار می دهد که پروکسی را اداره می کند.
- اگر یک پروکسی معکوس با دامنههای مختلف روبرو شود، قطع شدن آن (مثلاً به دلیل پیکربندی نادرست یا حمله DDoS) میتواند همه دامنههای fronted را از بین ببرد.
- اگر راه دیگری برای دسترسی به سرور بکاند وجود نداشته باشد، پراکسیهای معکوس نیز میتوانند به یک نقطه شکست تبدیل شوند.