Reverse Proxy و افزایش امنیت و سرعت وب سرور
یکی از دقدقه های وب مستر ها و دیتا سنتر ها ، اصولا امنیت و سرعت وب سرور هاست ، عموما امنیت و سرعت همیشه با هم یکجا جمع نمیشود ، و افزایش امنیت معمولا کاهش سرعت را در پی خواهد داشت .
مثلا ما با قرار دادن یک فایروال UTM در مقابل یک وب سرور ، باعث میشویم که هر پکت از سلسله کنترل هائی عبوذ کند ، باز شود و محتویاتش و منبع و مقصدش و … بررسی و بعد تحویل وب سرور شود و در مورد پاسخ نیز به همین شکل ، خب این پروسه ها همه در بهترین حالت و با استفاده از بهترین سخت افزار ها هم ممکن است باعث کاهش سرعت شود که البته طبیعی ست .
یکی از روش های افزایش امنیت که باعث Accelerate شدن سرویس نیز میشود ، استفاده از Reverse Proxy است .
مکانیسم کار با این شکل است ، که برای مثال یک Content Engine یا در سر راه وب سرور یا به صورت موازی از طریق WCCP قرار گرفته و درخواست های را از کلاینت دریافت و مستقیما با وب سرور چلنج میکند و پاسخ را اگر در کش موجود نباشد و یا TTL آن منقضی شده باشد ، کش کرده و به کلاینت تحویل میدهد .
مزایای این روش ، جلوگیری زیادی در حملات DOS ، افزایش سرعت پاسخگویی ، کاهش لود سرور به شکل چشم گیر به علت کم شدن تعداد Query ها و Request ها و همچنین اگر در کنار این روش از Server Publishing استفاده شود ، باعث پنهان شدن IP اصلی سرور میشود .
در شماتیک زیر روش استفاده از WCCP و یک Cisco Content Engine 560 وCisco Router را ملاحظه میفرمائید .
ابتدا کانفیگ روتر :
ip wccp 99
interface Ethernet0/0
description Interface to the Internet
ip address 172.17.63.194 255.255.255.192
no ip redirects
interface Ethernet0/1
ip address 10.0.0.1 255.255.255.0
interface Ethernet1/0
ip address 10.1.0.1 255.255.255.0
ip wccp 99 redirect out
ip classless
ip route 0.0.0.0 0.0.0.0 172.17.63.193
کانفیگ کانتنت انجین :
interface ethernet 0
ip address 10.0.0.2 255.255.255.0
ip broadcast-address 10.0.0.255
wccp router-list 1 10.0.0.1
wccp reverse-proxy router-list-num 1
wccp version 2
بدین ترتیب درخواست های وب ابتدا به کانتنت انجین و پس از کش شدن از وب سرور از کانتنت انجین به سمت کلاینت ارسال میشود .
البته روش های قوی تری نیز وجود دارد ، مثل پابلیشینگ وب سرور توسط ASA و سپس Reverse Proxy نمودن .
البته پلت فرم های نرم افزاری هم وجود دارند ، نظیر وب سرور Nginx که خودش Built in دارای Reverse Proxy نیز میباشد که باعث افزایش کارایی و کم شدن لود سرور به علت کم شدن تعداد Query های http و SQL است .
بعضی هم اقدام به سری کردن Squid با وب سرور ، با دو سرور مجزا و یا روی همان سرور کرده ، که زیاد کار تمیزی نیست .
در کل تمامی این روش ها در صورتی که در جای مناسب و به شکل مناسب و با بررسی محیط مورد استفاده و پیاده سازی دقیق و صیحیح انجام پذیرد ، باعث افزایش امنیت و کارایی و الا باعث دردسر و باگ در سیستم میگردد ، این مقاله صرفا جهت آشنایی کلی با این مفاهیم و Solution هاست و الا خیلی دقیق تر باید از این ابزار ها ساتفاده نمود .
وفقک الله
Aka Networks