moji5
26th November 2009, 01:35 AM
امروزه حتي بسياري از سايتهاي بزرگ نيز قادر به مقابله با آن نيستند زيرا اين نوع حملات به نوع متفاوتي سازماندهي و برنامهريزي ميشوند و در بيشتر اوقات با ايجاد ترافيكي بالا، بستههاي عظيمي از 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
حال که حمله قطع شد، ميتوانيد به فکر بالابردن ضريب امنيتي وب سرور و راههاي پيشگيري براي اين نوع حملات باشيد تا ديگر دچار اين نوع حملات خطرناک که غالبا با ضررهاي مالي و زماني همراه است نشويد.
مهمترين مسئله در ديوار آتش تنظيمات و پيکربندي دقيق آن است که اگر درست تنظيم نشود ميتواند حتي کاربران عادي سرويسدهنده را نيز دچار مشکل سازد! در ديوار آتش ميبايست تمامي پورتهاي بلا استفاده براي وب سرور را که از آنها استفاده نميکنيد مسدود نماييد و فقط به پورتهاي موردنياز سيستم مانند پورتهاي سرويسهاي مختلف همچون 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
حال که حمله قطع شد، ميتوانيد به فکر بالابردن ضريب امنيتي وب سرور و راههاي پيشگيري براي اين نوع حملات باشيد تا ديگر دچار اين نوع حملات خطرناک که غالبا با ضررهاي مالي و زماني همراه است نشويد.