برنامه نویسی

از WAF SafeLine رایگان برای حل مشکل “خزنده های اشغال پهنای باند شبکه” استفاده کنید

Summarize this content to 400 words in Persian Lang

1. پس زمینه

شرایط مرتبط: محدودیت فرکانس، کنترل دسترسی، خزنده، ضد خزیدن، WAF، SafeLine

برای برخی از ربات‌های خودکار یا خزنده‌های مخرب، دسترسی آنها به وب‌سایت‌ها مکرر و طولانی است. هنگام دسترسی به پشتیبان مدیریت سرور ابری، اغلب متوجه می شوید که بیشتر ترافیک شبکه بر روی یک یا چند آدرس IP متمرکز است. این موقعیت‌ها معمولاً با یک رویکرد ساده قابل رسیدگی است: پیاده‌سازی محدود کردن فرکانس IP در سرور.

با این حال، عملکرد محدود کردن فرکانس IP معمولاً ارتباط نزدیکی با منطق تجاری ندارد و توسعه دهندگان اغلب ترجیح می دهند خودشان جدول فرکانس دسترسی IP را حفظ نکنند. علاوه بر این، نگهداری دستی اطلاعات مربوط به همه بازدیدکنندگان در محیط های توزیع شده و همزمان هزینه های توسعه قابل توجهی را به همراه دارد.

WAF SafeLine Chaitin به طور موثر این سری از مشکلات را حل می کند. SafeLine عملکردهایی مانند محدود کردن فرکانس، ارسال پورت، لیست سیاه و سفید IP دستی، و همچنین عملکرد اصلی خود برای دفاع در برابر حملات وب را ارائه می دهد.

2. نصب و راه اندازی

وب سایت رسمی چندین روش نصب را ارائه می دهد که در این سند توضیح داده نخواهد شد. برای جزئیات، لطفاً به: SafeLine مراجعه کنید

3. پیکربندی سایت ها و توابع محدود کننده فرکانس

3.1 پیکربندی سایت در SafeLine

عملکرد پیکربندی سایت SafeLine نسبتاً جامع است، از جمله آپلود خودکار گواهی‌های TLS و کلیدهای خصوصی، مشخص کردن چندین پورت حمل و نقل و غیره، که نیازی به توسعه‌دهندگان برای پیکربندی حمل و نقل nginx به تنهایی را از بین می‌برد.

3.2 تابع محدودیت فرکانس را پیکربندی کنید

استراتژی مسدود کردن خاص را می توان سفارشی کرد. توصیه می شود در عرض 10 ثانیه تعداد عملیات را به 100 محدود کنید و کاربر را به مدت 10 دقیقه ممنوع کنید.

Btw، اگر برای خودآزمایی باشد یا اگر هشدار نادرست تشخیص داده شود، ممنوعیت را می توان به صورت دستی برداشت.

4. تست و سایر موارد

4.1 تست

یک سرور ساده در backend آماده شده است که یک رابط “hello” ارائه می دهد که پارامتری به نام “a” را می گیرد.

یک کد خزنده ساده برای اهداف آزمایشی بنویسید:

def send_request(url,request_method=”GET”,header=None,data=None):
try:
if header is None:
header=Config.get_global_config().header
response = requests.request(request_method, url, headers=header)
return response
except Exception as err:
print(err)
pass
return None

if __name__ == ‘__main__’:
# config=Config.get_global_config()
# print(config.header) # send_request(header=”asad”)
for i in range(0,100):
str = random.choice(‘abcdefghijklmnopqrstuvwxyz’)
resp = send_request(“http://a.com/hello?a=”+str)
print(resp.content)

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مقادیر چاپ

b'{“a”:”u”}’
b'{“a”:”m”}’
b'{“a”:”y”}’
b'{“a”:”o”}’
b’\n\n\n \n …. #

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در این زمان، هنگامی که مجدداً صفحه را مشاهده می کنید، متوجه می شوید که آن صفحه مسدود شده است.

4.2 اگر برخی از خزنده های حیله گر هدر درخواست X-Forwarded-For را جعل کنند چه می شود؟

SafeLine به شما امکان می دهد مستقیماً “Socket Connection” را در “Global Settings” -> “Get Attack IP From” انتخاب کنید. این نشان می دهد که IP منبع از اتصال TCP بازیابی شده است.

اگر بپرسید، “اگر خزنده بسیار حیله گر باشد و فیلد IP منبع TCP را جعل کند، چه؟” خوب، به دلیل جعلی بودن اطلاعات هدر TCP، دست دادن HTTP مبتنی بر TCP مستقیماً از کار می افتد. این بدان معنی است که خود خزنده توانایی خود را برای خزیدن اطلاعات از دست داده است و درخواست دسترسی پس از رسیدن به آن توسط nginx حذف می شود.

1. پس زمینه

شرایط مرتبط: محدودیت فرکانس، کنترل دسترسی، خزنده، ضد خزیدن، WAF، SafeLine

برای برخی از ربات‌های خودکار یا خزنده‌های مخرب، دسترسی آنها به وب‌سایت‌ها مکرر و طولانی است. هنگام دسترسی به پشتیبان مدیریت سرور ابری، اغلب متوجه می شوید که بیشتر ترافیک شبکه بر روی یک یا چند آدرس IP متمرکز است. این موقعیت‌ها معمولاً با یک رویکرد ساده قابل رسیدگی است: پیاده‌سازی محدود کردن فرکانس IP در سرور.

با این حال، عملکرد محدود کردن فرکانس IP معمولاً ارتباط نزدیکی با منطق تجاری ندارد و توسعه دهندگان اغلب ترجیح می دهند خودشان جدول فرکانس دسترسی IP را حفظ نکنند. علاوه بر این، نگهداری دستی اطلاعات مربوط به همه بازدیدکنندگان در محیط های توزیع شده و همزمان هزینه های توسعه قابل توجهی را به همراه دارد.

WAF SafeLine Chaitin به طور موثر این سری از مشکلات را حل می کند. SafeLine عملکردهایی مانند محدود کردن فرکانس، ارسال پورت، لیست سیاه و سفید IP دستی، و همچنین عملکرد اصلی خود برای دفاع در برابر حملات وب را ارائه می دهد.

2. نصب و راه اندازی

وب سایت رسمی چندین روش نصب را ارائه می دهد که در این سند توضیح داده نخواهد شد. برای جزئیات، لطفاً به: SafeLine مراجعه کنید

3. پیکربندی سایت ها و توابع محدود کننده فرکانس

3.1 پیکربندی سایت در SafeLine

عملکرد پیکربندی سایت SafeLine نسبتاً جامع است، از جمله آپلود خودکار گواهی‌های TLS و کلیدهای خصوصی، مشخص کردن چندین پورت حمل و نقل و غیره، که نیازی به توسعه‌دهندگان برای پیکربندی حمل و نقل nginx به تنهایی را از بین می‌برد.

3.2 تابع محدودیت فرکانس را پیکربندی کنید

استراتژی مسدود کردن خاص را می توان سفارشی کرد. توصیه می شود در عرض 10 ثانیه تعداد عملیات را به 100 محدود کنید و کاربر را به مدت 10 دقیقه ممنوع کنید.

توضیحات تصویر

Btw، اگر برای خودآزمایی باشد یا اگر هشدار نادرست تشخیص داده شود، ممنوعیت را می توان به صورت دستی برداشت.

4. تست و سایر موارد

4.1 تست

یک سرور ساده در backend آماده شده است که یک رابط “hello” ارائه می دهد که پارامتری به نام “a” را می گیرد.

یک کد خزنده ساده برای اهداف آزمایشی بنویسید:

def send_request(url,request_method="GET",header=None,data=None):  
    try:  
        if header is None:  
            header=Config.get_global_config().header  
        response = requests.request(request_method, url, headers=header)  
        return response  
    except Exception as err:  
        print(err)  
        pass  
    return None

if __name__ == '__main__':  
    # config=Config.get_global_config()  
    # print(config.header)    # send_request(header="asad")  
    for i in range(0,100):  
        str = random.choice('abcdefghijklmnopqrstuvwxyz')  
        resp = send_request("http://a.com/hello?a="+str)  
        print(resp.content)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مقادیر چاپ

b'{"a":"u"}'
b'{"a":"m"}'
b'{"a":"y"}'
b'{"a":"o"}'
b'\n\n\n  \n .... #
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در این زمان، هنگامی که مجدداً صفحه را مشاهده می کنید، متوجه می شوید که آن صفحه مسدود شده است.

توضیحات تصویر

4.2 اگر برخی از خزنده های حیله گر هدر درخواست X-Forwarded-For را جعل کنند چه می شود؟

SafeLine به شما امکان می دهد مستقیماً “Socket Connection” را در “Global Settings” -> “Get Attack IP From” انتخاب کنید. این نشان می دهد که IP منبع از اتصال TCP بازیابی شده است.

توضیحات تصویر

اگر بپرسید، “اگر خزنده بسیار حیله گر باشد و فیلد IP منبع TCP را جعل کند، چه؟” خوب، به دلیل جعلی بودن اطلاعات هدر TCP، دست دادن HTTP مبتنی بر TCP مستقیماً از کار می افتد. این بدان معنی است که خود خزنده توانایی خود را برای خزیدن اطلاعات از دست داده است و درخواست دسترسی پس از رسیدن به آن توسط nginx حذف می شود.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا