وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

ModSecurity و Comodo WAF در دایرکت ادمین

ModSecurity و مجموعه‌قواعد Comodo WAF می‌توانند درخواست‌های مشکوک را محدود کنند. سازگاری engine و وب‌سرور و خطای مثبت کاذب باید بررسی شود.

انتشار:
آخرین ویرایش:
توسط مصطفی جانقربان
۴ دقیقه زمان مطالعه
۸ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله ModSecurity و Comodo WAF در دایرکت ادمین در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
ModSecurity درخواست‌های ورودی سایت را با قوانین امنیتی مقایسه می‌کند. مجموعهٔ قوانین Comodo یکی از انتخاب‌هاست. اگر یک کاربر هنگام ارسال فرم سالم خطا می‌گیرد، اول باید بدانیم آیا یکی از همین قوانین او را متوقف کرده یا خود برنامه خطا داده است.

وقتی فرم سالم سایت توسط WAF متوقف می‌شود

ساعت ارسال فرم، نام صفحه و متن خطا را یادداشت کنید. مدیر در گزارش ModSecurity به دنبال درخواست همان زمان می‌گردد و شناسهٔ قانون را پیدا می‌کند. شناسهٔ قانون با IP مشتری فرق دارد؛ این عدد کمک می‌کند دقیقاً همان تشخیص را بررسی کنیم.
اگر معلوم شد قانون، ورودی مجاز را اشتباه تشخیص داده، استثنا باید برای همان قانون و همان مسیر لازم تعریف شود. خاموش کردن کل ModSecurity همهٔ سایت‌ها را از این بررسی محروم می‌کند. پس از اصلاح، فرم سالم را دوباره ارسال کنید و مطمئن شوید قانون‌های دیگر هنوز فعال‌اند. نصب مجموعهٔ Comodo را نیز باید از گزینه‌های پشتیبانی‌شدهٔ CustomBuild همان سرور انجام داد، نه با فایل‌های ناشناسِ هم‌نام.

محیط وب‌سرور را پیدا کنید

نسخهٔ دایرکت ادمین، وب‌سرور و وضعیت فعلی ModSecurity را بررسی کنید. در یک محیط مدیریت‌شده، تنظیمات معمولاً توسط CustomBuild ساخته می‌شوند. بنابراین محل تغییر باید پایدار باشد؛ ویرایش مستقیم فایل تولیدشده ممکن است با بازسازی بعدی از بین برود. حساب معمولی هاست نیز مجوز نصب سراسری سرور را ندارد.
اگر از قبل مجموعهٔ قانون دیگری فعال است، ابتدا سیاست جابه‌جایی را مشخص کنید. فعال کردن چند تنظیم متعارض بدون شناخت ترتیب اجرا، نتیجهٔ واضحی نمی‌دهد. از گزینه‌ها و استثناهای قبلی نسخه بگیرید و یک دامنهٔ آزمایشی برای بررسی فرم، ورود و آپلود آماده کنید.

فعال کردن روش مستندشده

در نصب فعلی دارای ابزار da، مستندات DirectAdmin فعال‌سازی ModSecurity و انتخاب ruleset را توضیح می‌دهد. گزینهٔ modsecurity باید فعال و modsecurity_ruleset متناسب با مجموعهٔ انتخابی باشد. فرمان ساخت، مؤلفهٔ موردنظر را آماده می‌کند؛ نتیجهٔ آن باید در خروجی و سرویس واقعی بررسی شود.
پس از فعال‌سازی، مسیر لاگ را مطابق وب‌سرور پیدا کنید. Apache و Nginx ممکن است مسیر یکسانی نداشته باشند. یک پیام مسدودسازی باید همراه با دامنه، زمان و شمارهٔ قانون خوانده شود. تنها دیدن وضعیت فعال در پنل، اثبات نمی‌کند درخواست دامنهٔ شما واقعاً از موتور عبور می‌کند.

رسیدگی به مسدود شدن درخواست سالم

ورود مدیر، ارسال فرم، بارگذاری تصویر و مسیرهای فروشگاه را آزمایش کنید. اگر یک درخواست سالم مسدود شد، همان درخواست و شمارهٔ قانون را بررسی کنید. خاموش کردن کل WAF برای رفع یک خطای فرم، دامنهٔ حفاظت را بیش از نیاز کاهش می‌دهد. استثنا باید در کوچک‌ترین محدودهٔ لازم تعریف و دوباره امتحان شود.
در سطح کاربر، بخش Advanced Features و Web Application Firewall می‌تواند وضعیت و لاگ دامنه را نشان دهد. دسترسی و امکانات آن به سیاست مدیر وابسته است. قانون غیرفعال‌شده در سطح سراسری ممکن است در سطح حساب قابل فعال‌سازی دوباره نباشد؛ این تفاوت برای تشخیص اثر استثنا مهم است.

نگهداری بعد از نصب

استثناهای ساخته‌شده و علت هر کدام را ثبت کنید. پس از به‌روزرسانی قواعد، مسیرهای مهم برنامه را دوباره امتحان کنید. یک استثنای قدیمی ممکن است دیگر لازم نباشد یا بیش از حد گسترده باشد. قابلیت اسکن آپلود نیز نیازمند پیش‌نیاز و تنظیم جداگانه است و صرف فعال بودن WAF آن را تضمین نمی‌کند.
نتیجهٔ خوب یعنی درخواست سالم کاربران انجام شود، درخواست آزمایشیِ مشمول قانون با دلیل روشن ثبت شود و تنظیمات در بازسازی پنل باقی بمانند. گزارش خطا باید به اصلاح هدفمند کمک کند، نه اینکه هر بار با خاموش کردن همهٔ قواعد از آن عبور کنیم.

منابع و ادامهٔ مطالعه

دیدگاه‌ها (۸)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام

داود

۱۳۹۴/۹/۱۳ ۲۰:۱۶:۰۶
پاسخ

سلام ممنون از اموزش خوبتون
چند تا سوال داشتم
1-واقعا رایگان هست؟ داخل سایتش هم زده هست ، ولی یه قسمت زده واسه ثبت نام که محصول رو میخری ، ولی به صورت رایگان و لایسنس هم بهت میده ، و زده این لایسنس تا یک سال اعتبار داره ، جریانش چیه ؟ چه جوریه؟
2- با سرور های ایرانی مشکلی نداره؟ چون هنگام ثبت نام ، نام ایران توش نبود، نصب نکنیم بلاکمون کنن :D
3- سایت من جوملا هست ، اون گزینه رو فعال کنم ، امکان داره مشکل ساز شه؟ مثلا موقع ثبت نام و ...

مصطفی جانقربان

نویسنده مقاله
۱۳۹۴/۹/۱۳ ۲۱:۰۵:۱۸
پاسخ

با سلام و احترام
خواهش می کنم.
1-بله رایگان هست ، در مورد لایسنس بله ما هم مشاهده کردیم که 1 ساله است اما قیمت تمدیدی مشاهده نکردیم فعلا برای 1 سال اول نصب کنید.
2-خیر مشکلی نداره در سرور ایران قبلا تست کرده ایم. مشخصات ایرانی در زمان ثبت نام وارد نکنید.
3-مشکلی نداره اما حتما چک کنید. همچنین این فایروال جوملا production هم دارد که سعی کنید فعال کنید.

موفق باشید

داود

۱۳۹۴/۹/۱۴ ۱۶:۳۱:۱۰
پاسخ

با سلام
custom buld 2.0 رو خواست منصب کنم ، خب نصب کردم ولی تنظیمات رفت پیشفرض دیگه مجبور شدم بدمش از اونجایی که سرویس گرفتم برام کانفیگش کنن
حالا comodo رو برام نصب کردن ولی وقتی ، تغییری توش میدم ذخیره میکنم ، ظاهرا ذخیره میشه ، اما وقتی صفحه رو رفرش میکنم باز برمگیرده به حالت اول
مثلا میخوام ، یوزر پسورد رو توش وارد کنم بعد از اینکه ذخیره کردم و صفحه روفرش کردم ، دوباره میگه یوزر پسورد وارد کن
مشکلش چیه؟ شما میدونید؟

مصطفی جانقربان

نویسنده مقاله
۱۳۹۴/۹/۱۵ ۱۲:۵۰:۱۹
پاسخ

سلام
از این سرویس استفاده کنید :
https://www.netaram.com/%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%b3%d8%b1%d9%88%d8%b1-%d9%be%d8%b4%d8%aa%db%8c%d8%a8%d8%a7%d9%86%db%8c-%d9%81%d9%86%db%8c-%d8%b3%d8%b1%d9%88%d8%b1/

علی

۱۳۹۵/۳/۱۷ ۴:۴۹:۳۶
پاسخ

سلام
بعد از نصب این خطا از چیه ؟

Restarting nginx.
Starting nginx: nginx: [emerg] ModSecurityConfig in /etc/nginx/nginx-modsecurity-enable.conf:2: Cannot open config file: /etc/cwaf/cwaf.conf

مصطفی جانقربان

نویسنده مقاله
۱۳۹۵/۳/۲۱ ۱۳:۲۲:۵۷
پاسخ

با سلام و احترام
از nginx به صورت reverse proxy در کنار apache استفاده می کنید یا تنها ؟

موفق باشید

علی

۱۳۹۵/۳/۲۴ ۸:۴۲:۳۶
پاسخ

سلام
reverse proxy
یکبار در فایل /etc/nginx/nginx-modsecurity-enable.conf:
این مسیر زیر رو include کردم مشکل حل شد
/etc/cwaf/cwaf.conf
و دوباره modsecurity رو کامپایل کردم.

به درستی کار میکند.این روش درست است؟

مصطفی جانقربان

نویسنده مقاله
۱۳۹۵/۸/۱۸ ۷:۴۸:۵۳
پاسخ

با سلام و عرض ادب
در مورد reverse proxy ، پلاگین comodo اطلاعی ندارم.
بررسی کردید که این پلاگین لود شده است یا خیر ؟ در صفحه افزونه .

موفق باشید