aasaam

گروه نرم‌افزاری آسام

پشتیبانی تماس با ما +982191008212

HTM (HTTP Traffic Manager)

سامانه HTM چیست؟

این سامانه یک وب سرور لبه شبکه است که تمامی ترافیک HTTP(s) را در زیر ساخت فناوری اطلاعات یک مجموعه مدیریت می‌کند. تمامی ترافیک HTTP شبکه ابتدا از این سرور می‌گذرد و سپس از طریق این وب سرور به وب سرورهای backend ترافیک منتقل می‌شود و پاسخ را آن‌ها دریافت و به Client ها منتقل می‌کند. این سامانه امکان‌های ذیل را فراهم می‌کند:

WAF(Web Application Firewall)
این ماژول این امکان را فراهم می‌کند که درخواست‌های HTTP قبل از اینکه به وب سرورهای مقصد برسد مورد بررسی امنیتی قرار گیرد و اگر با توجه به قواعد از پیش تعریف شده این ترافیک مشکوک باشد یا حمله‌های SQL-injection ,XSS، ,… را تشخیص دهد، ترافیک را پیش از آن که به سرور مقصد برسد بلاک می‌کند.
ماژول جلوگیری DDOS و DOS
این ماژول با تشخیص حمله‌های موسوم به DOS به کاربر درخواست دهنده Captcha نشان می‌دهد تا کاربری که با ربات سعی در تخریب سیستم و بالابردن بار سیستم در حال درخواست دادن است نتواند بار را به سرور مقصد منتقل کند و باعث اختلال در سیستم شود.
ماژول Load Balancer
این ماژول این امکان را فراهم می‌کند که بتوان ترافیک یک سرور مقصد(Backend Server) را بین چند سرور جهت تقسیم بار منتقل کرد. بدین منظور می‌توان از استراتژی های گوناگونی همچون HTTP Parameter Based, Round Robin، Failover , IP Range based, … بهره برد. همچنین این ماژول می‌تواند یک کوکی روی مرورگر کاربران ایجاد کند که یک کاربر همواره از همان سرور سرویس بگیرد که بار اول به آن متصل شده است.
ماژول SSL OFFLOADER
با استفاده از این ماژول می‌توان به صورت مرکزی برای تمام سامانه‌های پشت HTM عملیات SSL Termination را انجام داد.
ماژول Page Speed
با استفاده از این ماژول می‌توان پاسخ‌های ارسالی از سمت سرورهای Backend به سمت مرورگر کاربران را بهینه سازی نمود. از جمله بهینه سازی‌هایی که این ماژول فراهم می‌کند می‌توان به موارد زیر اشاره کرد:
Combine CSS
این ماژول با ترکیب فایل‌های css تعداد درخواست ها را در سمت مرورگر کاهش می‌دهد.
Combine Javascript
این ماژول با ترکیب فایل‌های Javascript تعداد درخواست ها را در سمت مرورگر کاهش می‌دهد.
Collapse Whitespace
این ماژول با حذف کاراکترهای اضافی Space باعث کاهش حجم صفحه درخواستی خواهد شد.
Deduplicate Inlined Images
این ماژول عکس‌های Inline تکراری را تنها با یک درخواست فراخوانی می‌کند.
Extend Cache
این ماژول تلاش می‌کند که قابلیت Cache را برای منابع صفحه درخواستی کاربر به طوری فعال کند که اختلالی برای سامانه اصلی مورد درخواست ایجاد نشود.
Extend Cache PDFs
این ماژول قابلیت Cache را به طور خاص برای فایل‌های PDF فراهم می‌کند.
Image Filter and Option Reference
این ماژول برای بهینه سازی عکس‌های موجود در صفحه درخواستی به کار می‌رود. به طور مثال فایل‌های غیرمتحرک GIF را به فایلهای بهینه‌تر PNG تبدیل می‌کند. همچنین فایل‌های JPG با حجم زیاد را بهینه می‌کند، می‌تواند فایل‌های JPG را به فایل‌های بهینه‌تر WEBP تبدیل کند و...
Inline CSS
این ماژول فایل‌های کم حجم CSS را برای کاهش تعداد درخواست‌ها به‌ داخل فایل HTML منتقل می‌کند.
Inline JavaScript
این ماژول فایل‌های کم حجم JavaScript را برای کاهش تعداد درخواست‌ها به‌ داخل فایل HTML منتقل می‌کند.
Lazyload Images
این ماژول برای بارگذاری سریعتر صفحات وب عکس‌هایی که در دیدرس کاربر نیستند را بارگذاری نمی‌کند و به محض اینکه عکس‌ها در دیدرس قرار گرفتند آن‌ها را بارگذاری می‌کند.
Responsive Images
این ماژول با اضافه کردن ویژگی srcset امکان قرار گیری نسخه‌های مختلفی از عکس را با تراکم پیکسلی متفاوت فراهم می‌کند.
Minify JavaScript
این ماژول امکان متراکم سازی فایل‌های جاوا اسکریپت را فراهم می‌کند.
Pre-Resolve DNS
این ماژول تکی را به صفحات HTML جهت Pre-Resolve DNS برای کاهش زمان ارتباط با DNS server را فراهم می‌کند.

چرا باید از سامانه HTM استفاده کرد؟

برای پاسخ به این سؤال می‌توان به موارد زیر اشاره کرد:

امنیت در لایه HTTP
تعداد حملات در فضای سایبری هر ساله بیشتر و پیچیده‌تر می‌شوند. برخی از حملات از طریق درخواست‌های HTTP انجام می‌شود که می‌توان با شناسایی به‌موقع و جلوگیری از ورود درخواست به سرور مقصد جلوی آن‌ها را تا حد زیادی گرفت. حملاتی از قبیل SQL Injection و XSS از مشهورترین و شایع‌ترین حملات در فضای وب هستند، به طوریکه مجموعاً فقط این دو نوع شیوه حمله در سال ۲۰۲۰ بیش از ۳۲ درصد(https://www.acunetix.com/acunetix-web-application-vulnerability-report) کل حملات ثبت شده موفق را به خود اختصاص داده‌اند. بنابراین برای مجموعه‌هایی که میزبان نرم‌افزارهای وب متعددی هستند بسیار مفید خواهد بود که از این ابزار برای پیشگیری از حملات هکر‌ها بهره ببرند.
جلوگیری از اختلال در سرویس
یکی از شایع‌ترین راه‌های خرابکاری حملات DDOS هستند که با ایجاد ترافیک بسیار زیاد روی سرور‌ها باعث اخلال در سرویس دهی می‌شوند. حملات DDOS اغلب از طریق BOT ها انجام می‌شود، که در صورت شناخت درخواست کاربر واقعی از درخواست BOT می‌توان تا حد زیادی جلوی ورود درخواست‌های مخرب را گرفت تا در سرور‌های Backend اختلالی ایجاد نشود. بدین منظور داشتن یک سیستم DDOS Protection خوب امکان جلوگیری از اخلال و سرویس دهی مناسب را فراهم می‌کند.
مقیاس پذیری و تقسیم بار
در بسیاری از مواقع پس بالا رفتن ترافیک و بار یک سامانه نیاز است که بتوان با مقیاس پذیری افقی (horizontal scaling) یا افزایش تعداد سرورها بار را روی چند سرور تقسیم کرد. بدین منظور Load Balancer خوب می‌تواند نقشی مؤثر در این کار داشته باشد.
دسترس پذیری بالا(High Availability)
استفاده از Load Balancer این مزیت را در اختیار مجموعه‌های فناوری اطلاعات می‌گذارد که در صورت بروز مشکل برای یک سرور، با تشخیص بروز مشکل توسط انواع Service Discovery ها درخواست کاربران به سمت سرورهای مشکل دار نرود و تنها سرورهای سالم ترافیک وب را دریافت کنند.
امنیت لایه تبادل
امروزه یکی از الزامات امنیتی استفاده از پرتکل HTTPS برای تمامی صفحات وب برای امنیت لایه تبادل (Transport Layer) هست که جلوی حملات Man-in-middle را می‌گیرد و همچنین در مقابله با نشت داده‌ها (Data Breach) هم مؤثر است. به همین جهت داشتن یک سیستم مرکزی و امن برای عملیات SSL Termination از ضروریات هر مجموعه بزرگ فناوری اطلاعات هست.
بهینه سازی صفحات وب
بهینه سازی صفحات وب از دو جهت حائز اهمیت فراوانی است. ابتدا اینکه بهینه‌تر بودن صفحات باعث افزایش سرعت بارگذاری صفحات شده و در نهایت موجب تجربه کاربری بهتر برای کاربران می‌شود و این خود موجب رضایت افراد استفاده کنند از سیستم خواهد شد. از طرف دیگر موتورهای جستجو اولویت بالاتری را به صفحاتی می‌دهند که از جهت سرعت و استانداردسازی بهینه شده باشند که اولویت بالاتر در موتورهای جستجو موجب بیشتر دیدن شدن صفحات و اقبال کاربران خواهد شد.
بررسی خطاهای سمت کاربر
با توجه به اینکه برنامه های تحت کاربر در مروگرها، سیستم عامل ها و دستگاه‌های متنوعی اجرا می‌شوند، بررسی خطاهای رخ داده سمت کاربر و تجمع آنها به شدت به افزایش کیفت نرم افزارهای تحت وب کمک خواهد کرد.

ویژگی‌های این سیستم چیست؟

مقیاس پذیری(Scalability)

این سیستم می‌تواند به صورت مقیاس پذیر پیاده‌سازی شود. در این صورت توان شبکه و پردازشی آن به صورت خطی افزوده می‌شود و هم Single Point of Failure نخواهد بود.

سفارشی سازی

این سیستم به صورت قابل قبولی می‌تواند با توجه به نیازهای مشتری سفارشی سازی شود و انواع نیازهای دیگر را نیز در این لایه پوشش دهد.

سیستم مانیتورینگ

این سیستم به همراه یک سیستم مانیتورینگ جهت پایش سلامت آن و سیستم جمع آوری و پردازش لاگ برای Access Log و Error Log و Waf Log پیاده‌سازی می‌شود.

فن‌آوری‌های مورد استفاده

si_nginx Nginx
si_lua Lua
si_elasticsearch Elasticsearch
si_fluentd Fluent Bit
si_influxdb Telegraf/InfluxDB
si_kibana Kibana
si_prometheus Prometheus
si_grafana Grafana
si_sentry Sentry
گروه نرم‌افزاری آسام