اگر قصد نصب مودسکوریتی با رولهای شرکت کومودو روی دایرکتادمین رو داشته باشید، ممکنه با اشکالاتی مواجه بشید. خصوصا اگر وبسرور دایرکتادمین شما آپاچی به همراه انجینایکس باشه (nginx_apache) احتمال بروز این خطاها بیشتر میشه و سرویس انجینایکس شما با اشکال مواجه میشه.
اول این که مودسکوریتی چیه؟ مودسکوریتی نوعی WAF یا وب اپلیکیشن فایرواله که با یک سری قوانین از پیش تغیین شده از خرابکاری و نفوذ به سرور شما جلوگیری میکنه. طبیعتا هر سروری که روی شبکه عمومی اینترنت قرار میگیره نیاز به ابزارهایی داره که مانع از بروز اشکال در عملکرد سرور بشن، مودسکوریتی یکی از همین ابزارهاست.
کومودو هم یکی از معتبرترین شرکتهای امنیتیه که برا مودسکوریتی هم یک سری قوانین فایروالی بصورت رایگان ارائه کرده و با وبسرورهای معروف از جمله آپاچی، انجینایکس و لایتاسپید هم سازگاری داره.
خب، اول این که مودسکوریتی کومودو رو چطور روی دایرکتادمین نصب کنیم؟ این کار خیلی ساده توسط کاستومبیلد دایرکتادمین و با دستورات زیر قابل انجامه:
cd /usr/local/directadmin/custombuild ./build update ./build set modsecurity yes ./build set modsecurity_ruleset comodo ./build modsecurity
بعد از اجرای این دستورات اگر نصب به درستی انجام شده باشه، یک گزینه تحت عنوان Comodo WAF تو اینترفیس دایرکتادمین شما اضافه میشه که از طریق اون میتونید رولها رو مدیریت کنید.
اما خب چه اشکالاتی ممکنه تو ستاپ کومودو روی دایرکتادمین مشاهده بشه؟ اولیش اینه که ممکنه پس از اجرای دستورات بالا با خطای زیر مواجه بشید.
ERROR: Not found SUDO utility.\nSUDO required for plugin.\nPlease setup it manually, then rerun this installation.
این خطا به دلیل نصب نبودن sudo روی سرور شماست و با کامند زیر در سرورهای centos:
yum install sudo
و با دستور زیر هم تو سرورهای debian رفع میشه:
apt install sudo
بعد از این که sudo رو نصب کردید کافیه یکبار دیگه دستورات نصب کومودو مودسکوریتی که در بالا گفته شده رو اجرا کنید.
خطاهای دیگری که در ادامه گفته میشه همگی احتمالا به دلیل نصب نبودن پرل روی سرور به وجود میان. پس بهتره ابتدا دستور زیر رو اجرا کنید، و بعد دستورات نصب کومودو مودسکوریتی اجرا بشه.
برای سرورهای centos:
yum install perl-libwww-perl
برای سرورهای debian:
apt install perl-libwww-perl
اگر پرل نصب نباشه، بعد از بیلد مودسکوریتی خطای زیر برای اجرا انجینایکس دریافت میشه:
Restarting nginx. Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
و با اجرای دستور nginx -t ممکنه یکی از خطاهای زیر مشاهده بشه:
nginx: [emerg] "modsecurity_rules_file" directive Rules error File: /usr/local/cwaf/rules/02_Global_Generic.conf
Not found Nginx web server with mod_security enabled
nginx: [emerg] unknown directive "modsecurity" in /etc/nginx/nginx-modsecurity-enable.conf:1 directadmin
unknown directive "modsecurity" in /etc/nginx/nginx-modsecurity-enable.conf:1