PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راه های مقابله با حملات DOS/DDoS



آگونیس
May 19th, 2012, 15:47
شاید به جراًت بتوان گفت که مهم ترین دغدغه ی یک مدیر سرور مقابله با حملات DDOS/DOS است. در این پست قصد داریم چندین روش برای مقابله با این نوع حملات به شما ارائه دهیم. البته ناگفته نماند که هیچگاه نمیتوان به طور ۱۰۰% جلوی اینگونه از حملات را گرفت.

تمام عملیات های این پست به صورت نرم افزاری است.
۱- نصب و راه اندازی Dos_Deflate
این ابزار این قابلیت را به شما میدهد که بوسیله آن بتوانید یک سری اطلاعات از IP هایی که به سرور متصل هستند بدست بیاورید. که هر IP چند Connection دارد و این که هر IP چندتا Connectrion بتواند داشته باشد. همینطور شما میتوانید در تنظیمات این ابزار تعیین کنید که گزارش را به ایمیل شما ارسال کند.
دانلود کنید:


wget http://www.inetbase.com/scripts/ddos/install.sh عملیات نصب را آغاز میکنیم:


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
نصب و تنظیم BFD
اگر از 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 منبع: linuxtalk.ir (http://www.LinuxTalk.ir)

hannah
May 19th, 2012, 18:34
صرفا جهت اطلاع : به این میگن یک آموزش خوب و به درد بخور :53:

( نه واسه کسایی که میان تو آموزششون میگن که URL جیست و Download چیست اصلا اینترنت چیه این نشد آموزش )

saeed_m27
May 19th, 2012, 18:39
عزیز میشه یه آموزشی بزاری واسه بستن پرت های دردسر ساز تو ویندوز که اینقدر نچرخیم چون میدونم شما واقعا ریز بین هستین و واضح توضیح میدین ممنون میشم یه آموزشی کامل هم در این مورد بزاری

آگونیس
May 19th, 2012, 18:44
عزیز میشه یه آموزشی بزاری واسه بستن پرت های دردسر ساز تو ویندوز که اینقدر نچرخیم چون میدونم شما واقعا ریز بین هستین و واضح توضیح میدین ممنون میشم یه آموزشی کامل هم در این مورد بزاری

چشم انجام می شه

parasto
June 3rd, 2012, 14:50
من اولین باری بودکه ازمطالبتون استفاده کردم عالی بود مررررررررررررررسی

Woshka
June 3rd, 2012, 15:02
اینکه برای مثال maxclient رو کم کنید جلوی dos رو نمیگیره و فقط فشار به سرور کمتر میشه و همه سایت ها در حمله دان می شوند!

serverstar.ir
June 3rd, 2012, 15:04
نمیدونم چرا همه آموزشها واسه لینوکس هست :دی

sellpad
June 3rd, 2012, 18:12
اقا چطوری در ویندوز جلو دی داس رو بگیریم؟

mahosseini
June 15th, 2012, 19:08
اینکه برای مثال maxclient رو کم کنید جلوی dos رو نمیگیره و فقط فشار به سرور کمتر میشه و همه سایت ها در حمله دان می شوند!

maxclient چه پارامتری رو عوض می کنه آقای Woshka (http://www.webhostingtalk.ir/member/737/) عزیز ?

Woshka
June 15th, 2012, 21:15
محدودیت حد اکثر تعداد درخواست هایی که می تواند پردازش کند رو تعیین می کنه
حالا اگر این رو کم کنید و دی داس شید خوب اون میزان سریع پر میشه و دیگه سایت ها دان میشن و دی داس کار خودش رو می کنه
اگر هم زیاد باشه دی داس منابع سرور رو آنقدر مصرف می کنه و فشار به سی پی یو میاره که لود سرور میزنه بالا و باز هم دان می شوید

eh334n
June 15th, 2012, 21:18
اینا جواب نمیده داداش دی داس رووو نمیشه جلوش رووووو گرفت

mahosseini
June 15th, 2012, 22:10
لطفا این متن رو بخونید دوست عزیز

MaxClients

Maximum number of connections that will be processed simultaneouslyThe MaxClients directive sets the limit on the number of simultaneous requests that will be served. Any connection attempts over the MaxClients limit will normally be queued, up to a number based on the ListenBacklog (http://httpd.apache.org/docs/2.0/mod/mpm_common.html#listenbacklog) directive. Once a child process is freed at the end of a different request, the connection will then be serviced.

For non-threaded servers (i.e., prefork (http://httpd.apache.org/docs/2.0/mod/prefork.html)), MaxClients translates into the maximum number of child processes that will be launched to serve requests. The default value is 256; to increase it, you must also raise ServerLimit (http://httpd.apache.org/docs/2.0/mod/mpm_common.html#serverlimit).
For threaded and hybrid servers (e.g. beos (http://httpd.apache.org/docs/2.0/mod/beos.html) or worker (http://httpd.apache.org/docs/2.0/mod/worker.html)) MaxClients restricts the total number of threads that will be available to serve clients. The default value for beos (http://httpd.apache.org/docs/2.0/mod/beos.html) is 50. For hybrid MPMs the default value is 16 (ServerLimit (http://httpd.apache.org/docs/2.0/mod/mpm_common.html#serverlimit)) multiplied by the value of 25 (ThreadsPerChild (http://httpd.apache.org/docs/2.0/mod/mpm_common.html#threadsperchild)). Therefore, to increase MaxClients to a value that requires more than 16 processes, you must also raise ServerLimit (http://httpd.apache.org/docs/2.0/mod/mpm_common.html#serverlimit).


یعنی حداکثر تعداد ارتباط های که به طور همزمان پردازش خواهد شد

درخواست های بیش از این تعداد بعدا پاسخ داده خواهد شد ، اما وبسایت به دوان نمیشه



به صورت منطقی maxclient باید تعدادی باشه که معمولا بر اساس نوع وبسایت های هاست شده ( استاتیک و یا CMS ) تعیین میشه .

شما با توجه به تعداد افراد انلاین همزمان می تونید این عدد رو به حداقل برسونید تا در حملات تکذیب سرویس حداقل تلافات رو داشته باشید !!

napster
July 1st, 2012, 17:12
لینک mod_evasive کار نمیکند

Woshka
July 1st, 2012, 17:16
این رو ببین لینکش کار می کنه

Woshka&#039;s Experiences - preventing dos attacks with mod_evasive (http://woshka.com/blog/apache/preventing-dos-attacks-with-mod_evasive.html)

dani0111
July 1st, 2012, 17:58
آموزش کاملی بود و حتما باید انجام بشه

Woshka
July 1st, 2012, 18:00
mod_evasive رو ما در آزمایشگاه تست کریدم خوب کار نمیکنه
یک سری دی داس های ساده ی خاص رو می تواند جلوش رو بگیرید

hosseinymb
July 10th, 2012, 12:09
سلام

در حالت کلی با روش های بالا می توان جلوی دی داس را گرفت و دیگر مشکلی برای سرور پیش نمی اید
با تشکر