تصویر شاخص F5 Load Balancer
پاسخ کوتاه: Persistence در F5 BIG-IP برای نگه داشتن کاربر روی همان عضو Pool استفاده میشود. اگر برنامه به session سمت سرور وابسته باشد، نبودن Persistence میتواند باعث logout، خطای سبد خرید، خطای فرم یا رفتار ناپایدار کاربر شود.
Load Balancing فقط تقسیم ترافیک نیست. در خیلی از سرویسهای واقعی، باید بدانیم آیا هر درخواست میتواند به هر سروری برود یا کاربر بعد از اتصال اول باید به همان backend برگردد. اینجاست که Persistence در F5 مهم میشود.
وقتی یک کاربر به Virtual Server وصل میشود، F5 بر اساس روش load balancing یک عضو از Pool را انتخاب میکند. Persistence باعث میشود درخواستهای بعدی همان کاربر، تا زمان اعتبار رکورد persistence، دوباره به همان عضو Pool هدایت شود.
در Source Address Persistence، F5 آدرس IP کلاینت را مبنا قرار میدهد. اگر همان IP دوباره وصل شود، به همان عضو Pool فرستاده میشود. این روش ساده و سریع است، اما همیشه دقیق نیست.
مشکل اصلی زمانی دیده میشود که کاربران پشت NAT، Proxy، اینترنت سازمانی یا اپراتور موبایل باشند. در این حالت ممکن است کاربران زیادی با یک IP دیده شوند و همه به یک سرور بچسبند. نتیجه میتواند توزیع نامتوازن بار و فشار غیرعادی روی یک backend باشد.
در Cookie Persistence، F5 برای سرویسهای HTTP/HTTPS از cookie استفاده میکند تا کاربر را در درخواستهای بعدی تشخیص دهد. برای وباپلیکیشنها این روش معمولاً دقیقتر از Source Address است، چون به جای IP مشترک، مرورگر کاربر مبنا قرار میگیرد.
جواب قطعی بدون شناخت برنامه وجود ندارد، اما یک قاعده عملی داریم: برای سرویس وب، اول Cookie Persistence را بررسی کنید. برای سرویسهایی که HTTP نیستند یا cookie معنی ندارد، Source Address یا روشهای دیگر میتوانند گزینه باشند. اگر کاربران زیادی پشت NAT هستند، Source Address را با احتیاط انتخاب کنید.
بعد از فعال کردن Persistence، فقط باز شدن صفحه کافی نیست. باید چند کاربر تستی را وارد برنامه کنید، چند مرحله واقعی مثل login، ثبت فرم یا حرکت بین صفحات را انجام دهید و همزمان روی F5 ببینید ترافیک هر کاربر به کدام Pool Member میرود. اگر همه کاربران به یک عضو چسبیدهاند، Source Address یا Timeout را دوباره بررسی کنید.
Persistence تصمیم میگیرد کاربر به کدام backend برگردد، اما Health Monitor مشخص میکند آن backend اصلاً قابل استفاده هست یا نه. اگر monitor درست طراحی نشده باشد، ممکن است F5 کاربر را به عضوی بفرستد که از نظر TCP باز است اما برنامه واقعی روی آن درست کار نمیکند.
برای سرویسهای وب، Persistence را فقط وقتی فعال کنید که رفتار برنامه واقعاً به آن نیاز دارد. اگر نیاز وجود دارد، Cookie Persistence معمولاً انتخاب تمیزتری است. Source Address ساده است، اما پشت NAT و Proxy میتواند بار را نامتعادل کند. بعد از هر تغییر، هم تجربه کاربر و هم توزیع ترافیک روی Pool را بررسی کنید.
نویسنده: علیرضا عربیان، فعال در حوزه شبکه، امنیت شبکه و طراحی سرویسهای عملیاتی روی F5 BIG-IP، FortiGate، Juniper و Cisco.
پاسخ کوتاه: دسترسی مدیریتی FortiGate باید فقط از مسیرهای مشخص، کاربران مشخص و با لاگ…
تست نفوذ و ردتیم وقتی ارزش دارد که خروجی آن به اصلاح واقعی کنترلها برسد،…
روز حادثه وقت تصمیمگیری از صفر نیست. باید از قبل بدانیم چه کسی چه کاری…
وقتی برنامه وب آسیبپذیر باشد، شبکه سالم و فایروال مرتب هم همیشه نمیتواند جلوی سوءاستفاده…
آموزش امنیتی وقتی مفید است که به کار روزانه وصل باشد؛ نه یک فایل طولانی…
اکانت رها شده، رمز قدیمی و دسترسی باقیمانده از شغل قبلی، از مسیرهای ساده ولی…