PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل عجیب افزایش لود سرور تا ۵۰۰ تحت فعالیت های یوزر webapps



PE7A
February 21st, 2015, 13:20
با سلام

روز گذشته به طور ناگهانی لود یکی از سرور های ما که به طور نرمال همیشه زیر ۱ بود برای مدت زمان ۱ساعت به اعدادی مثل ۴۰۰ و ۵۰۰ افزایش یافت و بعد از یک ساعت لود سرور به شرایط عادی بازگشت.




در زمان این افزایش لود دستور top تعداد بسیار زیادی پروسه در حال اجرا تحت یوزر webapps را نمایش می داد که ظاهرا این یوزر به طور پیشفرض در دایرکت ادمین وجود دارد:
DirectAdmin Versions (http://www.directadmin.com/features.php?id=772)

آیا ممکن است این افزایش لود به دلیل حملات دیداس روی سرور بوده باشد؟
تعداد کانکشن های سرور در زمان این افزایش لود ۵۷۰ بود که در شرایط معمول هم بین ۲۰۰ الی ۴۰۰ است، اما به دلیل لود بسیار بالا و کندی سرور قادر به نمایش آی پی های متصل نبود.
به نظر شما دلیل این افزایش لود چه بوده است و چه اقدامی می تواند موجب جلوگیری از تکرار این مورد شود؟
ممنون می شوم راهنمایی کنید.
با تشکر

LIAN2
February 21st, 2015, 13:38
سلام
برای اجرای PHP از چه Handler ای استفاده می کنید؟

PE7A
February 21st, 2015, 13:56
Apache + php 5.3 + suphp

Yas-Host
February 21st, 2015, 14:01
در این رابطه فقط می توان زمانی نظر داد که سرور شما این لود را دارد.
باید لوگ ها با دقت بررسی شوند و ببنید با استاپ کردن کدام سرویس لود سرور پایین می آید.
همچنین از صحت تنظیمات فایروال و وب سرور حتما اطمینان پیدا کنید.

nginxweb
February 21st, 2015, 14:07
درود

دوست عزیز باید در زمانی که لود بالا هستش سرور بررسی گردد

گاهی حملات ddos میتواند عامل این مورد باشد گاهی flood attacks روی سرویس ها همینطور گاهی بدلیل بالا رفتن شدید hard disk latency نیز این موارد مشاهده میشود و نیازمند بررسی میباشد

PE7A
February 21st, 2015, 14:13
در این رابطه فقط می توان زمانی نظر داد که سرور شما این لود را دارد.
باید لوگ ها با دقت بررسی شوند و ببنید با استاپ کردن کدام سرویس لود سرور پایین می آید.
همچنین از صحت تنظیمات فایروال و وب سرور حتما اطمینان پیدا کنید.

لود با استاپ شدن آپاچی کاهش پیدا می کرد و اطمینان دارم که این مورد کاملا مربوط به آپاچی بوده است.
موضوع این است که دلیل این افزایش لود چه بوده.
در حقیقت چرا تعداد بی شماری پروسه اجرای php/cgi از طریق یوزر webapps در حال اجرا بود در حالی که در شرایط معمول هیچ پروسه ای توسط یوزر webapps اجرا نمی شود.

Yas-Host
February 21st, 2015, 14:22
لود با استاپ شدن آپاچی کاهش پیدا می کرد و اطمینان دارم که این مورد کاملا مربوط به آپاچی بوده است.
موضوع این است که دلیل این افزایش لود چه بوده.
در حقیقت چرا تعداد بی شماری پروسه اجرای php/cgi از طریق یوزر webapps در حال اجرا بود در حالی که در شرایط معمول هیچ پروسه ای توسط یوزر webapps اجرا نمی شود.

command پروسس رو کامل اینجا قرار دهید.
همچنین اگر منظور شما از webapps نرم افزار های تحت وب دایرکت ادمین مانند roundcube یا phpmyadmin می باشد یکبار کامل دسترسی آن اسکریپت ها را کاهش دهید .
همچنین سرویس exim را بررسی کنید ( چون ممکن است یک نفر در حال ارسال ایمیل باشد و زمانی که وب سرور استاپ می شود دیگر نتواند ایمیل سند کند )
همچنین به کاستوم بایلد 2 ارتقا دهید .

Maysam.M
February 21st, 2015, 14:24
کانفیگ سروری که این اتفاق روش افتاده چیه؟

PE7A
February 21st, 2015, 14:39
command پروسس رو کامل اینجا قرار دهید.
همچنین اگر منظور شما از webapps نرم افزار های تحت وب دایرکت ادمین مانند roundcube یا phpmyadmin می باشد یکبار کامل دسترسی آن اسکریپت ها را کاهش دهید .
همچنین سرویس exim را بررسی کنید ( چون ممکن است یک نفر در حال ارسال ایمیل باشد و زمانی که وب سرور استاپ می شود دیگر نتواند ایمیل سند کند )
همچنین به کاستوم بایلد 2 ارتقا دهید .

مشکل همینجاست که در قسمت پروسس با یوزر webapps فقط عبارت php-cgi نشان داده می شود.
در سرویس exim ارسال انبوه مشاهده نمی شود.

- - - Updated - - -


کانفیگ سروری که این اتفاق روش افتاده چیه؟

Cpu Intel(R) Xeon(R) CPU E3-1246 v3 @ 3.50Ghz
32GB ram
SSD Hard drive

nginxweb
February 21st, 2015, 14:45
دوست عزیز تمامی دوستان صرقا از روی حدس و گمان در مورد مشکل شما نظر میدهند و مسلما جواب دقیقی پیدا نخواهید کرد و همینطور که عرض شد این مشکلات زمانی قابل بررسی هستند که دقیقا در آن زمان بتوان به سرور متصل شد و وضعیت را بررسی گرد حتی گاهی تشخیص دقیث باو جود دسترسی نیز مشکل میباشد اما به هرحال راه درست این میباشد

ارادت
:%53:

Cpt.Liux
February 21st, 2015, 15:30
لود با استاپ شدن آپاچی کاهش پیدا می کرد و اطمینان دارم که این مورد کاملا مربوط به آپاچی بوده است.
موضوع این است که دلیل این افزایش لود چه بوده.
در حقیقت چرا تعداد بی شماری پروسه اجرای php/cgi از طریق یوزر webapps در حال اجرا بود در حالی که در شرایط معمول هیچ پروسه ای توسط یوزر webapps اجرا نمی شود.

خیر. در صورت stop کردن httpd درخواست های mysql هم قطع میشه پس نمیشه گفت مشکل از Apache بوده. پروسه های php هم احتمال اینکه در حال اجرای کوئری بر روی mysql بوده باشند رو دارند.

یوزر webapps در لیست پروسس ها به معنی اجرای اسکریپت هایی هست که در /var/www/html واقع هستند. محتویات /var/www/html را چک کنید و ببینید چی داخلش هست.

PE7A
February 21st, 2015, 15:50
خیر. در صورت stop کردن httpd درخواست های mysql هم قطع میشه پس نمیشه گفت مشکل از Apache بوده. پروسه های php هم احتمال اینکه در حال اجرای کوئری بر روی mysql بوده باشند رو دارند.

یوزر webapps در لیست پروسس ها به معنی اجرای اسکریپت هایی هست که در /var/www/html واقع هستند. محتویات /var/www/html را چک کنید و ببینید چی داخلش هست.

بسیار ممنون از راهنمایی شما.
کاملا درست است.
در پوشه var/www/html تعدادی فایل وجود دارد که مربوط به موارد زیر است:
phpmyadmin
roundcube
squirrelmail

اما یک فایل دیگر هم هم با نام redirect.php وجود دارد.
در زمان افزایش لود اکثر پروسس های webapps در حال اجرای این فایل بودند و به احتمال 90 درصد افزایش لود به همین دلیل بوده است.

خاصیت فایل rediirect.php در این پوشه چیست؟
آیا می توانید در این مورد راهنمایی کنید؟

Cpt.Liux
February 21st, 2015, 15:53
محتویات این فایل رو اینجا بزارید یا با من به صورت پیام خصوصی ارتباط برقرار کنید تا برسی کنم.

PE7A
February 21st, 2015, 15:57
محتویات فایل redirect.php:

<?php
header("Location: http://".$_SERVER['HTTP_HOST'].":2222");
?>

Cpt.Liux
February 21st, 2015, 16:08
خوب مشکل از این فایل نیست. این به لاگین دایرکت ادمین ارسال میشه.

با توجه به اینکه phpmyadmin و وب میل ها داخل اون فولدر بودن میشه نتیجه گرفت لود به احتمال زیاد به دلیل یکی از اون ها (نظر من phpmyadmin) بوده. مثلا یوزری در حال ران کردن کوئری های سنگین روی دیتابیسش یا آپلود و ... بوده.

PE7A
February 21st, 2015, 16:17
خوب مشکل از این فایل نیست. این به لاگین دایرکت ادمین ارسال میشه.

با توجه به اینکه phpmyadmin و وب میل ها داخل اون فولدر بودن میشه نتیجه گرفت لود به احتمال زیاد به دلیل یکی از اون ها (نظر من phpmyadmin) بوده. مثلا یوزری در حال ران کردن کوئری های سنگین روی دیتابیسش یا آپلود و ... بوده.


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

حمله به صفحه لوگین دایرکت ادمین این تئوری را هم تایید می کند که در شرایط عادی این پروسه میزان ناچیزی از منابع سرور مصرف می کند و هیچوقت در لیست پروسس های دستور top نشان داده نمی شود اما در زمان حمله به دلیل بالا رفتن لود سرور و تعداد بالای کانکشن ها روی این پورت در نهایت این پروسس (فراخوانی فایل redirect.php) در دستور top به تعداد فراوان قابل مشاهده بوده است.

نظر شما چیست؟

Cpt.Liux
February 21st, 2015, 16:46
با توجه به تعداد بسیار زیاد پروسه های در حال اجرای این فایل احتمال می دهم که صفحه لوگین دایرکت ادمین تحت حملات شدید بوده است و دلیل مشاهده این مورد در لیست پروسس ها هم همین مورد بوده است.

حمله به صفحه لوگین دایرکت ادمین این تئوری را هم تایید می کند که در شرایط عادی این پروسه میزان ناچیزی از منابع سرور مصرف می کند و هیچوقت در لیست پروسس های دستور top نشان داده نمی شود اما در زمان حمله به دلیل بالا رفتن لود سرور و تعداد بالای کانکشن ها روی این پورت در نهایت این پروسس (فراخوانی فایل redirect.php) در دستور top به تعداد فراوان قابل مشاهده بوده است.

نظر شما چیست؟

امکان حمله به هر صفحه ای که شامل درخواست به سرور هست وجود داره اما این صفحه redirect از نظر من گرینه خوبی برای حمله به شما نیست. اصولا اگر بخوان به صفحات حمله کنن به پیج های جستجو و ... حمله ور میشند چون میزان مصرف منابع بیشتری دارند. برای همین من نظرم روی پروسه های phpmyadmin بوده. برای تفسیرگر php اجرای این یک خط چیزی نیست که بخواد با 500 درخواست هم زمان هم لود سرور شما رو به 500 برسونه اما اجرای یه فایل sql با تعداد کوئری بالا روی سرور شما اجرا بشه احتمال بالا بردن لود رو داره.

Yas-Host
February 21st, 2015, 16:59
حتی زمانی top -c هم بزنید باز هم کامند کامل را نمایش نمی دهد ؟