در قسمت اول از مقاله Citrix Application Delivery Controller یا به اختصار ADC به معرفی این تکنولوژی و همچنین نحوه LoadBalancing در آن پرداخته شده است. در این مقاله که قسمت دوم و پایانی از سری مقالات ADC می باشد به بررسی برخی ویژگی های آن می پردازیم.
عملکرد برنامه یا Application Performance
در صورت عدم اجرای برنامه ها مطابق انتظارات کاربران، بهرهوری آن ها به شدت کاهش می یابد. با کمک Citrix Application Delivery Controller میتوان مجموعهای از مکانیزمها را در راستای بهبود عملکرد برنامه، خصوصا در شبکههای Mobile و شبکههایی با تاخیر بالا (High Latency) به کار گرفت.
تعدیل بار دیتابیس SQL، یکی از مکانیزمهای بهبود و توسعه در عملکرد آن محسوب میشود. این مکانیزم، از تکنیکهای به کار گرفته شده در تعدیل بار ترافیک TCP استفاده مینماید، البته این هوشمندی را در سطح دیتابیس به کار می رود. در این فرآیند، از منطق سیاستمحور(Policy-Base) برای هر یک از تراکنشهای SQL استفاده میگردد و تعداد درخواستها و اتصالات ایجاد شده در کلاستر دیتابیس را بهبود میبخشد.
سایر سرویسهای ارائه شدت توسط Citrix Application Delivery Controller جهت بهینهسازی عملکرد معمول برنامهها، شامل برونبری وظایف مازاد سرور، Multiplexing اتصال، فشرده سازی و Caching میباشند.
با توجه به اینکه SSL و TLS از نقاط اتکای اصلی برای انجام فعالیت در وب به شمار میروند و کنترل ترافیک رمزگذاری شده با رمزهای جدید باعث ایجاد بار CPU زیادی می گردد، استفاده از ADCها میتواند حجم بسیار زیادی از ترافیک رمزگذاری شده و رمزگذاری نشده را کنترل نماید. علاوه بر آن Citrix Application Delivery Controller مجوزها را مدیریت نموده و ترافیک را قبل از رسیدن به سرور رمزگشایی میکند.
TCP Multiplexing، یک روش کارآمد و موثر برای کنترل حجم زیادی از درخواستهای ورودی به سرور به شمار میرود که موجب حفظ Active Connection ها بین ADC و سرور میگردد. هنگامی که ترافیک به ADC میرسد، درخواستها را با استفاده از این کانالهای باز، مسیریابی می نماید که در نتیجه سربارهای “Open-Close” ناکارآمد به ازای هر تراکنش حذف می گردد و احتمال دارد این سربارها عملکرد سرور را تحت تاثیر منفی قرار دهد.
بهینه سازی عملکرد در شبکههای Mobile
علاوه بر موارد فوق، ADCها دارای مزایایی در راستای عملکرد شبکههای سیار (Mobile) نیز میباشند. اغلب فرآیند استفاده از صفحات وب طراحی شده برای لینکهای اینترنتی پرسرعت، برای کاربرانی که از تجهیزات سیار (Mobile) با پهنای باند محدود استفاده میکنند، دچار مشکل می شود. جهت رفع این مشکل می توان از مکانیزمهای خلاقانه ADC بهره برد. این مکانیزمها باعث بهینه سازی ارائه محتوای وب در شبکههای Mobile می گردند که از آن جمله می توان به Domain Sharding اشاره کرد. معمولاً بهینه سازی اتصال لایهای (Connection-Layer) تنها بر روی یک دامنه اعمال میشود و محتوای هر صفحه به یک توالی از زیردامنهها تقسیم میشود که باعث باز شدن تعداد بیشتری از کانالها به طور همزمان می گردد و زمان بارگذاری صفحه را کاهش داده و عملکرد را بهبود میبخشد.
ADCها قابلیت دیدن (Visibility) محتوای ارائه شده را دارند و می توانند فرآیند ارائه صفحات وب با تصاویر بزرگ را با تبدیل فایلهای GIF به فرمت کارآمدتر PNG بهینه سازی نمایند.
یکی دیگر از مولفههای بزرگ در صفحات وب، شامل اسکریپتهای گسترده و فایلهای CSS میباشد که ADCها می توانند از طریق حذف کاراکترهای غیرضروری و فضای خالی، آنها را فشردهسازی نمایند. به دلیل انجام فرآیند فشردهسازی، این فایلها با سرعت بیشتری در شبکه حرکت میکنند و در نتیجه زمان دانلود به میزان قابل توجهی کاهش مییابد.
برنامه و امنیت کاربر
فرآیند ارائه تحت وب با تهدیدها و جنبههای آسیبپذیری جدیدی همراه است که برنامههای مبتنی بر شبکه های LAN هرگز با آن مواجه نبودند. با توجه به اینکه کاربران بیش از قبل در حرکت و تکاپو هستند و نیازمند دسترسی بیشتر به برنامهها و دادهها میباشند، واحد IT سازمانها باید راهکارهای بیشتری برای محافظت دقیقتر از دادهها در برابر حملات خارجی و نشت دادهها ارائه نمایند.
ADCها به عنوان نقطه ورودی (Entry Point) یا Gateway در یک شبکه عمل میکنند و اقدام هر یک از کاربران برای دسترسی به برنامه را تایید (Authenticate) مینمایند. اگر برنامهای مبتنی بر SaaS باشد، ADC میتواند هویت کاربر را از طریق ذخیره دادهها بر روی Active Directory موجود تایید نمایند که در این صورت نیازی به ذخیره مجوزها در Cloud نمیباشد. این فرآیند علاوه بر اینکه از امنیت بیشتری برخوردار است، با ایجاد قابلیت Single Sign-on برای برنامههای متعدد، به ارتقای تجربیات کاربران میپردازد.
در حال حاضر، SAML که یک پروتکل مبتنی بر XML است، به طور گسترده مورد استفاده قرار میگیرد تا فرآیند Login یا ورود را ساده نماید. ADC میتواند به عنوان Agent برای SAML عمل نموده و در صورت تایید هویت از طریق ذخیره دادهها، به کاربران اجازه ورود دهد. برخی برنامهها، امکان استفاده از مجوز را از سایتهایی مانند Facebook یا Google+ فراهم مینمایند تا هویت فرد قبل از ایجاد دسترسی مورد تایید قرار گیرد. ADCها به عنوان یک هویت SAML یا ارائه دهنده سرویس در این زمینه عمل میکنند.
امروزه حملات Distributed Denial-of-Service یا به اختصار DDoS بسیار شایع شده است. این حملات به طور خاص، ویژگیهای مبتنی بر وب سازمان را جهت ایجاد مشکل در سرورها و اختلال در توانایی آنها در ارائه سرویس، مورد هدف قرار می دهند. ADC میتواند از منابع داخلی سرور که مورد هدف این حملاتِ طراحی شده می باشند، با محدود نمودن سرعت محافظت نماید. هنگامی که یک موج بزرگ و غیرمعمول از درخواستها ایجاد میگردد، ADC مانع این درخواستها شده و میزان پهنای باند در دسترس برای استفادهی آنها را کاهش میدهد یا اینکه درخواست را به طور کامل رد میکند.
ADC قابلیت تعدیل بار و محافظت پیشرفته لایه ۷ را که پیش از این صرفا در راهکارهایی مستقل از هم قابل دسترسی بود، یکپارچه نموده است. Firewallهای برنامه می تواندHeader مربوط به Packet های داده را در رابطه با محتوای مشکوک یا اسکریپتهای مخرب که ممکن است از طریق Firewall شبکه شناسایی نشوند، بررسی نماید.
Citrix Application Delivery Controller قابلیت پشتیبانی از مدلهای امنیتی مثبت و منفی را داراست. هنگامی که ADC در حالت یادگیری یا Learning Mode قرار میگیرد، امکان تجزیه و تحلیل ترافیک جهت تعیین الگوی کاربری و رفتار نرمال فراهم میگردد. برای مثال اگر درخواست ورودی مخربی با استفاده از SQL Injecting یا Cross-Site Scripting ارسال شود، این درخواست به صورت خودکار مشخص شده و این فرآیند مسدود میگردد. همچنین میتوان از محافظت Signature-Base از طریق یکپارچهسازی با توسعه دهندگان امنیت مانند QUAlys استفاده نمود. ترکیب این روشهای محافظت این امکان را برای ADC فراهم میکند تا از مدلهای امنیتی ترکیبی جامع برای برنامهها و کاربران استفاده نماید.
گام بعدی برای ADCها چیست؟
ADCها، ارزشهای فوقالعادهای را برای سازمانهای IT فراهم نمودند که ارائه برنامهها و دادهها را به صورت ایمن برای کاربران تضمین مینماید. به هرحال انتظار میرود که روند پیشرفت همزمان با سیر تحولی و تکامل برنامهها ادامه یابد. شبکههای مبتنی بر نرمافزار (Software-Defied)، تقاضا برای ADCها را افزایش دادهاند. با توجه به اینکه پروتکلهای شبکه در آینده بیشتر برنامهمحور میگردند، ADCها باید قابلیت خودکارسازی بالاتری داشته باشند تا بتوانند بهینهسازی و محافظت یکپارچه از هر نوع برنامهای را ایجاد نمایند.
ـــــــــــــــــــــــــــــــ
Citrix Application Delivery Controller یا ADC چیست؟ – قسمت اول
Citrix Application Delivery Controller یا ADC چیست؟ – قسمت دوم(پایانی)