راهکارهاي تشخيص و مبارزه با حمله DOS بر روي وبسرورهاي لينوکس
راهکارهاي تشخيص و مبارزه با حمله 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
حال که حمله قطع شد، ميتوانيد به فکر بالابردن ضريب امنيتي وب سرور و راههاي پيشگيري براي اين نوع حملات باشيد تا ديگر دچار اين نوع حملات خطرناک که غالبا با ضررهاي مالي و زماني همراه است نشويد. سعي ميکنيم در شمارههاي بعدي مجله با شرح روشهاي کاربردي، بهينهسازي و امن کردن سرورهاي وب لينوکس در سرويسهاي مختلف آن با شما همراه باشيم.