سرور مجازی

مراحل نصب و پیکربندی mod_evasive در Centos 7

Installing mod_evasive on Centos 7

مراحل نصب و پیکربندی mod_evasive در Centos 7

 

مقدمه

در این آموزش میخواهیم در خصوص اینکه mod_evasive چیست و چکاری انجام میدهد و مراحل نصب آن در Centos 7 صحبت کنیم. بطور خلاصه mod_evasive یک ماژول برای آپاچی است که در صورت حمله HTTP Distributed Denial of Service (DDoS/DoS) یا حمله Brute force اقدام گریزان را ارائه می دهد.

 

mod_evasive چیست و چه کاری انجام می دهد؟

از آنجایی که سایت ها و اپلیکیشن های تحت وب همواره میتوانند در معرض حملات Dos یا Brute force باشند ممکن است برای شما هم اتفاق افتاده باشد به همین جهت شما میتوانید با نصب mod_evasive در سرور آپاچی خود (سرور مجازی VPS) بسیاری از این حملات را دفع نمایید.
mod_evasive همچنین به عنوان یک ابزار تشخیص و مدیریت شبکه طراحی شده است و به راحتی می توان آن را برای مکالمه با ipchains، فایروال ها، روترها و موارد دیگر پیکربندی کرد. mod_evasive در حال حاضر سوء استفاده را از طریق ایمیل و امکانات syslog گزارش می کند.
نحوه کار mod_evasive به چه صورت میباشد؟
ابزار mod_evasive آپاچی با نظارت بر درخواست های سرور ورودی کار می کند. این ابزار همچنین فعالیت های مشکوک را از یک IP مشاهده می کند،مانند:

  • چندین درخواست برای یک صفحه در یک ثانیه
  •  بیش از ۵۰ درخواست همزمان در ثانیه
  • یکسری درخواست ها در زمانی که IP به طور موقت در لیست سیاه قرار دارد انجام می شود.

اگر هر یک از این موارد رخ دهد، ماژول یک خطای 403 ارسال می کند. به طور پیش فرض، این شامل یک دوره انتظار ۱۰ ثانیه ای در لیست سیاه نیز می شود.

نحوه کار با دستور traceroute در لینوکس
مشاهده

” mod_evasive به شما کمک می کند از طریق شناسایی و مدیریت شبکه در برابر این نوع حملات دفاع کنید. “

 

مراحل نصب mod_evasive در Centos 7

در این آموزش میخواهیم نحوه فعال سازی، پیکربندی و نصب mod_evasive بر روی سیستم عامل centos 7 را به شما عزیزان ارائه دهیم به همین منظور از ابزار توسعه آپاچی لینوکس استفاده می نماییم.

نکته: قبل از نصب توجه داشته باشید که  در سرور آپاچی شما می بایست ماژول mod_so به درستی داخل آن کامپایل شده باشد در غیر اینصورت قادر به اضافه کردن هیچ ماژول سومی روی سرور آپاچی خود نیستید. بعد از کامپایل می توانید با دستور زیر ماژول های فعال شده خود را بررسی نمایید.

# apachectl -M | grep mod_so
  • نصب پیش نیازها 

می خواهیم  mod_evasive را از منبع بسازیم بنابراین لازم است پکیج های زیر را نصب نماییم.

# yum install httpd-devel

#yum groupinstall 'Development tools'

 

نحوه دانلود و کامپایل کردن mod_evasive در فرایند نصب mod_evasive

با استفاده از دستور زیر به دایرکتوری “opt” وارد شده و ماژول mod_evasive را از Github دانلود نمایید.

# cd /opt/

کامند زیر را برای دانلود سورس وارد کنید.

# wget https://codeload.github.com/shivaas/mod_evasive/zip/master

سورس را با دستور زیر از حالت فشرده خارج نمایید.

# unzip master

حالا با نوشتن دستور زیر وارد دایرکتوری دانلود شده شوید.

# cd mod_evasive-master

در این بخش میخواهیم ابزار “apxs” را مورد استفاده قرار دهیم. این ابزار، ابزاری مناسب برای اضافه نمودن اشیا اشتراکی پویا (Dynamic Shared Objects) به سرور آپاچی قبلی است. بنابراین برای اضافه نمودن ماژول mod_evasive از دستور زیر استفاده نمایید:

# apxs -i -c -a mod_evasive24.c

برای اعمال تنظیمات، سرویس آپاچی خود را Restart نمایید.

# systemctl restart httpd

جهت بررسی فعال شدن آپاچی و در حال اجرا بودن آن، لازم است دستور زیر را اجرا نمایید:

# apachectl -M | grep evasive

سپس خروجی زیر به شما نمایش داده خواهد شد:

# evasive24_module (shared)

 

  • پیکربندی mod_evasive

با دستور زیر می توانید تنظیمات خود را در فایل httpd.conf اضافه نمایید:

استریم Stream چیست؟ انتخاب یک سرور لایو استریم خوب
مشاهده

# nano /etc/httpd/conf/httpd.conf

باید در پیکربندی اعداد و ارقام زیر را وارد نمایید:

<IfModule mod_evasive24.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify <YOU@YOURMAIL.COM>
</IfModule>

 

۱) دستور DOSPageCount

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

۲) دستور DOSSiteCount

این دستور همانند دستور قبلی، تعداد درخواست های ارسالی کاربر به سایت را مشخص می نماید.در این حالت نیزاگر تعداد درخواست ها از حد مجاز بگذرد،کاربر مسدود می گردد.

۳) دستور DOSPageInterval

تعداد اینتروال های مجاز در آستانه صفحه ورودی سایت را شمارش می کند.مقدار پیشفرض همانطور که مشاهده می کنید عدد 1 است.

۴) دستور DOSSiteInterval

تعداد اینتروال های مجاز در آستانه سایت را شمارش می کند. مقدار پیشفرض در این حالت نیز عدد 1 است.

همچنین می توانیم میزان زمان مسدودی را با عدد دهی به کد دستوری DOSBlockingPeriod تعیین نماییم. بازه زمانی انتخاب شده توسط ما 60 دقیقه است.بدین صورت که کاربر مسدود شده باید 60 دقیقه در انتظار ارسال درخواست مجدد باقی بماند. هرچه بازه زمانی بیشتر باشد، احتمال دفع حملات HTTP DoS، DDoS یا Brute Force با استفاده از ماژول mod_evasive بیشتر  خواهد بود. لازم به ذکر است که این مقدار دهی بر اساس ثانیه ذکر شده است.

” اگر قرار باشد از سمت ماژول mod_evasive برای شما ایمیل اطلاع رسانی از حمله احتمالی ارسال گردد، لازم است آدرس ایمیل مورد نظر خود را در مقابل DOSEmailNotify وارد نمایید. “

 

” بعد از نصب mod_evasive برای شروع به کار پیکر بندی ماژول mod_evasive و پارامترهای آن فایل متنی که در دایرکتوری سورس قرار داده شده است را مطالعه نمایید. “

 

# cat /opt/mod_evasive/README.md

 

دستورات پرکاربرد لینوکس|دستور apropos
مشاهده

چکیده

شما میتوانید بانصب برنامه mod_evasive در سرور آپاچی خود نسبت به جلوگیری از حملات Dos یا Brute force جلوگیری نمایید و همچنین به عنوان یک ابزار تشخیص و مدیریت شبکه از آن استفاده نمایید تا با خیال راحت تری نسبت به فعالیت های  خود در این راستا ادامه دهید. 

 

پیروز و سربلند باشید 

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

5/5 - (1 vote)
دکمه بازگشت به بالا