آپاچیابونتوامنیتامنیت سرورامنیت کدانجین ایکسسیستم عامللینوکسهکوب سرور

حمله dDos چیست و چگونه از آن جلوگیری کنیم

جلوگیری از دی داس اتک

حمله DDos چیست ؟
DDos مخفف Distributed Denial of Service است .
در این روش یک فرد یا تیم هک سعی میکنند بر اساس مقاصدی که دارند از یک چند کامپیوتر که از طریق ویروس یا تروجان ها به آنها دسترسی دارند منابع موجود در یک کامپیوتر را در شبکه اینترنت هدف قرار دهند.

این منابع میتوانند وب سایت یا وب سایت های هاست شده روی یک سرور یا ایمیل سرور یا برنامه های موجود در سرور یا خود شبکه باشد. پس از انجام این حمله کاربران شبکه ای تحت حمله DDos قرار گرفته است به دلیل محدودیت ایجاد شده در منابع نمیتوانند به درستی از سرویس های خود استفاده نمایند.
حمله های DDos اغلب بصورت سیل آسا متوجه شبکه ها میشود و در این حالت شبکه بصورت کاملاً غیر قابل استفاده مشغول و درگیر این اتصالات مخرب میگردد و درنهایت شبکه به دلایل ذکر شده بسیار کند و از دسترس خارج میگردد.

چرا در نام از کلمه Distributed استفاده شده است ؟
این حملات از کامپیوترهای مختلف به سمت شبکه هدف ارسال میگردد به همین دلیل این نوع حمله موسوم به پخش شونده یا Distributed هستند.کامپیوترهای ارسال کننده توسط ویروس ها و تروجان های مختلف و بسیار کوچک در اختیار هکر قرار گرفته اند .

کدام آی پی سرور ما با آی پی های بیرون از شبکه در اتصال قرار گرفته اند ؟
ممکن است در سرور خود چند آی پی در اختیار داشته باشد. میتوانیم آن آی پی از سرور اختصاصی یا سرور مجازی لینوکس که مورد هدف قرار گرفته است و بیشترین ارتباط را از بیرون دریافت میکند را با دستور زیر استخراج کنیم :

netstat -alpn | grep :80 | awk ‘{print $4}’ |awk -F: ‘{print $(NF-1)}’ |sort |uniq -c | sort -n

چه آی پی هایی از بیرون با آی پی سرور ما در ارتباط قرار گرفته اند ؟
وقت آن است ببینیم چه آی پی هایی از بیرون از سرور به سمت سمت ارتباط گرفته اند یا منتظر اتصال هستند به راحتی میتوانیم با دستور netstat با ترکیب زیر آنها را استخراج کنیم :

netstat -alpn | grep :80 | awk ‘{print $5}’ |awk -F: ‘{print $(NF-1)}’ |sort |uniq -c | sort -n

 چگونه میتوانیم وضعیت اتصال آی پی های بیرون به آی خودم را متوجه شوم ؟

netstat -an|grep “:۸۰″|awk ‘/tcp/ {print $6}’|sort| uniq -c

وضعیت های گزارش شده به شرح زیر خواهند بود :

CLOSING
ESTABLISHED
FIN_WAIT1
FIN_WAIT2
LAST_ACK
LISTEN
SYN_RECV
TIME_WAIT

چه آی پی هایی از بیرون بیشترین تعداد اتصال را به آی پی سرور ما برقرار کرده اند ؟
بعضی از ای پی ها از بیرون از شبکه شما بیش از یک اتصال با سرور شما برقرار میکنند ، این اتصالات همه Attacker نیستتد اما شناسایی آنها میتواند شما را در تشخصی آی پی های مخرب کمک کند:

netstat -anp |grep ‘tcp\|udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n | tail

بعد از شناسایی و آشنایایی با دستورات فوق که بسیار پرکاربرد و مفید هستند وقت آن رسیده که بررسی کنید که آیا واقعاً سرور شما زیر Attack و حمله ای از نوع DDos قرار گرفته است یا خیر .
خروجی دستور زیر را بگیرید :

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n|wc -l

دستور فوق تعداد اتصالات به آی پی شما را میشمارد و نتیجه آن یک عدد خواهد بود اگر تعداد این اتصالات بین ۲۰۰۰ تا ۳۰۰۰ تا باشد احتمالاً سرور اختصاصی یا سرور مجازی شما بر روی آی پی آن درگیر حملات DDos قرار گرفته است.

چگونه حمله از نوع SYN Flood را تشخیص دهیم ؟
دستور زیر را اجرا نمایید ، فرض کنید خروجی دستور زیر عدد ۱۰۳۲ باشد ، در صورتی که همین الان سرور پاسخگوی درخواست نیست نشان میدهد که تعداد زیادی مثلاً ۵۰۰۰ درخواست در ثانیه از سمت کاربران ارسال میگردد که عدد بسیار بزرگی است و نشان دهنده وجود حمله به سرور مجازی یا سرور اختصاصی شماست.
در صورتی که عدد خروجی دستور زیر مثلاً ۱۰۰ یا ۲۰۰ باشد سرور شما به درستی کار میکند و حمله جدی در حال حاضر وجود ندارد.

netstat -nap | grep SYN | wc -l

 با چه دستوری اتصالات از نوع UDP و TCP به آی پی خودمان را پیدا کنیم ؟
دستور زیر بسیار مورد کاربرد برای کشف همه اتصالات TCP و UDP به کارت شبکه سرورمجای یا سرور اختصاصی لینوکس مورد استفاده قرار میگیرد .

netstat -anp |grep ‘tcp\|udp’ | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n

 

نظرات