فهرست محتوا
مقدمه
نصب ModSecurity در cPanel یکی از مؤثرترین اقدامات برای افزایش امنیت وبسایتهایی است که روی سرورهای لینوکسی با کنترلپنل cPanel میزبانی میشوند. ModSecurity بهعنوان یک فایروال اپلیکیشن تحت وب (WAF)، درخواستهای HTTP ورودی را بررسی کرده و از حملاتی نظیر SQL Injection، XSS، Remote File Inclusion و بسیاری از تهدیدات رایج دیگر جلوگیری میکند.
ModSecurity چیست؟
ModSecurity یک ماژول امنیتی متنباز برای وبسرور Apache است که امکان نظارت، فیلتر و مسدود کردن درخواستهای مشکوک را در سطح اپلیکیشن فراهم میکند. این ابزار با استفاده از مجموعهای از قوانین قابل تنظیم، ترافیک مخرب را شناسایی کرده و مانع اجرای کدهای مخرب یا نفوذ به سیستم میشود. به همین دلیل، نصب ModSecurity در cPanel باعث افزایش امنیت سایت در برابر حملات رایج مثل SQL Injection و XSS میشود. این ماژول بهعنوان فایروال وباپلیکیشن، از ترافیک مشکوک جلوگیری میکند.
اهمیت فایروال اپلیکیشن تحت وب (WAF)
با افزایش روزافزون حملات به لایه اپلیکیشن وب، وجود یک لایه محافظتی مانند WAF دیگر یک گزینه نیست، بلکه یک ضرورت است. WAFها مانند Mod Security بین کاربر و سرور قرار گرفته و بهصورت مداوم ترافیک ورودی را فیلتر میکنند. نصب ModSecurity در cPanel باعث میشود حتی کاربران کمتجربه نیز بتوانند از این لایه حفاظتی قدرتمند بهرهمند شوند، بدون اینکه نیاز به تنظیمات پیچیده دستی در فایلهای سرور داشته باشند.
پیشنیازهای نصب ModSecurity در cPanel
قبل از شروع فرآیند نصب ModSecurity در cPanel، ضروری است که برخی پیشنیازهای مهم را بررسی و فراهم کنیم تا مراحل نصب و پیکربندی بدون مشکل و با بیشترین سطح امنیت انجام شود. رعایت این موارد نهتنها باعث جلوگیری از خطاهای رایج میشود، بلکه از بروز اختلال در عملکرد وبسایتهای موجود روی سرور نیز جلوگیری میکند.
دسترسی به WHM یا دسترسی root
اولین پیشنیاز برای نصب ModSecurity در cPanel، داشتن دسترسی کافی به سرور است. شما باید یکی از دو گزینه زیر را در اختیار داشته باشید:
-
دسترسی به WHM (Web Host Manager): اگر از یک سرور مدیریتشده یا VPS با cPanel استفاده میکنید، دسترسی به WHM کافی خواهد بود. از طریق WHM میتوانید ModSecurity را تنها با چند کلیک فعال و پیکربندی کنید.
-
دسترسی root به سرور: در صورتی که به WHM دسترسی ندارید، باید از طریق SSH و با دسترسی root فرآیند نصب را انجام دهید. این روش نیازمند دانش فنی بالاتر است و معمولاً توسط مدیران سرور استفاده میشود.
بررسی نسخه cPanel و Apache
برای موفقیت در نصب Mod Security در cPanel، مطمئن شوید که نسخه cPanel مورد استفاده از Mod Security پشتیبانی میکند. همچنین بررسی نسخه Apache نیز بسیار مهم است، زیرا برخی نسخههای قدیمی ممکن است با آخرین نسخههای Mod Security ناسازگاری داشته باشند. برای این کار:
-
وارد WHM شوید و از بخش Server Information نسخه Apache و cPanel را بررسی کنید.
-
پیشنهاد میشود از نسخههای بهروز و پشتیبانیشده استفاده کنید تا از پایداری و امنیت بیشتری بهرهمند شوید.
نکات امنیتی پیش از نصب
پیش از نصب ModSecurity در cPanel، رعایت برخی نکات امنیتی میتواند از بروز مشکلات بعدی جلوگیری کند:
-
تهیه بکآپ کامل از سرور یا حداقل وبسایتها، زیرا برخی Rule ها ممکن است با اسکریپتهای موجود تداخل داشته باشند.
-
بررسی سازگاری برنامههای تحت وب با Rule Set ها؛ بهخصوص اگر از CMSهایی مانند وردپرس، جوملا یا مجنتو استفاده میکنید.
-
اطمینان از وجود منابع کافی روی سرور، چرا که فعالسازی ModSecurity ممکن است منجر به افزایش مصرف منابع (CPU و RAM) شود.
فعالسازی ModSecurity از طریق WHM
پس از بررسی پیشنیازها، حالا نوبت به مرحله اصلی یعنی فعالسازی ModSecurity از طریق WHM میرسد. یکی از مزایای مهم نصب ModSecurity در cPanel این است که تمام مراحل راهاندازی این ماژول امنیتی از طریق رابط گرافیکی WHM قابل انجام است و نیاز به اجرای دستورات پیچیده در ترمینال نیست.
ورود به WHM
برای شروع فرآیند نصب ModSecurity در cPanel، ابتدا وارد WHM شوید. برای این منظور:
-
در مرورگر خود آدرس IP یا دامنه سرور را بهصورت
https://yourserverIP:2087
وارد کنید. -
با نام کاربری و رمز عبور root وارد پنل WHM شوید.
پس از ورود موفق، به داشبورد مدیریتی دسترسی خواهید داشت که از طریق آن میتوانید به تمامی بخشهای مربوط به پیکربندی سرور و امنیت دسترسی پیدا کنید.
مسیر فعالسازی ModSecurity
برای فعالسازی ModSecurity مراحل زیر را طی کنید:
-
در منوی سمت چپ WHM، عبارت ModSecurity را جستجو کنید.
-
روی گزینه ModSecurity™ Vendors کلیک کنید.
-
در این بخش میتوانید Rule Set مورد نظر را از لیست فعالسازی کنید (برای مثال OWASP ModSecurity Core Rule Set).
-
سپس به بخش ModSecurity Configuration بروید.
-
گزینه Enable ModSecurity for Apache را فعال کنید.
در این مرحله، ModSecurity روی وبسرور شما فعال میشود. اگر Rule Set مناسبی انتخاب شده باشد، سیستم بهصورت خودکار شروع به فیلتر کردن درخواستهای مخرب خواهد کرد.
تنظیمات اولیه ماژول
پس از نصب ModSecurity در cPanel و فعالسازی آن از طریق WHM، بهتر است برخی تنظیمات اولیه را بررسی و اعمال کنید:
-
Global Configuration: امکان فعالسازی یا غیرفعالسازی ماژول برای کل سرور.
-
Audit Log Level: سطح ثبت لاگها را مشخص میکند (پیشنهاد میشود در ابتدا روی حالت “Relevant Only” قرار گیرد).
-
Rule Engine: اگر میخواهید Ruleها فعال باشند، این گزینه باید روی “On” باشد.
-
Disable Rule for Specific Domains: میتوانید Rule ها را برای دامنههای خاص غیرفعال کنید تا از بروز خطاهای ناخواسته جلوگیری شود.
انتخاب Rule Set مناسب
یکی از مهمترین مراحل پس از نصب ModSecurity در cPanel، انتخاب و فعالسازی Rule Set مناسب است. Rule Set ها مجموعهای از قوانین از پیشتعریفشده هستند که به ModSecurity کمک میکنند تا الگوهای حمله را شناسایی و مسدود کند. انتخاب صحیح این قوانین نقش کلیدی در افزایش امنیت بدون ایجاد تداخل با عملکرد وبسایتها دارد.
معرفی OWASP ModSecurity Core Rule Set (CRS)
یکی از محبوبترین و معتبرترین Rule Set ها برای Mod Security، مجموعه قوانین OWASP Mod Security Core Rule Set (CRS) است. این Rule Set توسط بنیاد OWASP توسعه داده شده و با هدف محافظت در برابر تهدیدات رایج اپلیکیشنهای تحت وب طراحی شده است.
مزایای OWASP CRS شامل موارد زیر است:
-
محافظت در برابر SQL Injection، XSS، Remote File Inclusion و سایر حملات رایج
-
آپدیتهای منظم و جامعه پشتیبانی فعال
-
سطح بالایی از سازگاری با بیشتر وباپلیکیشنها
در فرآیند نصب ModSecurity در cPanel، این Rule Set معمولاً بهصورت پیشفرض در بخش ModSecurity™ Vendors قابل انتخاب و نصب است.
نحوه انتخاب و فعالسازی Rule ها
برای فعالسازی یک Rule Set مناسب در WHM، مراحل زیر را دنبال کنید:
-
وارد WHM شوید و از نوار جستجو گزینه ModSecurity™ Vendors را باز کنید.
-
در این بخش، لیستی از Rule Set های موجود را مشاهده میکنید (مانند OWASP).
-
روی گزینه Install or Update برای Rule Set مورد نظر کلیک کنید.
-
پس از نصب، WHM بهصورت خودکار قوانین را روی سرور اعمال میکند.
در همین قسمت میتوانید وضعیت Rule Setها را بررسی کرده و در صورت نیاز، آنها را بهروزرسانی یا غیرفعال کنید.
مدیریت Rule ها برای دامنههای خاص
گاهی اوقات برخی Rule ها ممکن است با اپلیکیشنهای خاص مانند وردپرس، جوملا یا فروشگاههای آنلاین تداخل داشته باشند. در این موارد، میتوان Rule ها را بهصورت دقیق برای دامنههای خاص مدیریت کرد:
-
از بخش ModSecurity Tools در WHM وارد قسمت Configure Rules شوید.
-
دامنه مورد نظر را انتخاب کرده و Rule های فعال روی آن را مشاهده کنید.
-
با استفاده از گزینههایی مانند Disable Rule ID میتوانید یک Rule خاص را برای آن دامنه غیرفعال کنید.
این قابلیت باعث میشود که بدون غیرفعالسازی کامل ModSecurity، بتوانید عملکرد وبسایت را حفظ کرده و همزمان از مزایای امنیتی آن بهرهمند شوید.
پیکربندی ModSecurity
بعد از نصب ModSecurity در cPanel و انتخاب Rule Set مناسب، نوبت به مرحله مهم پیکربندی ماژول میرسد. تنظیم دقیق ModSecurity کمک میکند تا بین امنیت و عملکرد تعادل برقرار شده و از تداخلهای احتمالی با اپلیکیشنهای تحت وب جلوگیری شود. در این مرحله، شما میتوانید سطح حساسیت، دامنههای خاص و حتی تنظیمات پیشرفته را به دلخواه خود سفارشیسازی کنید.
تنظیم سطح حساسیت و سیاستهای امنیتی
ModSecurity این امکان را به شما میدهد که شدت واکنش نسبت به تهدیدات احتمالی را تنظیم کنید. این موضوع از طریق انتخاب سیاستهای امنیتی و تعیین سطح ثبت لاگها قابل کنترل است. برای این کار:
-
وارد WHM شوید و به بخش ModSecurity Configuration بروید.
-
در قسمت Audit Log Level میتوانید سطح گزارشدهی را از بین گزینههایی مانند
Off
,On
,Relevant Only
وFull
انتخاب کنید. -
برای جلوگیری از خطاهای غیرضروری، گزینه Relevant Only توصیه میشود، چون فقط لاگهای مهم ثبت میشوند.
در همین بخش میتوانید تصمیم بگیرید که آیا ModSecurity برای تمامی دامنهها فعال باشد یا فقط برای برخی از آنها.
فعالسازی یا غیرفعالسازی برای دامنههای خاص
گاهی لازم است ModSecurity برای یک یا چند دامنه خاص غیرفعال یا تنظیم شود، بهخصوص زمانی که برخی Rule ها با افزونهها یا اسکریپتهای خاص تداخل دارند. برای این کار:
-
از طریق WHM به مسیر ModSecurity Tools > Domains بروید.
-
لیستی از تمام دامنههای موجود روی سرور را مشاهده میکنید.
-
از طریق گزینههای موجود میتوانید ModSecurity را برای هر دامنه بهصورت جداگانه فعال یا غیرفعال کنید.
این قابلیت، یکی از مزایای مهم نصب ModSecurity در cPanel است که انعطافپذیری بسیار خوبی را برای مدیریت امنیت فراهم میکند.
اعمال تنظیمات سفارشی
اگر نیاز به کنترل دقیقتری دارید، WHM این امکان را فراهم کرده تا تنظیمات سفارشی روی Ruleها اعمال کنید. برخی اقدامات معمول در این بخش عبارتاند از:
-
غیرفعالسازی Rule با شناسه خاص (Rule ID): مناسب زمانی که یک Rule خاص باعث بلاک شدن فعالیتهای مشروع میشود.
-
ایجاد Exclusion برای مسیر یا پارامتر خاص: برای جلوگیری از مسدود شدن درخواستهای معتبر.
-
نوشتن Rule اختصاصی: برای سناریوهای خاص امنیتی یا شرایط ویژه هر اپلیکیشن.
برای این موارد، میتوانید از قسمت ModSecurity Tools > Rules استفاده کرده و Ruleهای موجود را ویرایش یا Rule جدیدی تعریف کنید.
بررسی لاگها و مدیریت خطاها
یکی از مراحل کلیدی پس از نصب ModSecurity در cPanel، بررسی لاگها و مدیریت خطاهای احتمالی است. اگرچه ModSecurity بهصورت خودکار تلاش میکند از حملات جلوگیری کند، اما گاهی اوقات ممکن است قوانین امنیتی آن باعث بلاک شدن درخواستهای معتبر شوند. در این بخش میپردازیم به اینکه چطور لاگها را بررسی کنیم، خطاها را تحلیل کنیم و در صورت لزوم، Rule های خاص را غیرفعال کنیم تا تداخلی با اپلیکیشنهای تحت وب ایجاد نشود.
محل ذخیره لاگهای ModSecurity
پس از فعالسازی، ModSecurity شروع به ثبت فعالیتها و هشدارها در فایلهای لاگ میکند. این لاگها منبع اصلی برای تحلیل حملات یا مشکلات احتمالی هستند. بهطور پیشفرض، مسیر لاگهای ModSecurity در cPanel به شکل زیر است:
/usr/local/apache/logs/modsec_audit.log
برای مشاهده این لاگها:
-
میتوانید از طریق SSH وارد سرور شوید و با استفاده از دستور
tail -f
یاless
لاگها را بررسی کنید. -
همچنین از طریق WHM > Mod Security Tools > Audit Log میتوانید لاگها را با رابط گرافیکی مشاهده کنید.
نحوه تحلیل خطاها و رفع مشکلات رایج
در برخی موارد، ModSecurity ممکن است درخواستهای قانونی را بهاشتباه بهعنوان تهدید تشخیص داده و مسدود کند. این خطاها معمولاً با کدهای خطا مانند 403 Forbidden
یا ModSecurity Action Denied
نمایان میشوند.
برای تحلیل این خطاها:
-
لاگ Mod Security را باز کنید و به دنبال عبارتهایی مانند
Message:
یاRule ID:
باشید. -
بررسی کنید که کدام Rule باعث مسدود شدن شده است.
-
مشخص کنید که آیا این اقدام واقعاً مخرب بوده یا یک False Positive (هشدار اشتباه) است.
مثال از خروجی لاگ: