ایمن سازی دایرکت ادمین (mod_security)

در دانشنامه پیشین در رابطه با نصب CSF بر روی لینوکس و دایرکت ادمین صحبت نمودیم.در این مقاله به قسمت دوم دانشنامه امنیت در Directadmin خواهیم پرداخت.پس با ما همراه باشید :

ایمن سازی دایرکت ادمین (قسمت دوم ) :

Mod_security یکی از ماژول های وب سرور اپاچی میباشد که از اجرای اسکریپت های تحت وب خطرناک جلوگری به عمل می اورد. Mod_security مانند سپری در برابر برنامه های تحت وب که قصد حمله به سرور را دارند عمل میکند و انها را خنثی میسازد.از این برنامه ها میتوان از cross-site scripting، SQL injection و .. نام برد.این ماژول یک لایه امنیتی مقاوم به وب سرور اضافه می کند و به دلیل استفاده از نرم افزار های تحت وب گوناگون در سرور، میتواند بسیار موثر واقع گردد.در زیر به نحوه نصب Mod_security خواهیم پرداخت :

نصب Mod_security :

به سرور دایرکت ادمین با یوزر روت از طریق SSH لاگین نمایید و تنظیمات اپاچی برای مد سکیوریتی را انجام دهید :

sed -i 's/ServerTokens Major/ServerTokens Full/' /etc/httpd/conf/extra/httpd-default.conf sed -i 's/ServerSignature Off/ServerSignature On/' /etc/httpd/conf/extra/httpd-default.conf sed -i 's/ServerSignature EMail/ServerTokens On/' /etc/httpd/conf/extra/httpd-default.conf

بعد از انجام تنظیمات از کامند های زیر برای دانلود و نصب mod_security میتوانید استفاده نمایید :

cd /usr/local/src mkdir modsecurity2 cd !$ wget https://www.modsecurity.org/tarball/2.7.4/modsecurity-apache_2.7.4.tar.gz tar xzf modsecurity-apache* cd modsecurity-apache* ./configure make make install

قوانین Mod_security :

Mod_security2 در حال حاضر بر روی سرور نصب گردیده است اما دارای قانون یا ruleset برای انجام فرایندی نمی باشد.در مرحله بعد ruleset پیش فرض را نصب خواهیم نمود :

mkdir /etc/modsecurity2 cd !$ wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/master.zip unzip master mv owasp-modsecurity-crs-master/* . rm -rf master owasp-modsecurity-crs-master mv modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf ln -s /etc/modsecurity2test/modsecurity_crs_10_setup.conf /etc/modsecurity2test/activated_rules/modsecurity_crs_10_setup.conf for f in `ls base_rules/` ; do sudo ln -s /etc/modsecurity2test/base_rules/$f activated_rules/$f ; done for f in `ls optional_rules/ | grep comment_spam` ; do sudo ln -s /etc/modsecurity2test/optional_rules/$f activated_rules/$f ; done

حال تمام قواین فعال را در actived_rules باید لیست نمایید :

ls -l /etc/modsecurity2/activated_rules/

سپس فایل /etc/httpd/conf/httpd.conf را باز نمایید و کد ها را زیر خط های LoadModule  وارد نمایید :

LoadFile /usr/local/lib/libxml2.so LoadModule security2_module /usr/lib/apache/mod_security2.so

پیش از بستن فایل httpd.conf عبارت زیر را نیز در انتهای فایل اضافه نمایید :

Include /etc/modsecurity2/activated_rules/*.conf

توجه :ویرایش فایل ها را با استفاده از قرار دادن ویرایشگر Vi یا Nano در ابتدای ادرس فایل مدنظر میتوانید انجام دهید.در Vi برای ذخیره تغییرات از wq: و در Nano از Crtl+O برای ذخیره تغییرات اسفاده نمایید .

نکته : در صورتی که ب روی Centos در حال نصب Mod_security میباشید ممکن است با اروری مانند ارور زیر مواجه شوید :

/usr/bin/ld: cannot find -lexpat
collect2: ld returned 1 exit status
make[1]: *** [mod_security2.la] Error 1
make[1]: Leaving directory `/usr/local/src/modsecurity2/modsecurity-apache_2.7.4/apache2′
make: *** [install-recursive] Error 1

برای رفع این مشکل expat باید بر روی سرور نصب گردد :

yum install expat expat-devel

در مقاله های بعدی در رابطه با افزایش امنیت دایرکت ادمین با تغییر فایل های تنظیماتی و محدودسازی انجام بعضی در پردازش ها، بیشتر صحبت خواهیم نمود.