-
February 2nd, 2014, 13:53
#1
آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf
درود به همگی . امروز حملات بالای بر روی یکی از سرور های ما انجام شد که حملات با استفاده از سیستم های آلوده از کشور های مختلف در حال انجام بود که عمده آنها از کشور چین بود . حملات باعث اختلال در سرویس apache شده و از آنجای که سرویس آپاچی در جلوی حملات DDOS ضعیف عمل میکند سایت های سرور با سرعت خیلی کمی بارگزاری میشدند .
----------------------------------------------
خوب دوستان گلم . در این مواقع شما میتوانید در سرور های لینوکس با استفاده از دستور زیر لیست IP های متصل به سرور و تعداد کانکشن های آنهارا مشاهده کنید :
کد:
netstat -atun | awk '{print $5}' | cut -d: -f1 | sed -e '/^$/d' |sort | uniq -c | sort -n
( حمله ای که بر روی سرور ما بود 2642 ای پی از کشور های مختلف و با تعداد کنکشن های مختلف بودن . )
کارهای که شما باید انجام بدید در صورت امکان وارد کانفیگ CSF خود شوید و PORT 80 را از لیست TCP_IN و TCP_OUT پاک کنید
با اینکار شما پورت 80 را بر روی سرور خود مسدود میکنید و با خیال راحت میتوانید به مرحله بعد بروید . در صورتی که نمیخواهید سایت ها از دسترس خارج شوند میتوانید این کار را انجام ندهید .
پس از بستن PORT 80 ابتدا وارد ConfigServer Firewal شوید و تغیرات زیر را انجام دهید .
---------------------------------------------------------------------------------
تنظیمات مربوط به فایل csf.conf را بصورت زیر تنظیم نمایید:
حفاظت از سیل حملات DOS وSYN
کد:
CT_LIMIT = "80"
CT_INTERVAL = "50"
CT_PERMANENT = "1"
CT_BLOCK_TIME = "1800"
CT_INTERVAL = "60"
CT_SKIP_TIME_WAIT = "1"
SYNFLOOD = "1" |
در حال حاضر سرور شما از DOS و حملات SYN محافظت می شود، و از طریق ایمیل زمانی که یک IP مسدود شده است، مطلع خواهید شد. همچنین:
تعداد کانکشن های همزمان مجاز برای پورت 22 مقدار 5 وبرای پورت 80 مقدار 20 کانکشن
کد:
PORTFLOOD = "80;tcp;20;300" |
این تنظیم به این معنا می باشد که تمام درخواست به پورت 80 از نوع TCP از 20 درخواست درثانیه را
در بازه زمانی 300 ثانیه را قبل از آزاد شدن کانکشن محدود میکند.
حفاظت از SPAM هرزنامه
کد:
LF_DSHIELD = "86400"
LF_SPAMHAUS = "86400"
LF_BOGON = "86400" |
این تنظیم اختیاری است و پیشنهاد نمی شود زیرا سرور شما از یک لیست بزرگ از IP های بد شناخته شده محافظت می شود،
که همیشه در حال رشد است. سایر تنظیمات مفید شما می توانید دسترسی IP کشورهای مخصوصی را ببندید
شما می توانید lfd را برای تشخیص دایرکتوری های مشکوک تنظیم نمایید:
منبع : serversetup.ir
-------------------------------------------
خوب نکته مهم
شما وقتی دستور :
کد:
netstat -atun | awk '{print $5}' | cut -d: -f1 | sed -e '/^$/d' |sort | uniq -c | sort -n
را در سرور خود وارد میکنید لیست IP های متصل به سرور شما + تعداد کانکشن نمایش داده میشود ، IP های نمایش داده شده را در سایت زیر وارد کنید :
کد:
http://geoip.flagfox.net/?ip=
و بعد از نمایش مشخصات در قسمت Country Code مخفف نام کشور ( برای مثال Iran = IR ) را برای شما نمایش میدهد . بجز IP کشور های مهم مثل : آلمان ، آمریکا ، ایران و ... تمامی IP های نمایش داده شده را ابتدا Country Code آنهارا به دست بیاورید و سپس مثل آموزش بالا وارد ConfigServer Firewall شوید و آن ها را در لیست CC_DENY قرار داده و ذخیره کنید ، سرویس CSF و LFD را ریستارت دهید و سپس سرور خود را reboot دهید . و بعد PORT 80 را در سرور خود باز کنید .
اما بنظر من پیشگیری بهتر از درمان است . مشتریان شما یا از ایران هستن یا خارج و یا اینکه از قند شکن استفاده میکنند . شما مخاطبی در کشور چین و یا افریقای و سایر کشور های غریبه ندارید . من در سرورم لیست کشور های زیر را مسدود کردم . شما میتوانید با توجه به درخواست های خود و نوع حملات آن هارا تغیر دهید .
GB,CN,TR,VE,SE,BR,CL,IN,AE,MX,ID,VN,TH,LK,NG,KE,AR ,EC,PA,PK,MY,RU,IQ,EU,CO,PS,UA,NL,KH,HK,CZ,BD,RO,P H,KR,TW
.
دوستان لطفا توجه داشته باشید که این آموزش برای حملات بر روی سطح 7 شبکه میباشد ( سطح نرم افزار) که سرویس APache را مورد حمله قرار داده بودن . در حملات بر روی شبکه و یا .... شما از هیچ نرم افزاری بجز firewall سخت افزاری و یا استفاده از میکروتیک نمیتوانید جلویه حملات را بگیرید . دلیل هم عدم دسترسی و مدیریت نرم افزار ها به سایر لایه های شبکه میباشد .
با تشکر .
ویرایش توسط zartosht : February 2nd, 2014 در ساعت 13:56
-
تعداد تشکر ها ازzartosht به دلیل پست مفید
akbar_syberia, clack, farmanrava, jahromweb, jvd, M.Abooali, Metalik, NabiKAZ, nicehosting, omid3963, OmidX, reza21biologist, thanker, unlimited
-
February 2nd, 2014 13:53
# ADS
-
February 12th, 2014, 09:29
#2
عضو انجمن
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf
البته این کار یک راه حل موقت و تا حدودی سخت گیرانه است. چون خیلی از مرورگرها و وب سایت ها هستند که با تعدد اتصال به سرور شما دارند کار میکنند اما معناش نیست که در حال اتک به شما می باشند.
مثلا یک کافی نت را فرض کنید که چندین رایانه از یک IP باش وصل هستند یا مراکزی مثل کتابخانه ها و ... خوب با اونها چه میخواهید بکنید؟ آیا اونها هم چون بیش از 20 اتصال دارند مثل مهاجم برخورد می کنید؟
اگر سرور شما کیپ الایو هم روش فعال باشد که اون وقت با توجه به قطع نشدن کانکشن ها برای مدتی تقریبا میشه گفت اکثر کاربران شما قربانی تنظیم غلط فایروال شما میشوند.
همانطور که اکثر دوستان مشرف هستند حملات دیداس خودش انواع مختلف دارد، در حقیقت مقابله خودکار با حملات دیداس حتی از دست گرانقیمت ترین فایروال ها نیز خارج است و فقط حضور یک اپراطور پای سیستم در اون لحظه است که می تواند کار ساز باشد و تلرانس خطای فایروال ها در تشخیص حملات خیلی بیشتر از انتظار است. یا حملات را کشف نمی کنند که بی فاید است یا تعداد قابل توجهی از کاربران را قربانی شناسایی غلط می کنند.
یکی از روش های جدیدی که اتفاقا CSF هم قابلیتش را فراهم کرده است ( البته نه خیلی حرفه ای ) ریدایرکت کردن حملات میباشد. البته در CSF قابلیت ریدایرکت کل درخواست ها وجود دارد. اما به شکل حرفه ای تر، شما میتوانید درصدی عمل کنید و نیمی از کانکشن های هر Ip را به خودش بازگردانید.
به طور مثال چنین شرطی در بین باشد:
اگر تعداد درخواست ها بیش از 20 عدد بود، 10%
اگر بیش از 50 عدد بود 25%
اگر بیش از 100 عدد بود 50%
اگر بیش از 200 عدد بود 70%
خوب در این صورت اگر حملات واقعی باشد که با رفلکت شدن درخواست ها سرور شما لودش بالا نخواهد رفت و فرصت بلاک کردن IP مهاجم را به راحتی دارید که تازه لود خود سرور مهاجم هم با توجه به رفلکت شدن ترافیک خودش روی خودش بالا خواهد رفت.
اگر هم مهاجمی نباشد و تنها کاربر باشد، باز با قعطی دسترسی و اینها روبرو نخواهد شد و فقط شاهد کندی سرعت سایت و البته اینترنت خودش خواهد بود. آن هم به نسبت پیش رویش از حد غیر مجاز مد نظر ما.
این را میتوان نسبتا حرفه ای ترین شیوه مقابله با دیداس معرفی کرد که تفاوتی هم براش نداره مهاجم از چه شیوه ای استفاده کرده باشد یا با چند IP در حال اتک دادن هست.
البته تنظیمات CSF هم اگر خوب انجام شود تا حد قابل توجهی ارتقا دهنده امنیت سرور هست. اما فاصله زیادی با یک کانفیگ امنیتی حرفه ای دارد.
[ فعالیت تجاری در اینجا ندارم
| پاسخ سوالات فقط در تاپیک
| اطلاعات بیشتر درباره من:
https://abooali.ir ]
-
تعداد تشکر ها ازM.Abooali به دلیل پست مفید
-
February 12th, 2014, 09:48
#3
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf

نوشته اصلی توسط
M.Abooali
البته این کار یک راه حل موقت و تا حدودی سخت گیرانه است. چون خیلی از مرورگرها و وب سایت ها هستند که با تعدد اتصال به سرور شما دارند کار میکنند اما معناش نیست که در حال اتک به شما می باشند.
مثلا یک کافی نت را فرض کنید که چندین رایانه از یک IP باش وصل هستند یا مراکزی مثل کتابخانه ها و ... خوب با اونها چه میخواهید بکنید؟ آیا اونها هم چون بیش از 20 اتصال دارند مثل مهاجم برخورد می کنید؟
اگر سرور شما کیپ الایو هم روش فعال باشد که اون وقت با توجه به قطع نشدن کانکشن ها برای مدتی تقریبا میشه گفت اکثر کاربران شما قربانی تنظیم غلط فایروال شما میشوند.
همانطور که اکثر دوستان مشرف هستند حملات دیداس خودش انواع مختلف دارد، در حقیقت مقابله خودکار با حملات دیداس حتی از دست گرانقیمت ترین فایروال ها نیز خارج است و فقط حضور یک اپراطور پای سیستم در اون لحظه است که می تواند کار ساز باشد و تلرانس خطای فایروال ها در تشخیص حملات خیلی بیشتر از انتظار است. یا حملات را کشف نمی کنند که بی فاید است یا تعداد قابل توجهی از کاربران را قربانی شناسایی غلط می کنند.
یکی از روش های جدیدی که اتفاقا CSF هم قابلیتش را فراهم کرده است ( البته نه خیلی حرفه ای ) ریدایرکت کردن حملات میباشد. البته در CSF قابلیت ریدایرکت کل درخواست ها وجود دارد. اما به شکل حرفه ای تر، شما میتوانید درصدی عمل کنید و نیمی از کانکشن های هر Ip را به خودش بازگردانید.
به طور مثال چنین شرطی در بین باشد:
اگر تعداد درخواست ها بیش از 20 عدد بود، 10%
اگر بیش از 50 عدد بود 25%
اگر بیش از 100 عدد بود 50%
اگر بیش از 200 عدد بود 70%
خوب در این صورت اگر حملات واقعی باشد که با رفلکت شدن درخواست ها سرور شما لودش بالا نخواهد رفت و فرصت بلاک کردن IP مهاجم را به راحتی دارید که تازه لود خود سرور مهاجم هم با توجه به رفلکت شدن ترافیک خودش روی خودش بالا خواهد رفت.
اگر هم مهاجمی نباشد و تنها کاربر باشد، باز با قعطی دسترسی و اینها روبرو نخواهد شد و فقط شاهد کندی سرعت سایت و البته اینترنت خودش خواهد بود. آن هم به نسبت پیش رویش از حد غیر مجاز مد نظر ما.
این را میتوان نسبتا حرفه ای ترین شیوه مقابله با دیداس معرفی کرد که تفاوتی هم براش نداره مهاجم از چه شیوه ای استفاده کرده باشد یا با چند IP در حال اتک دادن هست.
البته تنظیمات CSF هم اگر خوب انجام شود تا حد قابل توجهی ارتقا دهنده امنیت سرور هست. اما فاصله زیادی با یک کانفیگ امنیتی حرفه ای دارد.
با تشکر از آموزش مفیدتون . اما همانطور که گفتم تنها IP های کشور های متفرقه را باید مسدود کرد . حمله ها از ایران انجام نمیگره به دلیل پاین بودن سرعت اینترنت . همچنین در CSF شما میتوانید با وارد کردن IR
در CC_Allow دسترسی IP های ایران را باز بگزارید تا بتوانید محدودیت هارا بر روی مهاجمین اعمال کنید . در این نوع از حمله DDOS بر روی وب سرور apache با درگیر کردن این سرویس باعث از دسترس خارج شدن سایت های شما میشوند در صورتی که load سرور شما پایین است .
به هر حال به نظر من بستن IP های کشور های چین ، ترکیه ، کره و .... خیلی مهم است . چون این کشور ها کاربران مخرب زیادی داره .
ویرایش توسط zartosht : February 12th, 2014 در ساعت 10:15
-
تعداد تشکر ها ازzartosht به دلیل پست مفید
-
February 12th, 2014, 10:11
#4
عضو انجمن
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf
حق با شماست، بلاک کردن برخی کشورها درصد قابل توجهی حملات کور یا گاهی هدفمند را بلاک خواهد کرد.
البته ما چند وقت پیش از داخل کشور هم روی یکی از سرورها دیداس داشتیم، خصوصا که بیش از 30 تا ip داشتند اتک میدادن همگی رنج یک شرکت غول داخلی هم بود که اتفاقا با ما قبلا سابقه همکاری تو پروژه ای هم داشتند و شاید از استقلال ما ناراضی بودند. حالا جای تعجب داشت با توجه به دانستن این که ما به سادگی میتونیم بفهمیم اتک از سمت و شبکه اونهاست چرا همچین حرکتی کردند خودش جای تعجب داره برا من هنوز.
البته ما اقداماتی کردیم از طریق پلیس فتا اما خوب متاسفانه نتیجه مطلوبی نگرفتیم و با توقف حملات از سمت اونها کلا دنبالش نکردیم خودمان هم.
صرفا منظورم این بود با روند رو به رشد دیتاسنترهای داخلی، بد نیست راهکارهای خودمان را گسترده تر از بلاک کردن کشورهای خارجی بکنیم. به نوعی آماده شدن برای مهاجمین داخلی هم مد نظر باشد.
[ فعالیت تجاری در اینجا ندارم
| پاسخ سوالات فقط در تاپیک
| اطلاعات بیشتر درباره من:
https://abooali.ir ]
-
تعداد تشکر ها ازM.Abooali به دلیل پست مفید
-
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf
درود
با گذاشتن اینهمه کشور در cc_deny به نظرم باعث بالا رفتن لود سرور میشید همونطور که من تجربه داشتم !
اونطور که در کنسول مشاهده میشد در هنگام بالا آمدن سرور csf همه ی رنج ها رو بلاک می کنه و خیلی خیلی زمانبر هست !
ره دیگری نیست ؟
-
تعداد تشکر ها از Nicdata به دلیل پست مفید
-
عضو انجمن
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf

نوشته اصلی توسط
nicdata
درود
با گذاشتن اینهمه کشور در cc_deny به نظرم باعث بالا رفتن لود سرور میشید همونطور که من تجربه داشتم !
اونطور که در کنسول مشاهده میشد در هنگام بالا آمدن سرور csf همه ی رنج ها رو بلاک می کنه و خیلی خیلی زمانبر هست !
ره دیگری نیست ؟
این ویژگی در csf نسخه اخر برطرف شده است و هنگام ری استارت دیگر نیاز نیست منتظر بمانید تا ایپی ها یکی یکی بلاک شوند.
-
تعداد تشکر ها از3245 به دلیل پست مفید
-
July 31st, 2014, 23:08
#7
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf
خیلی عالی بود واقعا مشکلی بود که باهاش به شدت درگیر بودیم
مرسی
-
تعداد تشکر ها از oravis به دلیل پست مفید
-
August 1st, 2014, 10:04
#8
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf
مقاله خوبی بود ، همانطور که دوستان گفتن حتی با بلاک کردن ایپی ها هم نمیشه جلوی سرور رو گرفت چون پکت ها به سرور میرسن و مقداری بار ترافیکی روی سرور می اندازند ، مگر اینکه یک فایروال سختافزاری سر راه باشد و پکت ها روی اون بارریزی شوند
-
تعداد تشکر ها از ZarinServer.Com به دلیل پست مفید
-
August 1st, 2014, 16:21
#9
عضو دائم
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf
ممنون بابت این آموزش ...

نوشته اصلی توسط
zartosht
حفاظت از SPAM هرزنامه
[CODE]
LF_DSHIELD = "86400"
LF_SPAMHAUS = "86400"
LF_BOGON = "86400" |
من این تنظیمات رو ندارم !!
-
تعداد تشکر ها از OmidX به دلیل پست مفید
-
August 2nd, 2014, 08:50
#10
پاسخ : آموزش جلوگیری از حملات ddos بر روی APache با استفاده از csf

نوشته اصلی توسط
OmidX
ممنون بابت این آموزش ...
من این تنظیمات رو ندارم !!

حتما در ورژن جدید این مورد حذف شده است . نیاز به تنظیم کردن این قسمت رو دارید ؟
-
تعداد تشکر ها از zartosht به دلیل پست مفید