لیست سفید ModSecurity قابلیتی از این اپلیکیشن است که می‌خواهیم آن را در این مطلب بررسی کنیم. با ما همراه باشید.

ModSecurity می‌تواند به شکلی فعال، تهدیدهای دستگاه‌ها و فعالیت‌های خرابکارانه را رهگیری کند. با این وجود،  گاهی ممکن است حتی برای درخواست‌های معتبر نیز قوانین امنیتی اِعمال شوند. چنین چیزی می‌تواند عملکرد طبیعی یک وب‌سایت را تحت‌تأثیر قرار دهد. در اینجا به شما نشان می‌دهیم که چگونه یک IP را در لیست سفید ModSecurity قرار دهید.

نیاز به لیست سفید ModSecurity

اپلیکیشن ModSecurity مجموعه‌ای از حملات را دفع می‌کند و به مانیتورینگ ترافیک HTTP کمک می‌نماید. در نتیجه، این ابزار می‌تواند جلوی کدهای نفوذکننده را بگیرد و سطح امنیت سرور را ارتقا دهد. درنظر بگیرید که تقریباً ۷۵ درصد حملات به سرورها در سطح اپلیکیشن وب صورت می‌پذیرد.

Mod_security همیشه داده‌های وب‌سایت را فیلتر می‌کند و جلوی نفوذ هکرها به سرور را می‌گیرد. امّا در عین حال، قواعد امنیتی Mod_Security ممکن است جلوی تراکنش‌های معتبر را نیز بگیرد. اینجاست که لیست سفید Modsecurity به کار می‌آید.

مراحل اضافه‌کردن IP به لیست سفید Modsecurity

حالا نوبت به مراحل اصلی اضافه‌کردن یک IP به لیست سفید در Modsecurity است. این موضوع شامل پیدا کردن آدرس IP اصلی برای دسترسی کاربران و سپس اضافه کردن آن به تنظیمات ModSec خواهد بود.

بیایید با جزئیات بیشتر این موضوع را بررسی کنیم.

چگونه آدرس IP و قاعده ModSecurity را پیدا کنیم؟

برای اضافه‌کردن یک IP به لیست سفید در ModSecurity، آدرس IP خودمان یا توسعه‌دهنده را پیدا می‌کنیم. برای این منظور، ابزارهای آنلاین زیادی وجود دارند که برای مشاهده آدرس‌های IP عمومی می‌توانید از آنها استفاده کنید.

در همین حال، می‌توانید IP های ورودی را در ثبت‌وقایع آپاچی با استفاده از فرمان زیر پیدا کنید (به جای “IP here”، مقدار مناسب خود را قرار دهید).


grep ModSec /usr/local/apache/logs/error_log | grep “IP here”

در نتیجه، خروجی‌ای مشابه زیر دریافت می‌کنیم.


[Sat june 25 23:07:04.177701 2019] [:error] [pid 78007:tid 139708457686784] [client xx.xx.xxx.x:30095]

[client xx.xx.xxx.x] ModSecurity: Access denied with code 406 (phase 2).

Pattern match "Mozilla/(4|5)\\\\.0$" at REQUEST_HEADERS:User-Agent.

[file "/etc/apache2/conf.d/modsec2.xxx.conf"] [line "109"] [id "20000221"]

[hostname "yy.yyy.yyy.yyy"] [uri "/db/index.php"] [unique_id "WwjPWChxvG1CO4kz-D55eQAAACU"]

این خروجی شامل اطلاعاتی در مورد IP کلاینت متخلف، شناسه قاعده تخلف‌شده در ModSec و URI و موقعیت شروع خطا می‌باشد.

چگونه یک IP را به لیست سفید ModSecurity اضافه می‌کنیم؟

تا به اینجا، به اهمیت موضوع لیست سفید ModSecurity پی برده‌ایم. حالا روش‌های مختلف اضافه‌کردن IP به این لیست را ببینیم.

وارد لیست‌ کردن IP

وقتی خطای موردنظر را از ModSec دریافت کردیم، باید تنظیمات ModSec را ویرایش کنیم.

۱)  در صورتی که از Easy Apache 4 استفاده می‌کنید، فایل تنظیمات را می‌توانید در آدرس /etc/apache2/conf.d/modsec2/whitelist.conf پیدا کنید.

۲) سپس فایل را در یک ویرایشگر متنی باز می‌کنیم.


vi /etc/apache2/conf.d/modsec2/whitelist.conf

۳) حالا کد زیر را با IP وشناسه مناسب، اضافه می‌کنید.


SecRule REMOTE_ADDR "^xx\.xx\.xxx\.x" "phase:1,nolog,allow,ctl:ruleEngine=off,id:20000221"

به خاطر داشته باشید که آدرس IP باید مطابق فرمت بالا و با علامت‌های (\) و (^) وارد شود.

مجوّز دادن به URL

در برخی موارد، وقتی IP به صورت دینامیک و پویا باشد، بهترین راه این است که آن را با استفاده از URL به لیست سفید ModSecurity اضافه کنیم.

۱) ابتدا فایل تنظیمات را با استفاده از فرمان زیر باز می‌کنیم.


vi /etc/apache2/conf.d/whitelist.conf

۲) حالا متن زیر را در فایل تنظیمات اضافه می‌کنیم.


<LocationMatch "/db/index.php">

SecRuleRemoveById 20000221

</LocationMatch>

به جای /db/index.php آدرس URL و به جای 20000221  کد شناسه مناسب را قرار دهید.

۳) در نهایت، باید از تنظیم مناسب لیست سفید مطمئن شویم. برای این منظور و در Easy Apache 4 داریم:


apachectl -t

۴) این فرمان پاسخ “Syntax Ok” را نتیجه می‌دهد و سپس باید آپاچی را دوباره راه‌اندازی کنیم.


scripts/restartsrv_httpd

استفاده از برنامه مدیریتی Modsec Manager در سی‌پنل

به همین ترتیب می‌توانید از مسیر Cpanel >> Modsec manager نیز IP ها وارد لیست سفید ModSecurity کنیم. به این منظور:

۱) وارد سی‌پنل می‌شویم.

۲) روی آیکون Modsec Manager کلیک می‌کنیم.

استفاده از برنامه مدیریتی Modsec Manager در سی‌پنل

۳) در صفحه Modsec Manager، آدرس IP موردنظر را در بخش “Your current IP is” کپی می‌کنیم.

اضافه کردن IP به لیست سفید Modsecurity در برنامه مدیریتی Modsec Manager

۴) سپس روی دکمه add کلیک می‌کنیم.

۵) در اینجا Modsec Manager پیغامی مبنی بر اضافه‌شدن موفق IP به لیست سفید نشان خواهد داد.

استفاده از WHM

ابزار WHM نیز می‌تواند IP ها را به لیست سفید ModSecurity اضافه کند.

۱) ابتدا باید ببینیم که کدام قاعده ModSecurity مشکل را ایجاد کرده است.

۲) برای این منظور، فرمان مربوطه را برای تشخیص قواعد درگیر ModSecurity اجرا می‌کنیم.

۳) سپس این قواعد را در سرور غیرفعال می‌کنیم.

۴) به WHM وارد شده و سپس به سراغ بخش Plugins می‌رویم.

۵) حالا روی پلاگین “ConfigServer ModSec Control” کلیک می‌کنیم تا برای اضافه‌کردن لیست سفید آماده شویم.

۶) سپس قاعده‌ای را که می‌خواهیم برای لیست سفید انتخاب کنیم در باکس “ModSecurity rule ID list:” اضافه می‌کنیم. سپس باید دکمه Save global whitelist را بزنیم.

۷) پس از ثبت تغییرات، به صفحه‌ای با عنوان “ModSecurity global whitelist saved” هدایت می‌شوید.

۸) در انتها، آپاچی به صورت اتوماتیک، دوباره راه‌اندای می‌شود تا این تغییرات در سرور اِعمال گردند.

استفاده از .htaccess

به همین ترتیب، فایل‌های .htaccess می‌توانند برای اضافه کردن IP ها به لیست سفید ModSecurity مورد استفاده قرار گیرند.

۱) فایل .htaccess را با یک برنامه ویرایشگر متنی باز می‌کنیم.

۲) خط زیر را به فایل .htaccess اضافه می‌کنیم (xxx.xxx.xxx.xx همان IP شماست).


SetEnvIfNoCase REMOTE_ADDR ^xxx.xxx.xxx.xxx$ MODSEC_ENABLE=Off

در نتیجه، IP مشتری شما در لیست سفید قواعد ModSecurity قرار می‌گیرد.

جمع‌بندی

به طور خلاصه باید گفت که ModSecurity ابزاری برای محافظت در برابر حملات و پایش ترافیک وب است. امیدواریم که این مطلب در مورد لیست سفید ModSecurity مورد استفاده قرار گرفته باشد.