چند مدتی هست سایتم بسیار کند شده. به هاستینگ هم پیام دادم میگن تعداد request های ارسالی سمت سایت زیاد شده. یه جا خوندم ممکنه حملات Brute Force باشه. لطفا راهنمایی بفرمایید حملات Brute Force چیست و راه مقابله با آن در Asp.net Core چگونه است ؟
حملات بروت فورس یا Brute Force از طریق صفحه لاگین وب سایت انجام می شود. در این نوع از حملات فرد مهاجم توسط نرم افزارها یا ربات هایی که در اختیار دارد میلیاردها نام کاربری و رمز عبور را به سمت صفحه لاگین شما ارسال می کند. در واقع این روش به صورت سعی و خطا می باشد. در این روش انواع نام کاربری و رمز عبور به صورت ترکیبهای مختلف اعداد و حروف و ... ارسال می شود تا در نهایت یک نام کاربری و رمزعبور صحیح پیدا شود.
در حملات Brute Force چون هزاران درخواست در لحظه به سمت سایت و سرور شما ارسال می شود باعث فشار مضاعف به سرورهای شما می شود. در صورتی که سرورهای شما توان پاسخگویی به این حجم از درخواست ها را نداشته باشند احتمال crash کردن سرور وجود دارد و عملا حملات بروت فورس هم دچار مشکل می شود. اما اگر شما یک سرور قدرتمند داشته باشید که توان پاسخگویی داشته باشد این حملات اینقدر ادامه پیدا میکند تا در نهایت به یک یا چند اکانت دسترسی پیدا شود.
با توجه به اینکه حملات بروت فورس از طریق صفحه لاگین انجام می شود میتوان با ایجاد تمهیداتی از آن جلوگیری کرد.
قرار دادن Captcha یا Google Recaptcha در صفحه لاگین
اولین و ساده ترین کار برای مقابله با حملات بروت فورس این می باشد که در صفحه لاگین سایت از کدکپچا و یا گوگل ریکپچا استفاده کنید. در این صورت امکان ارسال پشت سر هم نام کاربری و رمزعبور برای مهاجم مقدور نمی باشد. (نحوه استفاده از گوگل ریکپچا در Asp.net Core)
مسدود ساختن IP های مشکوک
روش دیگری که برای مقابله با حملات بروت فورس استفاده می شود مسدود ساختن آی پی های مشکوک و مهاجم می باشد. شما می توانید با استفاده از دستورات Asp.net Core آی پی افراد مراجعه کننده به سایت را بدست بیاورید و در صورتی که یک آی پی مراجعات بیش از حدی داشت آن را بلاک کنید. (پیدا کردن IP کاربر در Asp.net Core)
البته روش بهتر این می باشد که از هاستینگ خود بخواهید این کار را برای شما انجام دهد. چون هاستینگ هم میتواند IP های مشکوک و مهاجم به سرور رو شناسایی و مسدود کند. اگر این کار توسط هاستینگ انجام شود سرعت لاگین در سایت شما بهینه تر خواهد بود.
انتخاب نام کاربری و رمزعبور پیچیده
شاید بهترین راه حل برای جلوگیری از حملات بروت فورس انتخاب نام کاربری و رمزعبور پیچیده می باشد. با انتخاب نام کاربری و رمزعبور پیچیده امکان پیدا شدن اطلاعات اکانت کاربران بسیار کم می شود و فرد مهاجم ناامید خواهد شد. در Asp.net Core Identity به صورت پیش فرض هنگام ایجاد کاربران باید رمزعبور پیچیده شامل حروف، اعداد، کاراکترهای خاص و ... استفاده می شود.
استفاده از LockoueEnabled در Identity
یکی دیگر از راههای که در Asp.net Core می توان برای مقابله با حملات بروت فورس استفاده کرد فعال کردن قابلیت LockOutEnabled می باشد. در این صورت اگر بیش از یک مقدار مشخصی برای یک اکانت خاص رمز عبور اشتباه وارد شود اکانت مسدود می شود. برای استفاده از این خاصیت کافیست در Startup و در متد ConfigureServices دستور زیر را استفاده کنید:
services.AddIdentity<Users, Roles>(option =>
{
option.Lockout.MaxFailedAccessAttempts = 10;
})
طبق دستور بالا اگر 10 بار رمزعبور کاربر اشتباه وارد شود اکانت مسدود می شود و امکان یافتن رمزعبور وجود نخواهد داشت.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
48
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
87
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1346
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
115
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
393
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
561
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
48
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
87
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1346
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1156
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
594
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|