smh2000
June 20th, 2014, 13:58
در این تاپیک قصد دارم نصب یکی از پر کاربرد ترین برنامه های لینوکسی آموزش دهم ، شاید برای شما که یک مدیر سرور لینوکسی هستید بسیار پیش آمده باشد که با حملاتی به سرور خود رو به رو شده باشید ، که روش های متعددی برای جلوگیری از این حملات وجود دارد ، که به دو دسته سخت افزاری و نرم افزاری تقسیم می شوند ، ما باید بتوانیم به صورت نرم افزاری بهترین روش ها را برای جلوگیری از حملاتی همچون DDOS Attacks , Flood Attacks و … به کار گیریم ، یکی از این روش ها نصب برنامه های Anti DDos می باشد در زیر آموزش نصب یکی از پرکاربرد ترین های آن را برای شما می آوریم .
مرحله ۱ ) وارد SSH سرور لینوکسی خود شوید .
مرحله ۲ ) توسط دستور زیر برنامه مربوطه را دانلود کنید .
کد:
wget http://www.inetbase.com/scripts/ddos/install.sh
مرحله ۳ ) پس از اتمام دانلود توسط دستور زیر برنامه را نصب کنید .
کد:
sh install.sh
مرحله ۴ ) توسط دستور زیر فایل پیکربندی را باز کنید .
کد:
nano /usr/local/ddos/ddos.conf
در فایل باز شده می توانید max connections هایی که می توانید یک IP داشته باشد را تعیین کنید که متوسط آن ۱۵۰ می باشد که نسبت به قدرت سرور شما متغییر است و هر چه سرور قدرتمندتری داشته باشید تعداد آن بالا می رود . سپس توسط CTRL+X و زدن کلید Y فایل را ذخیره کنید .
نصب و پیکربندی با موفقیت اتمام یافت .
-------------------------------------------------------------------------
برای جلوگیری از حملات DDos که مخفف Distributed Denial Of Service Attack میباشد روشهای گوناگونی موجود است، ولی یکی از بهترین روشهای نرم افزاری موجود نصب DDos Deflate می باشد که کمک شایانی جهت دفع اینگونه حملات میکند.
طریقه نصب:
ابتدا بوسیله برنامه Putty وارد SSH سرور مجازی یا اختصاصی خود شوید و دستورات زیر را به ترتیب اجرا نمایید:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
install.sh/.
برای اجرا دستور زیر استفاده میکنیم:
sh /usr/local/ddos/ddos.sh تنظیم DOS_Deflate :
فایل پیکربندی را با یک ویرایشگر باز میکنیم:
nano /usr/local/ddos/ddos.conf مقدار زیر را قرار پیدا و به صورت زیر ویرایش کرده:
EMAIL_TO=”your_email@domain.com” بجای your_email@domain.com ایمیل خود را بنویسید، در این موقع، هر IP که Banned بشود به شما اخطار میدهد.
هر IP چه مقداردر دقیقه کانکشن داشته باشد:
FREQ=5 3 تا ۵ بهترین مقدار برای این پارامتر هست.
بیشترین connection که هر IP میتواند داشته باشد را مشخص کنید:
NO_OF_CONNECTIONS=100 مقدار بین ۱۰۰ تا ۲۰۰ میتواند بهترین مقدار باشد.
در Dos_Deflate توسط APF بن کنید:
اگر فایروال APF نصب دارید میتوانید این مقدار را برابر با یک قرار دهید. اگر نه توسط CSF یا … عملیات Ban کردن را انجام میدهید برابر با صفر قرار دهید.
APF_BAN=0 اگر میخواهید IP مورد نظر توسط DOS_Deflate بن شود مقدار زیر را برابر با یک قرار دهید در غیر این صورت صفر بگذارید
KILL=1
IP Address های متخلف چه مقدار در حالت معلق باقی بمانند؟
BAN_PERIOD=700
بهترین مقدار ۳۰۰ تا ۱۱۰۰ است.
۲- بهینه سازی وب سرور Apache :
البته پیشنهاد ما این است که شما از وب سرور های قدرتمند دیگری همچون Litespeed یا nginx استفاده کنید.
ابتدا با دستور زیر فایل پیکربندی آپاچی وب سرور را پیدا کنید:
locate httpd.conf مقدار Timeout را کمتر کنید:
Timeout 200 مقدار KeepAliveTime را کمتر کنید:
KeepAliveTime به معنای حداکثر انتظار وب سرور برای پاسخ به کاربر میباشد.
KeepAliveTime 10 قابلیت KeepAlive را خاموش کنید:
KeepAlive Off اگریک Connection بیشتر از یک درخواست دارد به طور مدام به آن اجازه ندهد. در واقع KeepAlive وظیفه اش زنده نگه داشتن Connection است.
KeepAlive Off مقدار MaxClients را کمتر کنید:
MaxClients به معنای : بیشترین تعداد پروسس هایی که هر Client میتواند داشته باشد.
MaxClients 50 نصب و پیکربندی mod_evasive
یکی از راه های مقابله با حملات Dos استفاده از mod_evasive است. این ابزار یک ماژول تحت Apache و برای سرورهای لینوکس است که درخواست ها را کنترل می کند و از جاری شدن سیل عظیم آن (Flood) جلوگیری می کند. این کار بر اساس تعداد درخواست های مجاز تعیین شده در بخش تنظیمات صورت می گیرد. این ماژول آدرس IP که بیش از حد مجاز درخواست می فرستد را بصورت پیش فرض برای ۱۰ دقیقه مسدود (Block) می کند که این مقدار نیز قابل تغییر است.
mod_evasive نسخه به روز شده همان ماژول mod_dosevasive است که در تاریخ Feb 1 2005 بصورت استفاده عمومی ارائه شده است.
نکته: این ماژول مشکلاتی را با Frontpage Server Extensions دارد و احتمال از کار انداختن آن را ایجاد می کند.
در ضمن پیشنهاد میشود Frontpage بر روی سرور خود پاک و یا غیر فعال کنید.
cd /usr/local/src
wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
tar -zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive
apxs -cia mod_evasive20.c در فایل پیرکبرندی وب سرور آپاچی httpd.conf مقادیر زیر را قرار دهید:
اگر نسخه آپاچی شما ۲٫۰٫x هست :
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
</IfModule> اگر نسخه آپاچی وب سرور شما ۱٫۰x هست:
<IfModule mod_evasive.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule> سپس وب سرور خود را restart دهید.
service httpd restart 3- دیواره آتشین نصب کنید.
اگر از CSF استفاده میکنید ، میتوانید تنظیمات زیر را اعمال نمایید:
وارد تنظیمات فایروال شوید،
CT_LIMIT = تعداد کانکشن هایی که هر کلاینت با هر IP میتواند داشته باشد را تعیین میکند.
CT_INTERVAL = هر چه مدت، چه مدت دیواره آتشین شما کانکشن ها و وضعیت را بررسی کند.
CT_EMAIL_ALERT هر IP که بن میشود یا .. به شما گزارش بدهد یا خیر (از طریق ایمیل)
CT_PERMANENT
این مقدار را اگ برابر با صفر قراردهید هر IP نمیتواند به طور همیشه بن باشد. اگر یک قرار دهید . هر IP که بن میشود واسه همیشه بن خواهد شد.
CT_BLOCK_TIME =
IP که بن میشود چه مدت معلق بماند؟! مقدار ۱۸۰۰ یا ۵۰۰ مقداری خوبی است.
CT_SKIP_TIME_WAIT
برابر با صفر باشد.
CT_STATES =
آمار از سرور به شما ارائه میدهد. اینکه هر IP چند کانکشن دارد و …
CT_PORTS
پورت ها را با , از هم جدا کنید. مثلا: ۸۰,۴۴۳,۲۵
۴- یافتن حملات و درخواست هایی از نوع sync
netstat -an|grep :80
با دستور فوق تمام کانکشن هایی که به پورت ۸۰ وصل هستند را نمایش میدهد ، سپس دستور زیر را وارد میکنیم تا ببنیم کجا با SYN_RECV شروع شده است
netstat -an|grep SYN_RECV
تعداد کانکشن های آپاجی و تعداد کانکشن های SYN_RECV :
netstat -an|grep :80|wc -l
netstat -an|grep SYN_RECV|wc -l
و برای حذف این برنامه میتوانید از دستورات زیر بهره بگیرید :
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
uninstall.ddos/.
موفق باشید .
منبع سایت ایران سون استار (http://ir7star.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%86%D8%B5%D8%A8-anti-ddos-%D8%AF%D8%B1-%D8%B3%D8%B1%D9%88%D8%B1-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%AC%D9%84%D9%88%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A7%D8%B2-dd/)
مرحله ۱ ) وارد SSH سرور لینوکسی خود شوید .
مرحله ۲ ) توسط دستور زیر برنامه مربوطه را دانلود کنید .
کد:
wget http://www.inetbase.com/scripts/ddos/install.sh
مرحله ۳ ) پس از اتمام دانلود توسط دستور زیر برنامه را نصب کنید .
کد:
sh install.sh
مرحله ۴ ) توسط دستور زیر فایل پیکربندی را باز کنید .
کد:
nano /usr/local/ddos/ddos.conf
در فایل باز شده می توانید max connections هایی که می توانید یک IP داشته باشد را تعیین کنید که متوسط آن ۱۵۰ می باشد که نسبت به قدرت سرور شما متغییر است و هر چه سرور قدرتمندتری داشته باشید تعداد آن بالا می رود . سپس توسط CTRL+X و زدن کلید Y فایل را ذخیره کنید .
نصب و پیکربندی با موفقیت اتمام یافت .
-------------------------------------------------------------------------
برای جلوگیری از حملات DDos که مخفف Distributed Denial Of Service Attack میباشد روشهای گوناگونی موجود است، ولی یکی از بهترین روشهای نرم افزاری موجود نصب DDos Deflate می باشد که کمک شایانی جهت دفع اینگونه حملات میکند.
طریقه نصب:
ابتدا بوسیله برنامه Putty وارد SSH سرور مجازی یا اختصاصی خود شوید و دستورات زیر را به ترتیب اجرا نمایید:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
install.sh/.
برای اجرا دستور زیر استفاده میکنیم:
sh /usr/local/ddos/ddos.sh تنظیم DOS_Deflate :
فایل پیکربندی را با یک ویرایشگر باز میکنیم:
nano /usr/local/ddos/ddos.conf مقدار زیر را قرار پیدا و به صورت زیر ویرایش کرده:
EMAIL_TO=”your_email@domain.com” بجای your_email@domain.com ایمیل خود را بنویسید، در این موقع، هر IP که Banned بشود به شما اخطار میدهد.
هر IP چه مقداردر دقیقه کانکشن داشته باشد:
FREQ=5 3 تا ۵ بهترین مقدار برای این پارامتر هست.
بیشترین connection که هر IP میتواند داشته باشد را مشخص کنید:
NO_OF_CONNECTIONS=100 مقدار بین ۱۰۰ تا ۲۰۰ میتواند بهترین مقدار باشد.
در Dos_Deflate توسط APF بن کنید:
اگر فایروال APF نصب دارید میتوانید این مقدار را برابر با یک قرار دهید. اگر نه توسط CSF یا … عملیات Ban کردن را انجام میدهید برابر با صفر قرار دهید.
APF_BAN=0 اگر میخواهید IP مورد نظر توسط DOS_Deflate بن شود مقدار زیر را برابر با یک قرار دهید در غیر این صورت صفر بگذارید
KILL=1
IP Address های متخلف چه مقدار در حالت معلق باقی بمانند؟
BAN_PERIOD=700
بهترین مقدار ۳۰۰ تا ۱۱۰۰ است.
۲- بهینه سازی وب سرور Apache :
البته پیشنهاد ما این است که شما از وب سرور های قدرتمند دیگری همچون Litespeed یا nginx استفاده کنید.
ابتدا با دستور زیر فایل پیکربندی آپاچی وب سرور را پیدا کنید:
locate httpd.conf مقدار Timeout را کمتر کنید:
Timeout 200 مقدار KeepAliveTime را کمتر کنید:
KeepAliveTime به معنای حداکثر انتظار وب سرور برای پاسخ به کاربر میباشد.
KeepAliveTime 10 قابلیت KeepAlive را خاموش کنید:
KeepAlive Off اگریک Connection بیشتر از یک درخواست دارد به طور مدام به آن اجازه ندهد. در واقع KeepAlive وظیفه اش زنده نگه داشتن Connection است.
KeepAlive Off مقدار MaxClients را کمتر کنید:
MaxClients به معنای : بیشترین تعداد پروسس هایی که هر Client میتواند داشته باشد.
MaxClients 50 نصب و پیکربندی mod_evasive
یکی از راه های مقابله با حملات Dos استفاده از mod_evasive است. این ابزار یک ماژول تحت Apache و برای سرورهای لینوکس است که درخواست ها را کنترل می کند و از جاری شدن سیل عظیم آن (Flood) جلوگیری می کند. این کار بر اساس تعداد درخواست های مجاز تعیین شده در بخش تنظیمات صورت می گیرد. این ماژول آدرس IP که بیش از حد مجاز درخواست می فرستد را بصورت پیش فرض برای ۱۰ دقیقه مسدود (Block) می کند که این مقدار نیز قابل تغییر است.
mod_evasive نسخه به روز شده همان ماژول mod_dosevasive است که در تاریخ Feb 1 2005 بصورت استفاده عمومی ارائه شده است.
نکته: این ماژول مشکلاتی را با Frontpage Server Extensions دارد و احتمال از کار انداختن آن را ایجاد می کند.
در ضمن پیشنهاد میشود Frontpage بر روی سرور خود پاک و یا غیر فعال کنید.
cd /usr/local/src
wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
tar -zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive
apxs -cia mod_evasive20.c در فایل پیرکبرندی وب سرور آپاچی httpd.conf مقادیر زیر را قرار دهید:
اگر نسخه آپاچی شما ۲٫۰٫x هست :
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600
</IfModule> اگر نسخه آپاچی وب سرور شما ۱٫۰x هست:
<IfModule mod_evasive.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule> سپس وب سرور خود را restart دهید.
service httpd restart 3- دیواره آتشین نصب کنید.
اگر از CSF استفاده میکنید ، میتوانید تنظیمات زیر را اعمال نمایید:
وارد تنظیمات فایروال شوید،
CT_LIMIT = تعداد کانکشن هایی که هر کلاینت با هر IP میتواند داشته باشد را تعیین میکند.
CT_INTERVAL = هر چه مدت، چه مدت دیواره آتشین شما کانکشن ها و وضعیت را بررسی کند.
CT_EMAIL_ALERT هر IP که بن میشود یا .. به شما گزارش بدهد یا خیر (از طریق ایمیل)
CT_PERMANENT
این مقدار را اگ برابر با صفر قراردهید هر IP نمیتواند به طور همیشه بن باشد. اگر یک قرار دهید . هر IP که بن میشود واسه همیشه بن خواهد شد.
CT_BLOCK_TIME =
IP که بن میشود چه مدت معلق بماند؟! مقدار ۱۸۰۰ یا ۵۰۰ مقداری خوبی است.
CT_SKIP_TIME_WAIT
برابر با صفر باشد.
CT_STATES =
آمار از سرور به شما ارائه میدهد. اینکه هر IP چند کانکشن دارد و …
CT_PORTS
پورت ها را با , از هم جدا کنید. مثلا: ۸۰,۴۴۳,۲۵
۴- یافتن حملات و درخواست هایی از نوع sync
netstat -an|grep :80
با دستور فوق تمام کانکشن هایی که به پورت ۸۰ وصل هستند را نمایش میدهد ، سپس دستور زیر را وارد میکنیم تا ببنیم کجا با SYN_RECV شروع شده است
netstat -an|grep SYN_RECV
تعداد کانکشن های آپاجی و تعداد کانکشن های SYN_RECV :
netstat -an|grep :80|wc -l
netstat -an|grep SYN_RECV|wc -l
و برای حذف این برنامه میتوانید از دستورات زیر بهره بگیرید :
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
uninstall.ddos/.
موفق باشید .
منبع سایت ایران سون استار (http://ir7star.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%86%D8%B5%D8%A8-anti-ddos-%D8%AF%D8%B1-%D8%B3%D8%B1%D9%88%D8%B1-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3%DB%8C-%D8%AC%D9%84%D9%88%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A7%D8%B2-dd/)