افزونه ModSecurity در هاست که اغلب بهعنوان “ModSec” هم شناخته میشود، یک فایروال منبع باز (WAF) است. ماموریت اصلی ModSec، افزایش امنیت وباپلیکیشنها است. این افزونه در ابتدا در قالب یک ماژول برای سرور آپاچی توسعه یافت؛ اما امروزه در وب سرورهای مختلف ازجمله Microsoft IIS و Nginx هم قابلاستفاده است. ModSec ویژگیهای جذابی دارد که ممکن است همین حالا شما را ترغیب به نصب و استفاده کند. ما در این مقاله به ModSecurity چیست و نحوه فعالسازی آن در هاست سی پنل و دایرکت ادمین میپردازیم.
ModSecurity چیست؟
ModSecurity یک ماژول آپاچی است که ویژگیهای تشخیص نفوذ و پیشگیری از آن را به وب سرور اضافه میکند. در اصل این فایروال شبیه به IDS است که برای تجزیهوتحلیل ترافیک شبکه از آن استفاده میکنند؛ اما این ماژول در سطح HTTP کار میکند و درک بسیار خوبی از آن دارد.
بههمیندلیل، افزونه ModSecurity در هاست به شما اجازه میدهد تا مواردی را که از دید HTTP عادی هستند را انجام دهید؛ مواردی که برای یک IDS کلاسیک دشوار است.
این افزونه علاوهبر تشخیص، پیشگیری از حملات شبکه مانند حمله DDoS و حمله بروت فورس را هم انجام میدهد؛ چون بین سیستم کاربر و سرور قرار میگیرد و در صورت تشخیص درخواستهای غیرمنطقی و مشکوک، یکسری پارامتر را برای رد اجرای آنها بهکار میگیرد.
قوانین ModSecurity در برابر چه حملاتی سرور را محافظت می کنند؟
بهمنظور ارائه حفاظت از وباپلیکیشنها، قوانین هسته ModSec از تکنیکهای زیر استفاده میکنند:
حفاظت HTTP
- کشف نقض پروتکل HTTP و سیاست استفاده محلی تعریفشده از آن
حملات متداول وب
- شناسایی حملات رایج در نرمافزارهای تحت وب مانند DOM-based XSS و Data Breaches
تشخیص خودکار حملات
- شناسایی رباتها، خزندهها، اسکنرها و دیگر فعالیتهای مخرب در سرور
- حفاظت هاست از حمله تروجان
- شناسایی دسترسی تروجان به انواع هاست مانند هاست ویندوز
10 مورد از ویژگی های افزونه امنیتی ModSecurity
ModSecurity ویژگیهای مختلفی را برای محافظت از برنامههای تحت وب در برابر تهدیدات امنیتی ارائه میدهد که لیست کامل آنها را در زیر میبینید.
1. حفاظت براساس قوانین
ModSecurity از یک سیستم انعطافپذیر مبتنیبر قانون برای تعریف سیاستهای امنیتی استفاده میکند. این قوانین را میتوان برای مطابقت با بایدهای وباپلیکیشنهای خاص و الگوهای تهدید سفارشی کرد.
2. تشخیص مبتنیبر امضا
افزونه ModSecurity در هاست میتواند حملات مشکوک را با درخواستهای دریافتی شناسایی کند. تشخیص چنین اتفاقی توسط ModSec، با کمک مقایسه امضاهای از پیش تعریفشده و الگوهای مخرب انجام میشود.
3. تشخیص ناهنجاری
ModSecurity میتواند رفتار غیرعادی یا مشکوکی را که ممکن است نشاندهنده حمله باشد، بشناسد؛ حتی اگر با امضای شناختهشده مطابقت نداشته باشد.
4. محدود کردن نرخ
در این ماژول، با محدود کردن تعداد درخواستهای مجاز از یک آدرس IP یا منبع در یک بازه زمانی مشخص، از حملات انکار سرویس (DoS) جلوگیری میشود.
5. ایجاد قوانین سفارشی
مدیران سایت میتوانند قوانین سفارشی را برای رفع نگرانیهای امنیتی یا آسیبپذیریهای خاص در برنامههای خود اعمال و اجرا کنند.
6. مسدود کردن GeoIP
افزونه ModSecurity در هاست میتواند درخواستها را براساس موقعیت جغرافیایی آدرس IP منبع مسدود کند.
7. بررسی ارجاع
ModSec میتواند هدر ارجاعدهنده را در درخواستهای HTTP تایید کند تا از دسترسی غیرمجاز جلوگیری شود.
8. دستکاری هدر
این افزونه محبوب قادر به اصلاح یا حذف هدرهای HTTP است تا حملات خاص یا اعمال سیاستهای امنیتی غلط را کاهش دهد.
9. ردیابی Session
افزونه ModSecurity در هاست میتواند جلسات کاربر (User Sessions) را برای جلوگیری از ربودن اطلاعات Session و سایر حملات ردیابی کند.
10. یکپارچهسازی با سیستمهای خارجی
ModSecurity فضایی برای یکپارچهسازی با سایر ابزارها و سیستمهای امنیتی فراهم کرده است؛ پلتفرمهایی مانند سیستمهای تشخیص نفوذ (IDS)، دیتابیسهای امنیتی و راهحلهای مدیریت رویداد (SIEM).
نحوه عیب یابی هشدارهای ModSecurity
افزونه ModSecurity در هاست قادر به اعلان هشدارها و خطاهای مختلفی است که درک آنها، به پیکربندی صحیح افزونه، امنیت سرور و برنامههای آن کمک زیادی میکند. پس در ادامه، با یکدیگر نحوه عیبیابی این هشدارها را یاد خواهیم گرفت.
هشدار SecReadStateLimit Deprecated
- پیام: “SecReadStateLimit is deprecated, use SecConnReadStateLimit instead.”
- علت: این هشدار هنگام استفاده از ModSecurity نسخه 2.8.0 یا بالاتر ظاهر میشود و نشان میدهد که دستورالعمل SecReadStateLimit قدیمی و منسوخ شده است.
- راهحل: بهطورمعمول میتوان این هشدار را نادیده گرفت؛ چون بر عملکرد کلی سرور تاثیر نمیگذارد. بااینحال برای حذف آن، میتوانید دستورالعمل را از فایل پیکربندی (modsecurity_iis.conf) حذف و در صورت نیاز آن را با SecConnReadStateLimit جایگزین کنید.
خطای 403 Forbidden یا 406 Not Acceptable Response
- پیام: وقتی ModSecurity درخواستهای قانونی سیستمهای کلاینت را مسدود میکند، کاربران ممکن است با خطاهای 403 یا 406 مواجه شوند.
- علت: این خطا ممکن است بهدلیل قوانین امنیتی زیاد و تهاجمهای گسترده رخ دهد. در این حالت درخواستهای معتبر بهاشتباه بهعنوان درخواستهای مخرب درنظر گرفته میشوند.
- راهحل:
- با شرکت هاستینگ خود ارتباط برقرار کنید و از آنها بخواهید قوانین امنیتی را بررسی و تنظیم کنند. همچنین آنها میتوانند درخواستهای خاص را در لیست سفید قرار دهند.
- اگر دسترسی به وب سرور دارید، میتوانید ModSecurity را برای URLهای خاص یا کل سایت، با افزودن موارد زیر به فایل htaccess خود غیرفعال کنید:
<IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule>
نکته: توجه داشته باشید که غیرفعال کردن کامل ModSecurity بهدلیل ایجاد خطرات امنیتی توصیه نمیشود.
خطاهای نصب یا بهروزرسانی
- پیغام: خطاهایی در حین نصب یا بهروزرسانیها، مانند “The installation of the package ‘modsecurity’ failed with code 1603.”
- علت: اگر مشکلات سازگاری با پنل سرور وجود داشته باشد یا اجزای مورد نیاز برای نصب ModSec وجود نداشته باشند، این خطا را مشاهده میکنید.
- راهحل: مطمئن شوید که سرور تمام پیشنیازهای نصب ModSecurity را دارد. اگر از Plesk استفاده میکنید، نسخه IIS و سازگاری آن را چک کنید. در برخی مواقع، نصب مجدد یا بهروزرسانی ماژول ModSecurity هم راهکار مناسبی است.
مثبتهای کاذب (False Positive)
- پیام: “Legitimate traffic is blocked by ModSecurity rules”.
- علت: این اتفاق زمانی میافتد که درخواستهای معتبر بهاشتباه بهعنوان عوامل مخرب و آسیبزا Flag میشوند.
- راهحل: درخواستهای “Legitimate” را به لیست سفید اضافه کنید تا درخواست قانونی درنظر گرفته شوند. این روش اغلب از راه پیکربندی ModSecurity یا تماس با پشتیبانی هاست انجام میشود.
روشهای عمومی رفع خطا و هشدار در ModSecurity
- بازبینی Log: همیشه گزارشهای ModSecurity را بررسی کنید. این گزارشها قوانین خاصی که مسبب بروز و ایجاد خطا هستند را نشان میدهند.
- بهروزرسانی قوانین: بهطور منظم مجموعه قوانین اصلی (CRS) و ModSecurity را بهروز کنید تا بهبودها و اصلاحات نسخههای جدید، خطاها و هشدارها را برطرف کرده یا کاهش دهند.
- ساخت قوانین سفارشی: در صورت لزوم، قوانین سفارشی بسازید که با نیازهای خاص سایت شما مطابقت داشته باشند و احتمال بروز خطای مثبت کاذب را کاهش دهد.
مزایای افزونه ModSecurity در هاست
در این بخش به مزایای ModSecurity اشاره میکنیم.
حفاظت از سرور بهصورت Real-time
- این نظارت بهطور فعال ترافیک HTTP را زیرنظر گرفته و فیلتر میکند. بنابراین امکان شناسایی و مسدود کردن فوری درخواستهای مخرب فراهم میشود؛
- بهلطف چنین نظارتی، احتمال بروز انواع مختلف حملات مانند SQL Injection و اسکریپت بین سایتی (XSS) کاهش مییابد.
ثبت جامع گزارشها
- ثبت دقیق تمام ترافیک ورودی و خروجی توسط این افزونه ممکن است. بههمیندلیل، درک الگوهای ترافیک بهسادگی فراهم خواهد شد؛
- این ویژگی توسط مدیران و سفارشیسازی موارد ثبتشده با کمک ممیزیهای انطباق و امنیتی اجرا میشود.
منبع باز
- منبع باز بودن به این معنی است که بهطور مداوم توسط جامعهای گسترده از توسعهدهندگان و کارشناسان امنیتی، بهروزرسانی انجام شده و عملکرد ModSec بهبود مییابد؛
- بدون صرف هزینه برای خرید لایسنس، میتوانید بهراحتی از این افزونه استفاده کنید.
مدیریت قوانین انعطافپذیر
- ModSecurity افزونهای منعطف است که به سازمانها و مدیران سایتها اجازه میدهد تا سیاستهای امنیتیشان را متناسببا محیط کاری و برند منحصربهفردشان اجرا کنند. درعینحال هم بتوانند مشکلات و خطاهای سرور را بهحداقل برسانند.
قدرت بخشیدن به وباپلیکیشنها
- این ابزار میتواند انواع درخواستهای HTTP پذیرفتهشده توسط یک وباپلیکیشن را محدود کند. بنابراین سطح حمله کاهش مییابد؛
- افزونه ModSecurity در هاست با محدود کردن روشها و هدرهای درخواست این کار را انجام میدهد.
پشتیبانی از قابلیتهای چندگانه استقرار
- ModSecurity میتواند در پیکربندیهای مختلف، ازجمله ابزارهای Embedded در وب سرورها مستقر شود. همچنین میتوانیم این افزونه را بهعنوان یک پروکسی معکوس (Reverse Proxy) هم استفاده کنیم؛
- تطبیقپذیری و انعطاف اینچنینی به سازمانها اجازه میدهد تا بهینهترین روش را برای استقرار ModSec روی سرورشان انتخاب کنند؛ روشی که بهترین تطبیق را با معماری و الزامات امنیتی آنها دارد.
ارزیابی امنیت بهشکل مستمر
- افزونه ModSecurity در هاست بهطور مداوم آسیبپذیریها و ناهنجاریهای داخلی را رصد میکند تا شناسایی نقاط ضعف امنیتی و احتمال سواستفاده بهحداقل برسند.
کمک به انطباق با لایههای امنیتی متعدد
- برای کسبوکارهایی که نسبتبه دادههای خود حساس هستند، ModSecurity یک لایه امنیتی اضافی را در برابر نقض دادهها و دسترسی غیرمجاز لحاظ میکند. بنابراین الزامات انطباق مانند PCI DSS حفظ و اعمال میشوند.
معایب افزونه ModSecurity در هاست
درحالیکه این افزونه یک فایروال محبوب (WAF) در میان مدیران سایت است، اما برخی معایب را هم با خود بههمراه میآورد. در ادامه نگاهی مختصر به این معایب خواهیم انداخت.
بیشتر بخوانید: آشنایی با فایروال وب سایت یا WAF ؛ جنگجویی که در خط مقدم میجنگد!
تاثیر منفی بر عملکرد سرور
ModSecurity بهطور بالقوه زمان پاسخ سرور کاهش میدهد؛ چون پردازش اضافی را برای هر درخواست ایجاد میکند.
اعمال مثبت کاذب
در ModSec، عدم تشخیص ترافیک صحیح و رخ دادن خطای “False Positive” زیاد است. این حالت منجربه مسدودسازی ترافیک قانونی میشود. زمانی این مسدود کردن تشدید میشود که مدیر سایت مجموعه قوانین سختگیرانهتری را لحاظ کرده است.
پیچیدگی در پیکربندی و حفظ قوانین
پیکربندی و حفظ قوانین ModSecurity برای کاربران مبتدی چالشبرانگیز است؛ چون به دانش تخصصی و فنی نیاز دارد.
منابع فشرده
مصرف بالای منابع سختافزاری سرور مانند CPU و RAM، سرورهای پرترافیکی که از ModSecurity استفاده میکنند را بهچالش میکشد.
احتمال به تله افتادن سرور توسط هکران
مهاجمان خبره و کارکشته ممکن است راههایی برای دور زدن قوانین ModSecurity پیدا کنند و بتوانند به سرور راه یابند.
الزام به بهروزرسانیهای منظم
بهروزرسانیهای مکرر برای حفظ اثربخشی در برابر تهدیدات جدید، یکی از نیازهای حیاتی این افزونه است. البته تمام افزونههای امنیتی چنین الزامی دارند.
پشتیبانی محدود از پروتکلهای رایج
ModSec در درجه اول بر HTTP/HTTPS تمرکز دارد. بههمیندلیل، اگر هکر از پروتکل ftp یا دیگر پروتکلهای شبکه استفاده کند، سرور در معرض آسیبپذیری قرار میگیرد.
سربار ورود به سیستم
گزارشگیری گسترده توسط این افزونه امنیتی میتواند منجربه افزایش نیاز به تجهیزات ذخیرهسازی و مشکلات بالقوه عملکرد آنها شود.
نحوه فعالسازی و غیرفعالسازی ModSecurity در هاست سی پنل
فعالسازی و غیرفعالسازی ModSecurity در هاست سی پنل بسیار ساده است. کافیست مطابق مراحل زیر پیش بروید:
- لاگین و ورود به سی پنل
- حال در بخش “Security”، روی “ModSecurity” کلیک کنید؛
- این افزونه بهصورت پیشفرض روی دامنه اصلی و ساب دامین ها فعال است. اگر میخواهید آن را غیرفعال کنید، روی دکمه “Disable” در پنجره پیشرو کلیک کنید؛
- اگر میخواهید این افزونه را فقط روی دامنه یا زیردامنه خاصی غیرفعال کنید، در لیست “Domains”، روی دکمه “On” – روشن کردن ModSecurity – و “Off” – خاموش کردن ModSecurity – کلیک کنید.
نحوه فعالسازی و غیرفعالسازی ModSecurity در هاست دایرکت ادمین
برای فعالسازی و غیرفعالسازی ModSecurity در هاست دایرکت ادمین، مراحل زیر را دنبال کنید:
- ورود به دایرکت ادمین
- از بخش “Advanced Features”، روی “ModSecurity” کلیک کنید؛
- در بخش “Status and Disabled Rules” و روبهروی کادر “SecRuleEngine”، دکمههای “On” – فعال کردن ModSecurity – و “Off” – غیرفعال کردن ModSecurity – را میبینید؛
- با انتخاب هرکدام از این دو گزینه، دکمه “Save” را بزنید تا تغییرات اعمال شوند.
آنچه در ModSecurity خواندیم
افزونه ModSecurity در هاستهای مختلف، بهعنوان ابزاری قدرتمند برای برقراری امنیت وباپلیکیشنها، نظارت بر ترافیک و محافظت از سرور دربرابر حملات شبکه شناخته میشود. انعطافپذیری و گزینههای سفارشیسازی این افزونه، آن را برای سناریوهای مختلف استقرار مناسب میسازد. بههمیندلیل، ModSecurity را یک جز حیاتی در استراتژیهای امنیت وب میشناسیم.
دیدگاه شما درباره این افزونه چیست؟ چه زمانی تغییر پیکربندی و تنظیمات آن را مناسب میدانید؟ ما در بخش نظرات همین پست، میزبان نگاه باارزش شما هستیم تا در کنار یکدیگر، شاهد پیشرفت و افزایش دانش در زمینه امنیت وب باشیم.
سوالات متداولی که شما میپرسید؟
- ModSecurity چیست؟
ModSecurity یک ماژول فایروال برای وبسایت (WAF) است که بهشکل منبع باز عرضه میشود. ماموریت اصلی این افزونه، محافظت از وباپلیکیشنها در برابر تهدیدات امنیتی مختلف است.
- ModSecurity چگونه کار می کند؟
عملکرد ModSecurity بهشکل تجزیهوتحلیل درخواستهای دریافتی و مقایسه آنها با قوانین از پیش تعریفشده است.
- مزایای استفاده از ModSecurity چیست؟
مزایای استفاده از ModSecurity شامل افزایش امنیت وباپلیکیشنها، تطبیقبا استانداردهای صنعت و کاهش خطر نقض دادهها هستند.
منابع: