نمایش نتایج: از شماره 1 تا 3 , از مجموع 3

موضوع: سیستم فایروال آنتی دیداس + کلودفلر cloudflare

  1. #1
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض سیستم فایروال آنتی دیداس + کلودفلر cloudflare

    سلام و درود خدمت همه ی عزیزان دل

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

    ** نیاز هست دامنه در کلودفلر باشه - البته میشه به صورت htaccess هم محدود کرد ولی کار بسیار سخت تر هست از نظر کد نویسی و geoIP و ... **


    خب توضیحات کار سیستم :

    1- ذخیره تمام درخواست های یک دقیقه ی اخیر
    2- یافتن url هایی که درخواست زیادی بهشون ارسال میشه در دقیقه ( قابل تنظیم تعداد )
    3- اضافه کردن url حمله شده به rule فایروال کلودفلر برای چلنج ( کپچا - یا بلاک )
    4- درخواست هایی که به url ارسال میشن دیگه از کلودفلر رد نمیشه و حمله خنثی میشه
    5- بعد از مدت مشخص url از rule خارج میشه

    تمام موارد به صورت خودکار اجرا میشه و نیاز به دخالت نیست


    نکته 1: قابلیت فعال گذاشتن ( عدم چلنج ) آی پی های ایران و همچنین ربات های گوگل
    نکته 1 برای نکته ی 1 : به دلیل اینکه آی پی های پابلیک ایران کم هست حمله از این آی پی ها اجرا نمیشه معمولا و همین باعث میشه کاربرهاتون مشکلی براشون پیش نیاد و فقط آی پی های خارج به صفحه ی چلنج برن
    نکته 2 برای تکته ی 1 : شاید حمله کننده خودش رو به عنوان ربات گوگل معرفی بکنه (agent) برای همین این مورد رو با توجه به سلیقه ی خودتون فعال و یا غیر فعال کنید


    خب فعلا نکته ی دیگه ای به ذهنم نمیرسه . غیر از اینکه چلنج جاوا اسکریپت به راحتی رد میشه توسط حمله کننده پس کپچا یا بلاک تنها راه حل هست





    نصب :

    نصب رو خلاصه میگم ( نیاز به مقداری اطلاعات عمومی از هاست هست )

    مرحله ی اول


    اول فایل هارو داخل هاست آپلود میکنید - پیوست


    مرحله ی دوم

    دیتابیس رو بسازید یا داخل دیتابیس قبلی ایمپورت کنید ( پیوست . جداول firewall_rules - firewall_hits) - اگر وردپرس هست یا سیستم اختصاصی یا متن باز هست بهتره داخل دیتابیس قبلی ایمپورت بشه که جداول مورد نیاز ساخته بشه ( رجوع به مرحله ی آخر )

    مرحله ی سوم


    داخل اکانت کلود بشید و دامنه رو انتخاب کنید . بخش firewall - بخش rules - یک رول اضافه کنید به مقادیری که گفته شده ( مقدار سوم فقط برای خالی نبودن عریضه هست یه چیزی بزنید که کاربرد نداشته باشه داخل سایتتون - کلا این موارد تغییر میکنن اتوماتیک غیر از نوع چلنج ) - نوع چلنج رو من کپچا قرار دادم - بزارید این رول فعال باشه

    create1.png


    create2.png




    مرحله ی چهارم

    فایل کانفیگ رو از داخل فایل ها پیدا کنید و ادیت کنید

    خلاصه ی داستان

    کد:
    مشخصات دیتابیس
    
    /** The name of the database*/
    define('DB_NAME_pro', '');
    /** MySQL database username */
    define('DB_USER_pro', '');
    /** MySQL database password */
    define('DB_PASSWORD_pro', '');
    /** MySQL hostname */
    define('DB_HOST_pro', 'localhost');
    
    
    بیشترین تعداد درخواست یک url در دقیقه - بیشتر از این مقدار به عنوان حمله در نظر گرفته میشه
    //Max hits in one min
    define('_max_hits_', '20');
    
    تعداد ساعت فعال بودن یک url در rule
    //Max challeng time - in hours
    define('_Challeng_Hours_', '24');
    
    url هایی که میخواید کلا در rule نیان به هیچ وجه- اختیاری
    //Not challeng urls
    $not_challeng_url_array = array("/ex1","/ex2");
    
    
    آی پی های ایران هم چلنج براشون اجرا بشه یا خیر - فالس = خیر
    //IR IPs challeng active
    define('_Challeng_IR_', false);
    
    گوگل بات ها هم چلنج براشون اجرا بشه یا خیر - فالس = خیر
    //google bots challeng active
    define('_Challeng_GoogleBots_', false);
    
    ایمیل اکانت کلودفلر
    //CloudFlare Email
    define('_CloudFlare_Email_', '');
    
    توکن api کلودفلر- تصویر ضمیمه
    //CloudFlare Token
    define('_CloudFlare_Token_', '');
    
    آی دی دامنه کلود - تصویر ضمیمه
    //CloudFlare Zone - select domain . look at right down menu
    define('_CloudFlare_Zone_', '');
    
    ***** آی دی - بعدا در مرحله ی بعد گفته میشه چطوری دریافت کنید - بعد از تکمیل فایل کانفیگ 
    
    //Rule filter ID - get from get_filters.php
    define('_Filter_ID_', '');
    
    
    توکن ربات تلگرام برای اطلاع رسانی به ادمین
    //telegram bot token
    define('_Telegram_Bot_Token_', '');
    
    آی دی بک اند اکانت ادمین برای اطلاع رسانی به ادمین قابل دریافت از ربات زیر - عددی هست
    //telegram admin backEnd ID - get from @getmyid_bot
    define('admin_telegram', '');

    get_api_zone.png






    مرحله ی پنجم

    بعد از ذخیره کردن فایل کانفیگ نیاز هست id ***** مورد نظر که توی مرحله ی سوم ایجاد کردید رو هم پیدا کنید و داخل فایل کانفیگ بخش مربوطه ذخیره کنید - _Filter_ID_


    خب برای اینکار فایل get_filters.php از طریق مرورگر لود کنید ( اجراش کنید )

    اگر تمام موارد مورد نظر برای کلودفلر رو درست زده باشید باید یه همچین چیزی رو ببینید توی خروجی

    get_filters.png


    من 3 تا رول دارم . شما باید یکی باشه اگر قبلا ایجاد نکرده باشید . توی expression میتونید اون مقداری که زدید رو تشخیص بدید . همون filter رو باید آی دیش رو بردارید ( یک از خط قرمز ها ) . آی دی رو داخل فایل کانفیگ ذخیره کنید


    مرحله ی پنجم

    فایل cron_firewall.php داخل پوشه ی crons رو یک کران جاب براش ایجاد کنید هر دقیقه اجرا بشه


    مرحله ی ششم و آخر

    باید درخواست هارو ذخیره کنیم - در هدر سایت یا یه جایی که تمام درخواست های که میاد (url) رو ذخیره کنیم

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

    کد:
    $url = $_SERVER['REQUEST_URI'];
    //escape
    
    INSERT INTO `firewall_hits`(`url`) VALUES ('$url')
    اگر وردپرس هست . داخل فایل header.php قالب اولش اضافه کنید

    کد PHP:
    <?php
    $current_url 
    $_SERVER['REQUEST_URI'];
    $wpdb->insert('firewall_hits', array(
        
    'url' => $current_url
    ));
    ?>

    و اگر هیچکدام نیست که باید از خود سیستم کمک بگیرید - البته این باعث میشه یک کانکشن mysql اضافی ایجاد بشه روی سرور با هر درخواست برای همین توضیحش نمیدم








    در کل شاید کار کار اشتباه باشی. یا کد نویسی ضعیف باشه یا هرچیزی که شما اساتید میفرمایید . شاید راه بهتری و کم دردسر تری باشه


    ولی خب من با همین روش جواب گرفتم و مشکل حل شده برام . فوقش 1 دقیقه سایت میره زیر ddos


    نکته ی آخر - شاید با پارامتر GET چندین url ایجاد بشه توسط حمله کننده که اگر کسی دید همچین چیزی رو بگه تا کد هارو بروز کنم ولی خب من ندیدم چیزی


    امیدوارم به درد بخوره
    فایل های پیوست شده فایل های پیوست شده
    ویرایش توسط hoka : April 4th, 2019 در ساعت 18:00

  2. تعداد تشکر ها ازhoka به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن vMizban آواتار ها
    تاریخ عضویت
    Mar 2019
    محل سکونت
    زیر نور ماه زیبا
    نوشته ها
    103
    تشکر تشکر کرده 
    15
    تشکر تشکر شده 
    53
    تشکر شده در
    41 پست

    پیش فرض پاسخ : سیستم فایروال آنتی دیداس + کلودفلر cloudflare

    نقل قول نوشته اصلی توسط hoka نمایش پست ها
    سلام و درود خدمت همه ی عزیزان دل

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

    ** نیاز هست دامنه در کلودفلر باشه - البته میشه به صورت htaccess هم محدود کرد ولی کار بسیار سخت تر هست از نظر کد نویسی و geoIP و ... **


    خب توضیحات کار سیستم :

    1- ذخیره تمام درخواست های یک دقیقه ی اخیر
    2- یافتن url هایی که درخواست زیادی بهشون ارسال میشه در دقیقه ( قابل تنظیم تعداد )
    3- اضافه کردن url حمله شده به rule فایروال کلودفلر برای چلنج ( کپچا - یا بلاک )
    4- درخواست هایی که به url ارسال میشن دیگه از کلودفلر رد نمیشه و حمله خنثی میشه
    5- بعد از مدت مشخص url از rule خارج میشه

    تمام موارد به صورت خودکار اجرا میشه و نیاز به دخالت نیست


    نکته 1: قابلیت فعال گذاشتن ( عدم چلنج ) آی پی های ایران و همچنین ربات های گوگل
    نکته 1 برای نکته ی 1 : به دلیل اینکه آی پی های پابلیک ایران کم هست حمله از این آی پی ها اجرا نمیشه معمولا و همین باعث میشه کاربرهاتون مشکلی براشون پیش نیاد و فقط آی پی های خارج به صفحه ی چلنج برن
    نکته 2 برای تکته ی 1 : شاید حمله کننده خودش رو به عنوان ربات گوگل معرفی بکنه (agent) برای همین این مورد رو با توجه به سلیقه ی خودتون فعال و یا غیر فعال کنید


    خب فعلا نکته ی دیگه ای به ذهنم نمیرسه . غیر از اینکه چلنج جاوا اسکریپت به راحتی رد میشه توسط حمله کننده پس کپچا یا بلاک تنها راه حل هست





    نصب :

    نصب رو خلاصه میگم ( نیاز به مقداری اطلاعات عمومی از هاست هست )

    مرحله ی اول


    اول فایل هارو داخل هاست آپلود میکنید - پیوست


    مرحله ی دوم

    دیتابیس رو بسازید یا داخل دیتابیس قبلی ایمپورت کنید ( پیوست . جداول firewall_rules - firewall_hits) - اگر وردپرس هست یا سیستم اختصاصی یا متن باز هست بهتره داخل دیتابیس قبلی ایمپورت بشه که جداول مورد نیاز ساخته بشه ( رجوع به مرحله ی آخر )

    مرحله ی سوم


    داخل اکانت کلود بشید و دامنه رو انتخاب کنید . بخش firewall - بخش rules - یک رول اضافه کنید به مقادیری که گفته شده ( مقدار سوم فقط برای خالی نبودن عریضه هست یه چیزی بزنید که کاربرد نداشته باشه داخل سایتتون - کلا این موارد تغییر میکنن اتوماتیک غیر از نوع چلنج ) - نوع چلنج رو من کپچا قرار دادم - بزارید این رول فعال باشه

    create1.png


    create2.png




    مرحله ی چهارم

    فایل کانفیگ رو از داخل فایل ها پیدا کنید و ادیت کنید

    خلاصه ی داستان

    کد:
    مشخصات دیتابیس
    
    /** The name of the database*/
    define('DB_NAME_pro', '');
    /** MySQL database username */
    define('DB_USER_pro', '');
    /** MySQL database password */
    define('DB_PASSWORD_pro', '');
    /** MySQL hostname */
    define('DB_HOST_pro', 'localhost');
    
    
    بیشترین تعداد درخواست یک url در دقیقه - بیشتر از این مقدار به عنوان حمله در نظر گرفته میشه
    //Max hits in one min
    define('_max_hits_', '20');
    
    تعداد ساعت فعال بودن یک url در rule
    //Max challeng time - in hours
    define('_Challeng_Hours_', '24');
    
    url هایی که میخواید کلا در rule نیان به هیچ وجه- اختیاری
    //Not challeng urls
    $not_challeng_url_array = array("/ex1","/ex2");
    
    
    آی پی های ایران هم چلنج براشون اجرا بشه یا خیر - فالس = خیر
    //IR IPs challeng active
    define('_Challeng_IR_', false);
    
    گوگل بات ها هم چلنج براشون اجرا بشه یا خیر - فالس = خیر
    //google bots challeng active
    define('_Challeng_GoogleBots_', false);
    
    ایمیل اکانت کلودفلر
    //CloudFlare Email
    define('_CloudFlare_Email_', '');
    
    توکن api کلودفلر- تصویر ضمیمه
    //CloudFlare Token
    define('_CloudFlare_Token_', '');
    
    آی دی دامنه کلود - تصویر ضمیمه
    //CloudFlare Zone - select domain . look at right down menu
    define('_CloudFlare_Zone_', '');
    
    ***** آی دی - بعدا در مرحله ی بعد گفته میشه چطوری دریافت کنید - بعد از تکمیل فایل کانفیگ 
    
    //Rule filter ID - get from get_filters.php
    define('_Filter_ID_', '');
    
    
    توکن ربات تلگرام برای اطلاع رسانی به ادمین
    //telegram bot token
    define('_Telegram_Bot_Token_', '');
    
    آی دی بک اند اکانت ادمین برای اطلاع رسانی به ادمین قابل دریافت از ربات زیر - عددی هست
    //telegram admin backEnd ID - get from @getmyid_bot
    define('admin_telegram', '');

    get_api_zone.png






    مرحله ی پنجم

    بعد از ذخیره کردن فایل کانفیگ نیاز هست id ***** مورد نظر که توی مرحله ی سوم ایجاد کردید رو هم پیدا کنید و داخل فایل کانفیگ بخش مربوطه ذخیره کنید - _Filter_ID_


    خب برای اینکار فایل get_filters.php از طریق مرورگر لود کنید ( اجراش کنید )

    اگر تمام موارد مورد نظر برای کلودفلر رو درست زده باشید باید یه همچین چیزی رو ببینید توی خروجی

    get_filters.png


    من 3 تا رول دارم . شما باید یکی باشه اگر قبلا ایجاد نکرده باشید . توی expression میتونید اون مقداری که زدید رو تشخیص بدید . همون filter رو باید آی دیش رو بردارید ( یک از خط قرمز ها ) . آی دی رو داخل فایل کانفیگ ذخیره کنید


    مرحله ی پنجم

    فایل cron_firewall.php داخل پوشه ی crons رو یک کران جاب براش ایجاد کنید هر دقیقه اجرا بشه


    مرحله ی ششم و آخر

    باید درخواست هارو ذخیره کنیم - در هدر سایت یا یه جایی که تمام درخواست های که میاد (url) رو ذخیره کنیم

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

    کد:
    $url = $_SERVER['REQUEST_URI'];
    //escape
    
    INSERT INTO `firewall_hits`(`url`) VALUES ('$url')
    اگر وردپرس هست . داخل فایل header.php قالب اولش اضافه کنید

    کد PHP:
    <?php
    $current_url 
    $_SERVER['REQUEST_URI'];
    $wpdb->insert('firewall_hits', array(
        
    'url' => $current_url
    ));
    ?>

    و اگر هیچکدام نیست که باید از خود سیستم کمک بگیرید - البته این باعث میشه یک کانکشن mysql اضافی ایجاد بشه روی سرور با هر درخواست برای همین توضیحش نمیدم








    در کل شاید کار کار اشتباه باشی. یا کد نویسی ضعیف باشه یا هرچیزی که شما اساتید میفرمایید . شاید راه بهتری و کم دردسر تری باشه


    ولی خب من با همین روش جواب گرفتم و مشکل حل شده برام . فوقش 1 دقیقه سایت میره زیر ddos


    نکته ی آخر - شاید با پارامتر GET چندین url ایجاد بشه توسط حمله کننده که اگر کسی دید همچین چیزی رو بگه تا کد هارو بروز کنم ولی خب من ندیدم چیزی


    امیدوارم به درد بخوره
    بسیار عالی، تا حدودی میتونه جلوی اتکو بگیره
    ماشالله انقدر عزیزان اتکر پر رو شدند جدیدا با آی پی اینترانت اتک میزنن

  5. تعداد تشکر ها از vMizban به دلیل پست مفید


  6. #3
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض پاسخ : سیستم فایروال آنتی دیداس + کلودفلر cloudflare

    نقل قول نوشته اصلی توسط vMizban نمایش پست ها
    بسیار عالی، تا حدودی میتونه جلوی اتکو بگیره
    ماشالله انقدر عزیزان اتکر پر رو شدند جدیدا با آی پی اینترانت اتک میزنن
    کلا اینقدر دوستان پیگیر هستن شاید هیچ راهی هم جواب نده همونطور که بزرگترین سایت ها که کلی امکانات سخت افزاری برای فایروال و آنتی دیداس دارن هم اتک میخورن و کند میشن

    ولی خب برای این اتک های ضعیف همین راه ها کفایت میشه

  7. تعداد تشکر ها از hoka به دلیل پست مفید


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. نحوه فعالیت سیستم های نظیر cloudflare
    توسط amin021 در انجمن شبکه های لینوکسی
    پاسخ ها: 0
    آخرين نوشته: October 24th, 2016, 18:56
  2. کلودفلر (CloudFlare) واقعا یک آنتی دیداس است؟
    توسط yastheme در انجمن Proxy / Cache / Firewall
    پاسخ ها: 29
    آخرين نوشته: May 14th, 2016, 21:36
  3. اگر از سرویس CND اطلاعاتی دارید ، راهنمایی کنید . Cloudflare
    توسط mobomas در انجمن سوالات و مشکلات
    پاسخ ها: 10
    آخرين نوشته: May 25th, 2014, 08:32
  4. مشکل پاپ آپ در سیستم cloudflare
    توسط yas_web در انجمن وب سرورها
    پاسخ ها: 5
    آخرين نوشته: May 1st, 2014, 10:58
  5. پاسخ ها: 0
    آخرين نوشته: October 14th, 2013, 21:41

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •