Страница 1 от 1

Request for help on script dyn2stat

Публикувано на: 06 Апр 2014 12:24
от error_404
Здравейте,
не съм много в писането на скриптове, но по логика и оскъдната информация се опитвам да направя скрипт, който динамичните адреси в Address List в Микротик при стартиране да ги вкара в статичен лист (Blocked IP's)

Посредством правила в защитната стена (firewall) се пълнят следните листи динамично:

- deep Black List (Telnet) - опити за хак посредством Telnet
- deep Black List (SSH) - опити за хак посредством SSH
- deep Black List (Winbox) - опити за хакпосредством Winbox
- deep Port Scanners - опити за сканиране на портове

В лист Blocked IP's се записват чрез ръчно добавяне определени адреси!!!
В лист Trusted IP's се записват изключенията от гореописаните правила!!!

Определено някъде бъркамв синтаксиса, но не знам къде

Код за потвърждение: Избери целия код

ip firewall address-list print where list="Blocked IP's"
- Принт на всички адреси в лист Blocked IP's

Посочените по-долу скриптове добавят записите в Blocked IP's, но не изтриват динамичните такива!

Код за потвърждение: Избери целия код

:foreach i in=[/ip firewall address-list find (list="deep Black List (Telnet)" dynamic=yes) ] do={/ip firewall address-list add list="Blocked IP's" copy-from=$i}

:foreach i in=[/ip firewall address-list find (list="deep Black List (SSH)" dynamic=yes) ] do={/ip firewall address-list add list="Blocked IP's" copy-from=$i}

:foreach i in=[/ip firewall address-list find (list="deep Black List (Winbox)" dynamic=yes) ] do={/ip firewall address-list add list="Blocked IP's" copy-from=$i}

:foreach i in=[/ip firewall address-list find (list="deep Port Scanners" dynamic=yes) ] do={/ip firewall address-list add list="Blocked IP's" copy-from=$i}
Сега остава да навържа посочените по-горе скриптове в chain и после да провери записите и ако ги има да изтрие динамичните.

Код за потвърждение: Избери целия код

:foreach i in [/ip firewall address-list find (list="deep Black List (Winbox)" dynamic=yes) ] do={/ip firewall address-list remove $i};
:foreach i in [/ip firewall address-list find (list="deep Black List (Telnet)" dynamic=yes) ] do={/ip firewall address-list remove $i};
:foreach i in [/ip firewall address-list find (list="deep Black List (SSH)" dynamic=yes) ] do={/ip firewall address-list remove $i};
:foreach i in [/ip firewall address-list find (list="deep Port Scanners" dynamic=yes) ] do={/ip firewall address-list remove $i};
Да го добавя в Scheduler където да стартира на всеки 7 дена примерно ;)

Предварително благодаря за оказаната помощ!

Solution: dyn2stat

Публикувано на: 25 Сеп 2014 19:31
от error_404
Благодаря на колегата!
Споделеният опит е безценен!!!
Прави всички динамични IP-та от всички адресни листи в статични

Код за потвърждение: Избери целия код

/ip firewall address-list set dynamic=no [/ip firewall address-list find dynamic]
[ENTER]

Трансфер от един лист в друг. Листа, в който ще преместваме предшества листа, от който преместваме!

Код за потвърждение: Избери целия код

/ip firewall address-list set list="Blocked IP's" [/ip firewall address-list find list="deep Black List (SSH)"]
[ENTER]

Код за потвърждение: Избери целия код

/ip firewall address-list set list="Blocked IP's" [/ip firewall address-list find list="deep Black List (Telnet)"]
[ENTER]

Код за потвърждение: Избери целия код

/ip firewall address-list set list="Blocked IP's" [/ip firewall address-list find list="deep Black List (Winbox)"]
[ENTER]

Код за потвърждение: Избери целия код

/ip firewall address-list set list="Blocked IP's" [/ip firewall address-list find list="deep Port Scanners"]
[ENTER]

dyn2stat on new ROS 6.XX

Публикувано на: 03 Дек 2016 14:11
от error_404
System > Script

Код за потвърждение: Избери целия код

:foreach i in=[/ip firewall address-list find dynamic=yes] do={
   :local w [/ip firewall address-list get $i address];
   /ip firewall add rem [/ip firewall add find address=$w]
   /ip firewall add add list="Blocked IP's" address=$w
}
optionally System > Scheduler to make run on schedule!