یک پروکسی وب معکوس می تواند وب سایت را سریعتر بارگذاری کند، اما سطح حمله صفحه را نیز افزایش می دهد. این می تواند صاحبان سایت و بازدیدکنندگان را در معرض خطر قرار دهد.
هنگامی که از یک صفحه وب بازدید می کنید، چندین عملیات در پس زمینه انجام می شود. حتی اگر روی چیزی کلیک نکنید، سایت اطلاعاتی مانند صفحه ای که در آن هستید، آدرس IP شما و دستگاهی که استفاده می کنید پردازش می کند. قوانین خاصی برای تراکنش هایی که در این میان افزار رخ می دهد اعمال می شود. مهاجمانی که از این موضوع و نحوه اجرای این محدودیت ها آگاه هستند، می توانند از آن برای سرقت اطلاعات شما سوء استفاده کنند. برای درک بهتر موضوع، مفهوم وب پراکسی معکوس را در نظر بگیرید.
پروکسی وب معکوس چیست؟
پروکسی وب معکوس تراکنش های شما را با دسترسی به سایت های اینترنتی قبل از انتقال آنها به سرور وب باطن پردازش و بهینه سازی می کند. داده های پردازش شده و بهینه شده توسط وب پروکسی معکوس به وب سرورهای مربوطه ارسال می شود. این فرآیند هم معیار امنیتی را فراهم می کند و هم عملکرد را بهبود می بخشد.
برای استفاده از قابلیت وب پروکسی معکوس می توان از سیستم های مختلف زیادی بهره مند شد. میتوانید از فایروال برنامههای وب (WAF)، متعادلکننده بار، دستگاههایی که میتوانید در برابر حملات DDoS قرار دهید یا پلتفرمها و سیستمهایی مانند Cloudflare برای پروکسی وب معکوس استفاده کنید.
وجه مشترک این سیستم ها این است که یک شکل گیری بین سرور و مشتری ایجاد می کنند. هنگامی که شما یک وب سایت را درخواست می کنید، این درخواست مستقیماً به سرور نمی رود. پروکسی وب معکوس بین سرور و وب سایت این درخواست ها را بررسی و بهینه می کند. به عنوان مثال، سیستمی که مشکوک است که یک درخواست HTTP بدون توقف ممکن است یک حمله DDoS باشد، این درخواست ها را فیلتر می کند و در صورت لزوم، دستگاهی را که درخواست ها از آن سرچشمه می گیرند، در لیست سیاه قرار می دهد و از رسیدن آن به سایت جلوگیری می کند. به طور خلاصه، هدف ارائه کنترل بین درخواست و سرور است.
تاثیر پروکسی وب معکوس بر عملکرد
بیایید در نظر بگیریم که چگونه یک پروکسی وب معکوس عملکرد را از طریق یک مثال، مانند وب سایت یک کافی شاپ، بهبود می بخشد. تصور کنید متنی در مورد قهوه در این وب سایت و تعدادی عکس از قهوه در منوها وجود دارد. از آنجایی که این تصاویر و متون به طور مداوم تغییر نخواهند کرد، می توان برخی بهبودهای عملکرد را انجام داد. اگر آدرسهای URL این تصاویر ثابت را روی پروکسی وب معکوس ذخیره کنید، در حال ذخیرهسازی روی پروکسی وب معکوس هستید.
به عبارت دیگر، اولین باری که وارد سایت می شوید، وب پروکسی معکوس تمامی تصاویر را در کش شما ذخیره می کند و در ورود دوم شما خدمات سریع تری را ارائه می دهد. در نتیجه فشار روی وب سایت به میزان قابل توجهی کاهش می یابد، بنابراین وب سایت سریعتر بارگذاری می شود.
مزایای پروکسی وب معکوس
برای خلاصه کردن اینکه چرا ممکن است بخواهید یک پروکسی وب معکوس را در نظر بگیرید، بدانید که می توانید:
- افزایش سرعت دسترسی به اینترنت و افزایش سرعت انتقال داده، باعث می شود صفحات وب سریعتر بارگذاری شوند.
- اطلاعات شخصی خود را مخفی کنید یک پروکسی وب معکوس تمام داده هایی را که از رایانه خود ارسال و دریافت می کنید رمزگذاری می کند و الگوهای استفاده شخصی شما را پنهان می کند.
- از فناوری های مختلف فایروال برای محافظت از داده های شخصی خود استفاده کنید.
- ممنوعیت هایی که هنگام دسترسی به وب سایت ها با آن مواجه می شوید را حل کنید و از مسدود شدن جلوگیری کنید.
چگونه آسیب پذیری فریب کش پروکسی رخ می دهد؟
تمام داده های ذخیره شده در کش شما توسط پروکسی وب معکوس با پسوند فایل آنها ذخیره می شود. به عنوان مثال، تصاویر دارای پسوندهایی مانند “.jpg”، و “.png” هستند، در حالی که متون “.txt” هستند. این بدان معناست که مهاجمی که این کش را ربوده میتواند با مشاهده فایلهایی که به آنها دسترسی داشتهاید، بفهمد که شما در سایت چه دیدهاید یا انجام دادهاید.
برای مثال، سایتی را با آدرس example.com/login.php در نظر بگیرید. فرض کنید می توانید با وارد کردن نام کاربری و رمز عبور خود به این آدرس دسترسی داشته باشید و صفحه ای که به آن دسترسی دارید متعلق به یک فایل PHP است که به صورت پویا اجرا می شود. اگر به خاطر داشته باشید، فایل های کش شده فقط فایل های ثابت بودند. بنابراین پروکسی وب معکوس چنین فایل PHP را کش نمی کند.
اما گاهی اوقات همه چیز به این سادگی نیست. در برخی موارد، وقتی آدرسی را درخواست می کنید که وجود ندارد، با خطای 404 page not found مواجه می شوید. اما علاوه بر این خطا، وب سرور اطلاعات حیاتی دیگری را به شما می دهد. وقتی یک URL نامعتبر درخواست می کنید که وجود ندارد، ممکن است قسمت معتبر URL درخواستی در سرور باشد. در این صورت، حتی اگر درخواست آدرس نامعتبر داشته باشید، ممکن است قسمت معتبر این آدرس نامعتبر را در پاسخ دریافت کنید. در چنین مواردی، مهاجمان مشکوک هستند که ممکن است یک آسیب پذیری امنیتی در اینجا وجود داشته باشد و برای حمله آماده می شوند.
حالا بیایید آدرس URL دیگری مانند example.com/login.php/muo.jpg را در نظر بگیریم. فرض کنید سرور همچنان example.com/login.php را به شما نشان می دهد زیرا چنین فایلی روی سرور وجود ندارد.
اگر متوجه شدید آدرسی که درخواست کردید متعلق به یک فایل JPG است، یعنی این یک فایل کاملا ثابت است. به یاد داشته باشید که توسعهدهندگان وب ممکن است فایلهای استاتیک را روی یک پروکسی وب معکوس ذخیره کنند، زیرا محتوای دارای پسوند فایل استاتیک مانند این نیازی به بارگذاری مجدد پویا در وبسایت ندارد. هدف اصلی توسعه دهندگان وب، دستیابی به یک وب سایت کارآمدتر و با کارایی بالا است. در این صورت حتی اگر چنین آدرسی وجود نداشته باشد، پروکسی شما را کش می کند. اکنون، هرکسی که این آدرس را وارد کند، صفحه ای را که با نام کاربری و رمز عبور خود وارد آن شده اید، می بیند.
مهاجمی که می خواهد از چنین آسیب پذیری سوء استفاده کند، سعی می کند با کوتاه کردن این پیوند یا فریب دادن شما، روی این پیوند کلیک کنید. وقتی روی این لینک جعلی کلیک می کنید، متوجه می شوید که هیچ اتفاقی نمی افتد، اما اکنون یک کش روی پروکسی وب معکوس ایجاد کرده اید. تنها کاری که مهاجم انجام می دهد این است که از اطلاعات شما سوء استفاده کند.
راه های پیشگیرانه
بهترین راه برای جلوگیری از آسیبپذیری معکوس پروکسی وب این است که از پیش تعیین کنیم که سرور چگونه با فایلهای موجود رفتار میکند. فایلی که وجود ندارد نباید کش ایجاد کند. علاوه بر این، اگر یک توسعهدهنده وب هستید، اکنون میدانید که میتوانید برخی از محتوا و اسناد را در یک پروکسی وب معکوس ذخیره کنید. بسیار مهم است که به صورت دوره ای داده هایی را که در وب پراکسی معکوس ذخیره می کنید بررسی کنید و این بررسی ها را با دقت انجام دهید. تسلط بر منطق کاری یک پروکسی وب، آگاهی امنیتی بسیار مهمی را هم برای شما و هم برای کاربرانی که از وب سایت شما استفاده می کنند ایجاد می کند.
به یاد داشته باشید که مهاجمان همیشه یک قدم جلوتر از شما خواهند بود. به همین دلیل برای شما مفید است که تمام اقدامات احتیاطی را انجام دهید و درک عمیق تری از فناوری هایی که استفاده می کنید داشته باشید. برای این کار در چند مرحله می توانید پروکسی وب خود را بسازید و خودتان را تست کنید.