نمایش نتایج: از شماره 1 تا 2 از مجموع 2
سپاس ها 3سپاس

موضوع: اسکریپت آگاهی رسانی در مورد لیست سیاه

  
  1. #1
    نام حقيقي: ali

    عضو عادی
    تاریخ عضویت
    Jun 2010
    محل سکونت
    mashhad
    نوشته
    605
    سپاسگزاری شده
    481
    سپاسگزاری کرده
    57

    اسکریپت آگاهی رسانی در مورد لیست سیاه

    درود دوستان
    در بخش فایروال میکروتیک، ممکنه ما قوانین سخت گیرانه یا متوسط زیادی برای حفاظت از روتر و شبکه وارد کرده باشیم که خطرات متفاوت تهدید کننده را شناسایی کرده و بصورت خودکار در لیست سیاه خود قرار دهد تا پس از آن تمام ارتباطات آی پی های تهدید کننده با شبکه و روتر قطع گردد.
    نمونه آماده زیادی از این قوانین در ویکی میکروتیک موجود است، از قوانینی که برای جلوگیری از پورت اسکن نوشته شده تا قوانین متعدد دیگر که برای جلوگیری از بروت فورس شدن یوزر و پسورد، اکانت های وی پی ان سرور ما، اکانت وین باکس، وب، SSH Telnet و یا FTP خود میکروتیک و غیره.

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

    در این اسکریپت، ابتدا لیست آدرس BlackList در روتر مورد بازبینی قرار می گیرد، سپس آن را با آدرس لیست دیگری تحت عنوان BlackListAlert مقایسه می کند، اگر آدرسی در بلک لیست به تازگی اضافه شده باشد، در لیست Alert موجود نباشد، پیام های پی در پی در تلگرام (برای هر آی پی یک پیام در تلگرام) ارسال نموده، همین طور شش آدرس اول اضافه شده به بلک لیست در فاصله زمانی دو اجرا اسکریپت را SMS می کند، در نهایت نیز کلیه آدرس های اضافه شده به بلک لیست را در ایمیلی به شما ارسال می کند.
    چنانچه در هنگام ارسال پیام اطلاع رسانی به تلگرام(به عنوان مبنا) خطایی صورت بپذیرد، پیام SMS نیز ارسال نشده و در بار بعدی اجرای اسکریپت، مجددا تلاش برای اطلاع رسانی انجام خواهد شد.
    -تنها زمانی که اطلاع رسانی به درستی انجام شده باشد، آی پی های موجود در BlackList در لیست مشابه BlackListAlert اضافه می شوند تا دیگر بابت آنها اطلاع رسانی مجددی صورت نگیرد.

    مدت زمان TimeOut که در حال حاضر 30 روز است، بهتر است با زمان Timeout که در قوانین فایروال خود مشخص کرده اید، یکی باشد.
    اگر آی پی دستگاهی شناسایی شد و در BlackList برای مدت زمان مثلا سی روز جهت مسدود سازی قرار گرفت، بهتر است در لیست اطلاع رسانی BlackListAlert نیز به همین مدت قرار گیرد تا زمان آزاد سازی و اطلاع رسانی مجدد یکی باشد.

    این اسکریپت را می توان مستقیما در بخش System Scheduler وارد نمود و یا در بخش اسکریپت نوشته و سپس با استفاده از بخش Scheduler آنرا برای دوره های زمانی متوالی، مثلا هر پنج دقیقه یک بار، اجرا کرد.

    پیش نیاز های اجرای این اسکریپت به شرح زیر است:
    -ساخت و تنظیم یک ایمیل برای روتر، در زمان ساخت باید تائید دو مرحله ای اکانت غیر فعال شده و همچنین در تنظیمات امنتی، اجازه به برنامه ها با امنیت کمتر و نرم افزار های شخص ثالث را برای دسترسی به اکانت باز نماییم.







    -دریافت اکانت از سامانه ها و پنل های SMS جهت ارسال پیام کوتاه به گوشی موبایل با فراخوانی یک آدرس وب:



    -ساخت یک بات با استفاده از @BotFather در تلگرام برای روتر، تا با استفاده از آن و فراخوانی آدرس وب، پیام اطلاع رسانی به تلگرام ارسال گردد.
    نیاز است که بات خود را با اکانت خود Start کنید و آی دی عدد تلگرام خود را از بخش دریافت اطلاعات Bot مشاهده نمایید:
    کد:
    https://api.telegram.org/bot[BotToken]/getupdates
    جهت تست ارسال پیام به آی دی خود می توانید آدرس زیر را فراخوانی نمایید
    کد:
    https://api.telegram.org/bot[YourBotToken]/sendmessage?chat_id=[YourTelegramNumberID]&text=Send_MSG_From_BOT
    همینطور باید تونل وی پی ان در روتر خود برقرار کنید و توجه کنید که داده آدرس api.telegram.org یا آی پی 149.154.167.220 به این تونل هدایت شده و از داخل تریمنال روتر پینگ شود تا فراخوانی آدرس URL جهت ارسال پیام با ایرادی مواجه نگردد.

    در پایان اگر سوالی بود و یا نیاز به باز بینی و شخصی سازی اسکریپت داشتید، من در خدمت و در دسترس هستم.


    اسکریپت آگاهی رسانی از آی پی های جدید وارد شده در بلک لیست روتر میکروتیک :
    کد:
    :local blackIP; :local systemName [system identity get name]; :local dateBlock [system clock get date] ; :local timeBlock [system clock get time] ; :local CreateTime; :local SendError 0; #SMS-Info :local SmsUsername "YourUserName" :local SmsPassword "YourPassword" :local SendMobileNum "5000...YourPanelSMSNumber" :local MyNum "0935XXXXXXX" :local SmsText; :local SmsCount 0 ; #Telegram-Info :local BotToken "720638877:AAFwcEy5n5TN130XXXXXXXXXX-XXXXXXXX"; :local MyID "1365XXXXX"; :local TelMsg; #Email-Info :local emailAddress "YourRouterEmail@gmail.com" :local EmailText; :foreach BListID in=[ip firewall address-list find list="BlackList"] do={ :set blackIP [ip firewall address-list get $BListID address]; :if ( [ip firewall address-list find where list="BlackListAlert" address=$blackIP] = "" ) do={ :set CreateTime [ip firewall address-list get $BListID creation-time]; :set TelMsg "$systemName%20Security%20Notice%20-%20$CreateTime%20:%0A[$blackIP]%20Has%20been%20added%20to%20the%20BlackList%0A"; :set EmailText ($EmailText."IP [$blackIP] Has been added to the BlackList at $CreateTime\r\n"); if ( $SmsCount < 6) do={ :set SmsText ($SmsText."$blackIP%20Has%20been%20added%20to%20the%20BlackList%0A"); :set SmsCount ($SmsCount + 1); } :do { tool fetch url="https://api.telegram.org/bot$BotToken/sendmessage?chat_id=$MyID&text=$TelMsg" mode=https keep-result=no ; log warn ("$systemName Security Notice : $blackIP Has been added to the BlackList at $CreateTime."); ip firewall address-list add list="BlackListAlert" address=$blackIP timeout="30d00:00:00"; } on-error={ log error "$systemName Security Notice : Telegram Alert was not sent."; :set SendError 1 ; } } } :if ( ($SmsCount > 0) && ($SendError = 0) ) do={ :do { :set SmsText "$systemName%20Security%20Notice%20:%0A[$dateBlock%20-%20$timeBlock%20]%0A%0A$SmsText" tool fetch ascii=yes mode=https keep-result=no url="https://raygansms.com/SendMessageWithUrl.ashx?Username=$SmsUsername&Password=$SmsPassword&PhoneNumber=$SendMobileNum&MessageBody=$SmsText&RecNumber=$MyNum&Smsclass=1" ; } on-error={ log error "$systemName Security Notice : SMS Alert was not sent."; } } :if ([:len $EmailText] > 0) do={ :do { tool e-mail send to="$emailAddress" subject="$systemName Security Notice" body="$systemName Security Notice\r\nRuning Time: $dateBlock - $timeBlock\r\n\r\n$EmailText" } on-error={ log error "$systemName Security Notice : Failed to send email."; } }




    موضوعات مشابه:
    mehrzadmo، EVERAL و atoush سپاسگزاری کرده‌اند.

  2. #2
    نام حقيقي: عزیزی

    تازه وارد
    تاریخ عضویت
    Oct 2020
    محل سکونت
    تهران
    نوشته
    1
    سپاسگزاری شده
    0
    سپاسگزاری کرده
    0
    مرسی خوب بود



کلمات کلیدی در جستجوها:

هیچ کلمه ای ثبت نشده است.

برچسب برای این موضوع

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

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