راهکارهای تشخیص و مبارزه با حمله dos بر روی وبسرورهای لینوکس
حمله dos مخفف عبارت Denial Of Service یا عدم پذیرش سرویس است. حملهای که موجب قطع کار یک سرویس و یا مانع دسترسی به منابعی شود را حمله dos میگویند. به عنوان مثال حملات dos بر روی سرویسدهنده وب یک شرکت میزبان ممکن است باعث قطع دسترسی سایتهای میزبانی شده توسط آن شرکت شود. براساس گزارشات امنیتی که شرکت معروف سیمانتک منتشر میکند درصد این نوع حملات تا مرز 2 برابر و حتی بیشتر در سالهای اخیر افزایش پیدا کرده است.
امروزه حتی بسیاری از سایتهای بزرگ نیز قادر به مقابله با آن نیستند زیرا این نوع حملات به نوعی متفاوتی سازماندهی و برنامهریزی میشوند و در بیشتر اوقات با ایجاد ترافیکی بالا، بستههای عظیمی از TCP را به سمت سرویسهای خدماتدهنده سرازیر میکنند و موجب از کار انداختن و یا مثلا اتمام پهنای باند آن سرویسدهنده میشوند. برای پیشگیری از این نوع حملات همواره روشهای مختلف و گستردهای وجود داشته است اما به روز بودن نرمافزارهای سرویسدهنده، استفاده از دیوارههای آتش سختافزاری، نرمافزاری و حتی برنامههای مخصوص جلوگیری از این حملات توصیه میشود. برای وب سرورهای لینوکس حتما از یک دیوار آتش مناسب و قوی همانند IPtable که به صورت پیش فرض بر روی لینوکس موجود است و یا دیوار آتش قدرتمند Apf که محصول رایگان شرکت R-FX Network بهره ببرید.
مهمترین مسئله در دیوار آتش تنظیمات و پیکربندی دقیق آن است که اگر درست تنظیم نشود میتوانید حتی کاربران عادی سرویسدهنده را نیز دچار مشکل سازد! در دیوار آتش میبایست تمامی پورتهای غیر موردنیاز برای وب سرور را که از آنها استفاده نمیکنید مسدود نمایید و فقط به پورتهای موردنیاز سیستم مانند پورتهای سرویسهای مختلف همچون 80 برای وب سرور، 21 برای پروتکل FTP ، 25 برای سرویسدهنده ایمیل و .. . را اجازه دسترسی دهید. نفوذگران برای حملات dos از سرورهای استفاده میکنند که با نفوذ به سرورهای مختلف بر روی آنها برنامههای موردنیاز خود را برای حمله dos نصب مینمایند و از این طریق از آنها به عنوان طعمه و قربانی هدف خود استفاده میکنند که به این سرورها به اصطلاح Zombie گفته میشود و مثلا با برنامه Evil Bot نفوذگر میتواند فرمانهای خود را از طریق یکIRC Server به صدها Zombie در یک زمان ارسال کند.
همچنین یکی از معروفترین نرمافزارهای جلوگیری از حمله dos برنامه متنباز Mod_Evasive برای وب سرور قدرتمند و محبوب آپاچی است که به صورت یک ماژول به آن اضافه میشود. که این نرمافزار بستههای ارسالی به وب سرور آپاچی را مورد بررسی قرار داده و اگر از یک حد خاصی مثلا 25 بسته در ثانیه بیشتر شد وارد عمل شده و محافظت لازم را از وب سرور به عمل میآورد. حال برای ما این سئوالات مطرح میشود که هنگامی که در حال حمله dos به عنوان قربانی هستیم چه باید بکنیم؟ چگونه متوجه بشویم که در حال حمله dos هستیم؟ برای پیشگیری از حملات dos راههای مختلفی وجود دارد که در بالا اشاره کوتاهی به آن شد ما در ادامه راجع به درمان سریع و رفع مشکل سرویسدهنده وب و یا همان وب سرور لینوکس نکاتی را متذکر میشویم. یکی از شایعترین حملات بر روی سرورهای وب لینوکس حمله به وب سرور آپاچی یا همان پورت معروف 80 است.
یکی از راههای مفید و آسان، شناسایی IPای است که تعداد اتصالاتش (منظور همان connection است) به سرور از حالت عادی بیشتر باشد. برای این کار میتوانیم از دستور زیر در خط فرمان لینوکس استفاده کنیم تا IPهای که به سرور متصل هستند را پیدا کنیم.
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq - C++ | sort –n
و با دستور زیر میتوانیم تعداد اتصالات به سرور را مشخص کنیم:
netstat -n | grep :80 |wc –l
اگر این تعداد بیش از حد معمول بود شما باید به حمله شک کنید و IP موردنظر را از دستور اول پیدا کنید. توجه کنید که میبایست یک یا چندین IP تعداد اتصالاتش به وب سرور آپاچی بسیار زیاد باشد. حال که IP را پیدا کردید به راحتی میتوانید آن را در Iptable یا دیوار آتش لینوکس در قسمت Deny Ip قرار بدهید و از این طریق دسترسی آن IP را به سرور قطع کنید و باعث جلوگیری از حمله dos آن فرد بشوید. فرمانهای جلوگیری از دسترسی یک IP به وب سرور به وسیله IPtable در لینوکس:
iptables -A INPUT 1 -s IPADRESS -j DROP/REJECT
service iptables restart
service iptables save
به جای IPADRESS، IP حملهکننده را وارد میکنید. سپس با دستور زیر تمامی اتصالات به آپاچی را Kill کرده و آپاچی را از نو راهاندازی میکنید.
killall -KILL httpd
service httpd start
حال که حمله قطع شد، میتوانید به فکر بالابردن ضریب امنیتی وب سرور و راههای پیشگیری برای این نوع حملات باشید تا دیگر دچار این نوع حملات خطرناک که غالبا با ضررهای مالی و زمانی همراه است نشوید. سعی میکنیم در شمارههای بعدی مجله با شرح روشهای کاربردی، بهینهسازی و امن کردن سرورهای وب لینوکس در سرویسهای مختلف آن با شما همراه باشیم.