Разное

Mikrotik firewall: Стена огня. Учимся настраивать файрвол на примере MikroTik — «Хакер»

Содержание

Настройка firewall на mikrotik, настройка безопасности.

Firewall на микротик состоит из следующих составляющих, это цепочки (chain) и действия в этих цепочках (Action), а также различные фильтры к трафику который обрабатывается в цепочках.

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Firewall Chain

В Mikrotik существуют следующие цепочки

Input – цепочка для обработки пакетов поступающих на маршрутизатор, имеющих в качестве адреса назначение ip  самого маршрутизатора.

Forward – в этой цепочки обрабатываются пакеты проходящие через маршрутизатор

Output – цепочка для обработки пакетов созданных маршрутизатором, например когда мы с маршрутизатора пингуем или подключаемся по telnet

Из описания понятно, что для защиты маршрутизатора нужно использовать цепочку input. А для обработки трафика от пользователей и к пользователям использовать chain forward. Использование Output мне не приходилось.

Firewall Action

В цепочках можно осуществлять следующие действия

ПараметрДействие
AcceptРазрешить
add-dst-to-address-listДобавить ip назначение в список адресов указанный в Address List
add-src-to-address-listДобавить ip источника  в список адресов указанный в Address List
Dropзапретить
fasttrack-connectionОбрабатывать пакеты включив FastTrack т. е пакеты будут проходить по самому быстрому маршруту, минуя остальные правила firewall и обработку в очередях
JumpПрыжок, переход на другую цепочку заданную в Jump target
logЗапись в лог
passthroughПерейти к следующему правилу не делая никаких действий(полезно для сбора статистики)
RejectОтбить пакет с причиной указанной в Reject with
ReturnВернуть пакет в цепочку из который он пришел
tarpitзахватывает и поддерживает TCP-соединения (отвечает с SYN / ACK на входящий пакет TCP SYN)

 

Фильтрация в firewall

Фильтрация пакетов которые могут попасть в цепочки может осуществляться по

Src.Address – адрес источника

Dst.Address – адрес назначения

Protocol – Протокол(TCP, UDP и т.д)

Src. Port – порт источника

Dst.Port –порт назначения

In.Interface –входящий интерфейс

Out.Interface – исходящий интерфейс

Packet.Mark – метка  пакета

Connection.Mark –метка  соединения

Routing Mark – метка  маршрута

Roting table — адрес получателя которых разрешен в конкретной таблице маршрутизации

Connection Type – тип соединения

Connection State — состояние соединения (установлено, новое и т.д)

Connection NAT State – цепочка NAT (srcnat, dstnat)

Примеры настройки firewall

Рассмотрим некоторые примеры по настройки firewall на маршрутизаторе микротик.

Настройка безопасности Микротик

Для начала настроим безопасность на наше маршрутизаторе, Для этого сделаем следующие

1. Запретим пинговать наше устройство

2.Запретим доступ к микротику всем  кроме локальной сети и разрешенных ip адресов

Для настройки подключаемся к роутеру с помощью утилиты winbox и  идем в меню IP-Firewall. Вкладка Filter Rules и нажимаем добавить.

Запрещаем пинги на наше устройство, для этого,  на вкладке general,   chain выбираем input protocol icmp

На вкладке Action выбираем drop

Запрещаем доступ к управлению маршрутизатора. Для начала создаем лист с нашими разрешенными адресами, переходим в IP-Firewall, вкладка Address Lists, добавляем новый лист

Name – название нашего листа

Address – адреса относящиеся к этому листу, можно указывать как отдельные адреса так и сети.

Дальше создаем новое правило, снова переходим в Filter rules и добавляем его

Затем переходим на вкладку Advanced и в качестве Src. List выбираем созданный лист

В действии Action выбираем разрешить accept.

Можно было не создавать лист, а на вкладке General в параметре Src. Address прописать нашу сеть, просто мне удобнее работать со списками адресов, в будущем для добавления нового адреса нужно его просто добавить в лист allow_ip.

Следующим шагом запрещаем все входящие соединения. Добавляем правило на chain  input, и в действии ставим drop.  Должно получится следующие

Здесь следует отметить что обработка правил идет сверху вниз, т.е правило запрещающее все подключения должно находится внизу, иначе разрешающие правила не сработают.

Для того что бы поменять местами правило, нужно кликнуть по строке и с зажатой левой кнопкой мыши перетащить его на нужное место.
На самом деле, правило по запрете ping  можно было не создавать, т.к последнее правило блокирует все попытки доступа к роутеру, в том числе и пинг.

Доступ пользователей в интернет

Допустим нам нужно дать доступ в интернет только для определенной сети. Для этого создаем два разрешающих  правила в chain  forward. Первое правило разрешает исходящий трафик из нашей сети

Action ставим accept. Можно как указать Src. Address, так и использовать Address Lists, как мы это делали выше.  Следующим правилом разрешаем прохождение пакетов в нашу сеть.

B следующим правилом запрещаем все остальные сети,

Action выбираем drop. В результате получится следующее

Запрет доступа пользователя в интернет

Если нам нужно запретить доступ в интернет определенным пользователям, давайте сделаем это через Address Lists, что бы в дальнейшем проще было добавлять или удалять правила, переходим на вкладку address Lists и создаем список block в который добавим адреса для блокировки.

Создаем запрещающее правило firewall в chain forward, в котором на вкладке Advanced в Src. Address  List выбираем наш список для блокировки

В Action выбираем Drop. Теперь, наше правило нужно поставить выше разрешающего правила,  иначе оно не сработает, как это сделать я писал выше, в результате получится следующая картина

Аналогично можно запретить доступ к внешним ресурсам, так же создаем список для блокировки, но в настройка firewall уже указываем его в качестве Dst. Address List. Кроме ip адреса в список можно вносить и доменные имена, например если мы хотим запретить доступ пользователей в соцсети, одноклассники или вконтакте.

Доступ только к сайтам

В следующим примере рассмотрим как разрешить пользователям выход в интернет только по 80 и 443 порту и запретить все остальные, для этого создадим разрешающее правило в chain  forward, Protocol выбираем tcp и в параметре Dst.Prort указываем разрешенные порты

Тоже самое можно сделать с помощью запрещающего правила, используя оператор отрицания «!», а Action установить drop

Это означает,  запретит все порты кроме 80 и 443.

Конечно,  все возможности firewall на микротик я показать не смогу, но основные параметры думаю понятны.

Внимание! при настройке  firewall  на MikroTIK, настоятельно рекомендую проводить их в «Safe Mode» как ее включить описано здесь, в противном случае вы рискуете потерять доступ к маршрутизатору.

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

скрипт генерирующий основу для политики фильтрации / Хабр

Кто хоть раз писал политику фильрации firewall знает, что это дело не простое и сопряжено с кучей ошибок, когда колличество сетевых зон больше 2-х. В этой сутации вам поможет скрипт из этой статьи.

Введение

Под сетевой зоной я подразумеваю совокупность интерфейсов или IP адресов, для которых применяется правило фильтрации. В моем скрипте IP адреса зоны закреплены за интерфейсом. То есть, если мы ожидаем «доверенные» IP адреса из локальной сети, то будет странно, если соответствующие соединения прилетят к нам от провайдера.

Как оно работает

Все вертится вокруг описания зон, где мы задаем как они между собой взаимодействуют.
В моей конфигурации, если не заданы другие правила, весь трафик будет сброшен с правилом DROP, поэтому мы будем задавать правила ACCEPT и REJECT.

Далее скрипт в цикле проходит по всем описаниям зон и создает:

  • Списки интерфейсов IF-<имя зоны>
  • Списки адресов IP-<имя зоны>
  • Задает дефолтовую и немного мной дополненую конфигурацию filter, mangle и raw

IP зона назначения трафика от интерфейсной отличается тем, что её имени нет в разделе для интерфейсов. Таким образом скрипт и понимает, где у нас назначение ip, а где интерфейс.

Переменные

  • gping — Разрешить ping во всех направлениях и на пересылке. Иными словами, пинговать можно будет даже то, что было закрыто другими правилами в filter. Включать по желанию 😉
  • debug — Ставит в самое начало корневых цепочек ACCEPT правило, что делает все остальные правила бесполезными. Очень полезно на этапе отладки правил. Делаете политику как вы хотите, включаете Safe Mode, а потом эти правила отключаете. Если роутер стал недоступен, то уже через 10 сек правила будут включены опять и вы сможете подумать, а в чем вы ошиблись?
  • allout — Разрешает исходящий трафик роутера, обычно роутер у нас не генерит плохого трафика, так что в ряде конфигураций такое приемлимо.

Описание зон

Само описание разделено на два блока: интерфейсы и ip адреса. Для интерфейсов есть специальные переменные:

  • is_wan: добавляет правила для обработки тунелей и DNS
  • do_masq: добавляет правила для маскардинга трафика в эту зону
  • is_lan: добавляет правила для ответа на DHCP и DNS
  • z2s: добавляет правила разрешающие форвард с интерфейса зоны на другой её интерфейс
  • mss: добавляет правила корректировки mss для туннельных интерфейсов, если встроенные средства вас не устраивают
  • ADDoS: Добавляет правила защиты от DDoS или подбора паролей. Работет примитивно — обнаруживает факты слишком частых (по нашему мнению) соединений, и такой IP помещает в список для дальнейшего бана. имеются предопределенные политики:
    • gen — generic, не зависит от протокола, лочит все что похоже на плохое.
    • mngr — managment, работает на протоколы управления mikrotik (winbox, ssh)
    • Любое другое имя — создаст отключенную цепочку, для вашего варианта протокола.

Так же есть две специальные зоны: rt, это сам роутер, и all, как не трудно догадаться «любое направление», all не может быть указан в качестве источника трафика.

Основное действие скрипта, это создание серии правил jump с фильтрацией по источнику и назначению трафика, которые терминируются правилом с ACCEPT или REJECT.

Описание зоны может быть редуцированно, как в примере для ISP и rt (должно быть всегда).

Если вы хотите терминировать цепочку своим правилом, то в описание зоны просто вместо accept или reject впишите custom (или что угодно), тогда цепочка jump-ов не будет завершена никаким правилом, а вы сможете создать его самостоятельно.

Пояснение правил из скрипта

Зоны

:local gping 1
:local debug 0
:local zones {
	"if"={
		"ISP"={
			"is_wan"=1;
			"do_masq"=1;
			"ADDoS"={
				mngr={
					dst-limit="4/1m,1,src-address/1m40s";
					timeout="1d";
					comment="Blocking bruteforcing winbox & ssh port";
					excl=[:toarray ("Trusted")];
				};
				gen={
					dst-limit="50,50,src-address/10s";
					timeout="1d";
					comment="Blocking potential DDoS";
					excl=[:toarray ("Trusted")];
				};
			};
		};
		"LAN"={
			"is_lan"=1;
			"z2s"=1;
			policy={ 
				"all"="accept";
			};
		};
		"TUN"={
			mss=1400;
		};
		"rt"={};
	};
	"ip"={
		"rt"={
			policy={
				"all"="accept" 
			};
		};
		"TUN"={
			"Staff"={
				"Server"="accept";
			};
			"Manager"={
				"all"="accept";
			};
		};
		"ISP"={
			"Trusted"={
				"rt"="accept";
			};
		};
	};
}

Задано 4-е зоны для интерфейсов, одна из которых, обязательная rt:

  • ISP — для провайдера, поэтому указано создавать дополнительные правила для некоторых протоколов.
  • LAN — для локальной сети, ей заданы правила для lan и есть общее разрешающие действие на любые направления.
  • TUN — для собственно тунелей, указана корректировка MSS.

B 3-и ip зоны:

  • Staff и Manager на интерфейсах TUN:
    • Staff — имеет доступ только к ip зоне Server
    • Manager — могут куда угодно

  • Trusted на интерфейсе ISP имеет доступ к роутеру

gen-filter

# jun/29/2020 10:00:00 by RouterOS 6.46.6
# RoS filter generator v 0.9.7

:local gping 0
:local debug 1
:local allout 1
:local zones {
	"if"={
		"ISP"={
			"is_wan"=1;
			"do_masq"=1;
			"ADDoS"={
				mngr={
					dst-limit="4/1m,1,src-address/1m40s";
					timeout="1d";
					comment="Blocking bruteforcing winbox & ssh port";
					excl=[:toarray ("Trusted")];
				};
				gen={
					dst-limit="50,50,src-address/10s";
					timeout="1d";
					comment="Blocking potential DDoS";
					excl=[:toarray ("Trusted")];
				};
			};
		};
		"LAN"={
			"is_lan"=1;
			"z2s"=1;
			policy={ 
				"all"="accept";
			};
		};
		"TUN"={
			mss=1400;
		};
		"rt"={};
	};
	"ip"={
		"rt"={
			policy={
				"all"="accept" 
			};
		};
		"TUN"={
			"Staff"={
				"Server"="accept";
			};
			"Manager"={
				"all"="accept";
			};
		};
		"ISP"={
			"Trusted"={
				"rt"="accept";
			};
		};
	};
}
/ip firewall raw
add action=notrack chain=prerouting ipsec-policy=in,ipsec comment="Notrack ipsec"
add action=notrack chain=prerouting dst-address-type=multicast comment="Notrack multicast"
/ip firewall filter
:if ( ($debug)=0 ) do={
	add action=accept chain=forward comment=DEBUG!!! disabled=yes
	add action=accept chain=input comment=DEBUG!!! disabled=yes
	add action=accept chain=output comment=DEBUG!!! disabled=yes
} else={
	add action=accept chain=forward comment=DEBUG!!!
	add action=accept chain=input comment=DEBUG!!!
	add action=accept chain=output comment=DEBUG!!!
}
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127. 0.0.1 dst-port=5246,5247 protocol=udp src-address-type=local
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=jump chain=input comment="defconf: new input" connection-state=new jump-target=in-new
add action=jump chain=input comment="defconf: notrack input" jump-target=in-notrack
add action=drop chain=input comment="defconf: drop all not allowed"
add action=accept chain=output comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=jump chain=output comment="defconf: new output" connection-state=new jump-target=out-new
add action=jump chain=output comment="defconf: notrack output" jump-target=out-notrack
:if ( ($allout)=1 ) do={
	add action=accept chain=out-notrack comment="defconf: Allow any trafic from rt"
} else={
	add action=accept chain=out-notrack comment="defconf: Allow any trafic from rt" disabled=yes
}
add action=drop chain=output comment="defconf: drop all not allowed"
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-mark=no-mark connection-state=established,related
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=jump chain=forward comment="defconf: new forward" connection-state=new jump-target=fw-new
add action=jump chain=forward comment="defconf: notrack forward" jump-target=fw-notrack
add action=accept chain=forward comment="defconf: Accept all forward DSTNATed" connection-nat-state=dstnat
add action=drop chain=forward comment="defconf: drop all not allowed for forward"
:if ( ($gping)=1 ) do={
	add action=accept chain=WAN2RT-STD-PROTO comment=ICMP protocol=icmp disabled=yes
} else={
	add action=accept chain=WAN2RT-STD-PROTO comment=ICMP protocol=icmp
}
add action=accept chain=WAN2RT-STD-PROTO comment=GRE ipsec-policy=in,ipsec protocol=gre
add action=accept chain=WAN2RT-STD-PROTO comment=IPSec protocol=ipsec-esp
add action=accept chain=WAN2RT-STD-PROTO comment=IPSec protocol=ipsec-ah
add action=accept chain=WAN2RT-STD-PROTO comment="IPSec encapsulated" dst-port=500,4500 protocol=udp
add action=accept chain=WAN2RT-STD-PROTO comment=L2TP dst-port=1701 ipsec-policy=in,ipsec protocol=udp
add action=accept chain=WAN2RT-STD-PROTO comment=PPtP dst-port=1723 protocol=tcp
add action=accept chain=LAN2RT-STD-PROTO comment=DNS dst-port=53 protocol=tcp
add action=accept chain=LAN2RT-STD-PROTO comment=NTP,DNS,DHCP dst-port=53,123,67-68 protocol=udp
add action=accept chain=LAN2RT-STD-PROTO comment=DHCP dst-port=67-68 protocol=udp
add action=accept chain=RT2WAN-STD-PROTO comment=DNS dst-port=53 protocol=tcp
add action=accept chain=RT2WAN-STD-PROTO comment=NTP,DNS dst-port=53,123 protocol=udp
add action=accept chain=WAN2RT-STD-PROTO comment=IPSec protocol=ipsec-esp
add action=accept chain=RT2WAN-STD-PROTO comment=IPSec protocol=ipsec-ah
add action=accept chain=RT2WAN-STD-PROTO comment="IPSec encapsulated" dst-port=500,4500 protocol=udp
add action=reject chain=RT2WAN-STD-PROTO comment=GRE ipsec-policy=out,none protocol=gre reject-with=icmp-admin-prohibited
add action=reject chain=RT2WAN-STD-PROTO comment=L2TP dst-port=1701 ipsec-policy=out,none protocol=udp reject-with=icmp-admin-prohibited
:if ( ($gping)=1 ) do={
	add action=accept chain=fw-new comment=ICMP protocol=icmp
	add action=accept chain=in-new comment=ICMP protocol=icmp
	add action=accept chain=out-new comment=ICMP protocol=icmp
} else={
	add action=accept chain=fw-new comment=ICMP protocol=icmp disabled=yes
	add action=accept chain=in-new comment=ICMP protocol=icmp disabled=yes
	add action=accept chain=out-new comment=ICMP protocol=icmp disabled=yes
}
/ip firewall filter
:foreach zone,conf in=($zones->"if") do={
	:if ( ($zone)!="rt" ) do={
		:if ( [/interface list print count-only where name=("IF-". $zone)] = 0) do={
			/interface list add name=("IF-".$zone)
		}
		add action=jump chain=fw-new in-interface-list=("IF-".$zone) comment=("Fwd plc from if ".$zone) jump-target=("fw-plc-s:".$zone)
		add action=jump chain=in-new in-interface-list=("IF-".$zone) comment=("In plc for if ".$zone) jump-target=("in-plc-s:".$zone)
		:foreach ddos,val in=($conf->"ADDoS") do={
			:if ( $ddos="mngr" ) do={
				add action=jump chain=("in-plc-s:".$zone) dst-port=22,8291 jump-target=("ADDoS-s:".$zone."-".$ddos) comment=("AntiDDoS for ".$ddos." from ".$zone) protocol=tcp
			}
			:if ( $ddos="gen" ) do={
				add action=jump chain=("in-plc-s:".$zone) jump-target=("ADDoS-s:".$zone."-".$ddos) comment=("AntiDDoS for ".$ddos." from ".$zone)
			}
			:if ( $ddos="mngr" || $ddos="gen" ) do={
				:foreach excl in=(($val)->"excl") do={ 
					add action=return chain=("ADDoS-s:".$zone."-".$ddos) comment=("Execption for ".$excl." from ".$zone) src-address-list=("IP-".$excl)
				}
				add action=return chain=("ADDoS-s:". $zone."-".$ddos) comment=("Limit number incoming connections for ".$ddos." from ".$zone) dst-limit=(($val)->"dst-limit")
				add action=add-src-to-address-list address-list=("IP-DDoS-s:".$zone."-".$ddos) address-list-timeout=(($val)->"timeout") chain=("ADDoS-s:".$zone."-".$ddos) comment=("Add to IP-DDoS-".$ddos." list from ".$zone)
			}
			:if ( $ddos!="mngr" && $ddos!="gen" ) do={
				add action=jump chain=("in-plc-s:".$zone) jump-target=("ADDoS-".$ddos) comment=("AntiDDoS for ".$ddos." from ".$zone) disabled=yes
				:foreach excl in=(($val)->"excl") do={ 
					add action=return chain=("ADDoS-s:".$zone."-".$ddos) comment=("Execption for ".$excl." from ".$zone) src-address-list=("IP-".$excl)
				}
				add action=return chain=("ADDoS-s:".$zone."-".$ddos) comment=("Limit number incoming connections for ".$ddos." from ".$zone)
			}
			/ip firewall raw add action=drop chain=prerouting comment=("DROP Banned by ".$ddos." from ".$zone) in-interface-list=("IF-".$zone) src-address-list=("IP-DDoS-s:". $zone."-".$ddos)
		}
	} else={
		add action=jump chain=out-new comment=("Out plc for rt") jump-target="out-plc-s:rt"
	}	
}
:foreach zone,conf in=($zones->"if") do={
	:if ( ($zone)!="rt" && ($zone)!="all") do={
		:if ( ($conf->"is_lan")=1 ) do={
			add action=jump chain=in-notrack comment=("In Allow plc for STD LAN PROTO from ".$zone) in-interface-list=("IF-".$zone) jump-target=LAN2RT-STD-PROTO
		}
		:if ( ($conf->"is_wan")=1) do={
			add action=jump chain=in-notrack comment=("In Allow plc for STD WAN PROTO from ".$zone) in-interface-list=("IF-".$zone) jump-target=WAN2RT-STD-PROTO
			add action=jump chain=out-notrack out-interface-list=("IF-".$zone) comment=("Out Allow plc for STD WAN PROTO to ".$zone) jump-target=RT2WAN-STD-PROTO
		}
		:if ( ($conf->"do_masq")=1) do={
			/ip firewall nat add action=masquerade chain=srcnat out-interface-list=("IF-".$zone) comment=("Masquerade traffic going to ".$zone)
		}
		:if ( [:len ($conf->"mss")]!=0 ) do={
			/ip firewall mangle add action=change-mss chain=forward in-interface-list=("IF-". $zone) new-mss=($conf->"mss") passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=(($conf->"mss"+1)."-65535") comment=("Fix mss on tunel ".$zone)
			/ip firewall mangle add action=change-mss chain=forward out-interface-list=("IF-".$zone) new-mss=($conf->"mss") passthrough=yes protocol=tcp tcp-flags=syn tcp-mss=(($conf->"mss"+1)."-65535") comment=("Fix mss on tunel ".$zone)
		}
		:if ( ($conf->"z2s")=1 ) do={
			add action=accept chain=("fw-plc-s:".$zone) out-interface-list=("IF-".$zone) comment=("Fwd plc from if ".$zone." to self")
		}				
		:foreach src,val in=(($zones->"ip")->$"zone") do={
			:foreach tgt,policy in=$val do={
				:if ( ($tgt)!="rt" && ($tgt)!="all") do={
					:if ( [:len (($zones->"if")->$"tgt")]=0 ) do={
						add action=jump chain=("fw-plc-s:".$zone) src-address-list=("IP-".$src) dst-address-list=("IP-".$tgt) comment=("Fwd plc from if ".$zone." & ip ".$src." to ".$tgt) jump-target=("fw-plc-s:".$zone."&".$src.">".$tgt)
					} else={
						add action=jump chain=("fw-plc-s:". $zone) src-address-list=("IP-".$src) out-interface-list=("IF-".$tgt) comment=("Fwd plc from if ".$zone." & ip ".$src." to ".$tgt) jump-target=("fw-plc-s:".$zone."&".$src.">".$tgt)
					}
					:if ( ($policy)="accept") do={
						add action=accept chain=("fw-plc-s:".$zone."&".$src.">".$tgt) comment=("Fwd plc from if ".$zone." & ip ".$src." Accept to ".$tgt)
					}
					:if ( ($policy)="reject") do={
						add action=reject chain=("fw-plc-s:".$zone."&".$src.">".$tgt) comment=("Fwd plc from if ".$zone." & ip ".$src." Reject to ".$tgt)
					}
				}
				:if ( ($tgt)="rt" ) do={
					add action=jump chain=("in-plc-s:".$zone) src-address-list=("IP-".$src) comment=("In plc for if ".$zone." & ip ".$src." to rt") jump-target=("in-plc-s:".$zone."&".$src.">rt")
					:if ( ($policy)="accept") do={
						add action=accept chain=("in-plc-s:".$zone."&".$src.">rt") comment=("In plc for if ".$zone." & ip ".$src." Accept to rt")
					}
					:if ( ($policy)="reject") do={
						add action=reject chain=("in-plc-s:". $zone."&".$src.">rt") comment=("In plc for if ".$zone." & ip ".$src." Accept to rt")
					}
				}
				:if ( ($tgt)="all" ) do={
					add action=jump chain=("fw-plc-s:".$zone) src-address-list=("IP-".$src) comment=("Fwd plc from if ".$zone." & ip ".$src." to All") jump-target=("fw-plc-s:".$zone."&".$src.">all")
					add action=jump chain=("in-plc-s:".$zone) src-address-list=("IP-".$src) comment=("In plc for if ".$zone." & ip ".$src." to All") jump-target=("in-plc-s:".$zone."&".$src.">all")
					:if ( ($policy)="accept") do={
						add action=accept chain=("fw-plc-s:".$zone."&".$src.">all") comment=("Fwd plc from if ".$zone." & ip ".$src." Accept to All")
						add action=accept chain=("in-plc-s:".$zone."&".$src.">all") comment=("In plc from if ".$zone." & ip ".$src." Accept to All")
					}
					:if ( ($policy)="reject") do={
						add action=reject chain=("fw-plc-s:".$zone."&".$src.">all") comment=("Fwd plc from if ".$zone." & ip ". $src." Reject to All")
						add action=reject chain=("in-plc-s:".$zone."&".$src.">all") comment=("In plc from if ".$zone." & ip ".$src." Reject to All")
					}
				}
			}
		}
		:foreach tgt,policy in=($conf->"policy") do={
			:if ( ($tgt)!="rt" && ($tgt)!="all") do={
				:if ( [:len (($zones->"if")->$"tgt")]=0 ) do={
					add action=jump chain=("fw-plc-s:".$zone) dst-address-list=("IP-".$tgt) comment=("Fwd plc from if ".$zone." to ".$tgt) jump-target=("fw-plc-s:".$zone.">".$tgt)
				} else={
					add action=jump chain=("fw-plc-s:".$zone) out-interface-list=("IF-".$tgt) comment=("Fwd plc from if ".$zone." to ".$tgt) jump-target=("fw-plc-s:".$zone.">".$tgt)
				}
				:if ( ($policy)="accept") do={
					add action=accept chain=("fw-plc-s:".$zone.">".$tgt) comment=("Fwd plc from if ".$zone." Accept to ".$tgt)
				}
				:if ( ($policy)="reject") do={
					add action=reject chain=("fw-plc-s:".$zone.">".$tgt) comment=("Fwd plc from if ".$zone." Reject to ". $tgt)
				}
			}
			:if ( ($tgt)="rt" ) do={
				:if ( ($conf->"is_lan")!=1 && ($conf->"is_wan")!=1 ) do={
					add action=jump chain=("in-plc-s:".$zone) comment=("In plc for if ".$zone." to rt") jump-target=("in-plc-s:".$zone.">rt")
				}
				:if ( ($policy)="accept") do={
					add action=accept chain=("in-plc-s:".$zone.">rt") comment=("In plc for if ".$zone." Accept to rt")
				}
				:if ( ($policy)="reject") do={
					add action=reject chain=("in-plc-s:".$zone.">rt") comment=("In plc for if ".$zone." Reject to rt")
				}
			}
			:if ( ($tgt)="all" ) do={
				add action=jump chain=("fw-plc-s:".$zone) comment=("Fwd plc from if ".$zone." to All") jump-target=("fw-plc-s:".$zone.">all")
				add action=jump chain=("in-plc-s:".$zone) comment=("In plc for if ".$zone." to All") jump-target=("in-plc-s:".$zone.">all")
				:if ( ($policy)="accept") do={
					add action=accept chain=("fw-plc-s:".$zone.">all") comment=("Fwd plc from if ".$zone." Accept to All")
					add action=accept chain=("in-plc-s:". $zone.">all") comment=("In plc from if ".$zone." Accept to All")
				}
				:if ( ($policy)="reject") do={
					add action=reject chain=("fw-plc-s:".$zone.">all") comment=("Fwd plc from if ".$zone." Reject to All")
					add action=reject chain=("in-plc-s:".$zone.">all") comment=("In plc from if ".$zone." Reject to All")
				}
			}
		}
	}
}

Заключение

Данный скрипт мне помог сильно облегчить настройку сложных политик, однако, ошибки в нем все-же могут быть. Перед применением проконсультируйтесь со специалистом. В случае обнаружения побочных явлений, пишите, будем исправлять.

базовая настройка firewall [RTzRa’s hive]

Курс «Настройка оборудования MikroTik»

Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Узнать подробности

RouterOS является разновидностью Linux, в качестве пакетного фильтра применяется netfilter со всеми вытекающими плюсами и минусами. Документация по netfilter: http://www.netfilter.org/documentation/ и http://www.opennet.ru/docs/RUS/iptables/

Существует 3 основных таблицы:

Общий порядок:

Роутинг трафика Layer 3 (IP):

Бриджинга трафика Layer 2 (MAC):

Packet Flow Diagram (упрощенная):

Несколько принципов:

При изменении правил вполне возможно заблокировать самому себе доступ к устройству! Во избежание таких выстрелов себе в ногу следует явно прописывать самым первым правилом разрешение себе на доступ к устройству и использовать кнопку Winbox’а обозначенную как «Safe Mode»

Описание строк:

> /ip firewall filter print 
Flags: X - disabled, I - invalid, D - dynamic 
 0    ;;; Drop all INVALID
      chain=input action=drop connection-state=invalid log=no log-prefix="" 
 1    chain=forward action=drop connection-state=invalid log=no log-prefix="" 
 2    ;;; Allow all ESTABLISHED
      chain=input action=accept connection-state=established log=no log-prefix="" 
 3    chain=forward action=accept connection-state=established log=no log-prefix="" 
 4    ;;; Allow all RELATED
      chain=input action=accept connection-state=related log=no log-prefix="" 
 5    chain=forward action=accept connection-state=related log=no log-prefix="" 
 6    ;;; Allow ICMP from all
      chain=input action=accept protocol=icmp log=no log-prefix="" 
 7    chain=forward action=accept protocol=icmp log=no log-prefix="" 
 8    ;;; Allow DNS from LAN
      chain=input action=accept protocol=udp src-address=192. 168.88.0/24 in-interface=bridge-local dst-port=53 log=no log-prefix="" 
 9    ;;; SSH anti-bruteforce
      chain=input action=drop protocol=tcp src-address-list=ssh_blacklist dst-port=22 log=no log-prefix="" 
10    chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist address-list-timeout=30m dst-port=22 log=no log-prefix="" 
11    chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3 address-list-timeout=1m dst-port=22 log=no log-prefix="" 
12    chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2 address-list-timeout=1m dst-port=22 log=no log-prefix="" 
13    chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22 log=no log-prefix="" 
14    chain=input action=accept connection-state=new protocol=tcp dst-port=22 log=no log-prefix="" 
15    ;;; Allow SSH from all
      chain=input action=accept protocol=tcp dst-port=22 log=no log-prefix=""  
16    ;;; Allow HTTPS from all
      chain=input action=accept protocol=tcp dst-port=443 log=no log-prefix=""  
17    ;;; Allow WINBOX from Home
      chain=input action=accept protocol=tcp in-interface=bridge-local dst-port=8291 log=no log-prefix=""  
18    ;;; Allow NTP from LAN
      chain=input action=accept protocol=udp in-interface=bridge-local dst-port=123 log=no log-prefix="" 
19    ;;; Allow Internet from LAN
      chain=forward action=accept src-address=192. 168.88.0/24 in-interface=bridge-local log=no log-prefix="" 
20    ;;; DROP ALL REQUEST
      chain=input action=drop log=no log-prefix="" 
21    chain=forward action=drop log=no log-prefix=""

Разрешает выход компьютеров локальной сети в интернет через PPPoE-интерфейс с именем MY_PROVIDER

 > /ip firewall nat  print     
Flags: X - disabled, I - invalid, D - dynamic 
 0    ;;; Masquerade for LAN to ISP
      chain=srcnat action=masquerade src-address=192.168.88.0/24 out-interface=MY_PROVIDER log=no log-prefix=""

Правила firewall для MikroTik — Stack Overflow на русском

Я советую делать так:

Первое правило это разрешение пакетов от всех уже установленных соединений. Это снизит нагрузку на ЦПУ при обработке правил. Отдельно рекомендую почитать про fasttrack

/ip firewall filter add chain=input connection-state=established,related

Далее необходимо разрешить все нужные входящие пакеты (пример ниже)

/ip firewall filter add chain=input protocol=icmp icmp-options=0 comment="ICMP Echo/Reply"
/ip firewall filter add chain=input in-interface=LAN protocol=tcp dst-port=8291,22 commet="Allow remote mgmt"
/ip firewall filter add chain=input in-interface=LAN protocol=udp dst-port=53 comment="Allow DNS"

Если соберетесь открывать со стороны WAN управление роутером, то необходимо сменить стандартные порты, а также ограничить к ним доступ списком сетей или настроить port knocking

Последним правилом в цепочке input будет drop всех остальных пакетов, которые мы не разрешили выше

/ip firewall filter add chain=input action=drop

Далее необходимо разрешить проходящие через роутер пакеты или дать всем желающим интернет

/ip firewall filter add chain=forward connection-state=established,related
/ip firewall filter add chain=forward in-interface=LAN src-address=192. 168.0.0/24 comment="Allow all for LAN"

Первой строкой, также как и для цепочки input, разрешаем пакеты от всех уже установленных соединений. Второй разрешаем локалке ходить куда угодно через роутер.

Ну и последнее правило таблицы filter это drop всего остального

/ip firewall filter add chain=forward action=drop

Ну и не забываем про nat

/ip firewall nat add chain=srcnat out-interface=WAN src-address=192.168.0.0/24 action=src-nat to-address=<wan-ip-address>

Иногда предлагают в место src-nat в action выбирать masquerade так делать нужно если wanip у вас динамический, если адрес в итоге статический то лучше использовать src-nat это сэкономит вашему роутеру немного памяти.

Firewall Mikrotik — Наш блог

Через всю настройку фаервола красной строкой проходят несколько понятий. Осмыслить их просто, если знать происхождение терминов.

Источники:

SRCпроисходит от английского source — источник.
DSTпроисходит от английского destination — назначение.

Следовательно, сразу становится ясным, на что направлено то или иное действие.

Действия:

Основная масса действий производится в Filter rules.

Есть три основные цепочки input, output и forward. Можно создавать дополнительные, но на начальном этапе настройки я бы не стал их рассматривать.

Inputдействия с пакетами, которые направляются в роутер, то есть адресованы именно на адрес роутера и дальше не пойдут.
Outputдействия с пакетами, источником которых является сам роутер.
Forwardдействия с пакетами, проходящими через роутер. То есть пакеты посылаются какому-то адресату от какого-то адресата и через роутер проходят по пути следования.

На начальном этапе нужно стремится произвести минимальное количество действий (правил) . Каждое правило нужно обдумать, прежде, чем его запустить в работу.

У фаервола Mikrotik первоначально при отсутствии правил в Filter rules разрешено всё.

Правила начинают работать от первого к последнему. Поэтому сначала размещаем те правила, которые регулируют деятельность вашей сети, а самыми последними ставим правила, которые запрещают всё остальное.
Есть изначальный набор правил, который советуют знающие люди на различных ресурсах. Количество правил в нем всегда колеблется, но смысл остается одним — необходимо разрешить определенные правила для нормального функционирования интернет-соединений роутера и оборудования за ним.

Я приведу примерный набор, которым пользуюсь сам.

Сначала надо разрешить пинг как роутера, так и оборудования за ним:

/ip firewall filter add chain=input protocol=icmp action=accept comment=”allow icmp ping from router”
/ip firewall filter add chain=forward protocol=icmp action=accept comment=”allow icmp ping from network»

Далее у меня стоит запрещающее правило для дропа флуда на 53 порту. Дело в том, что в сети моего провайдера с этим просто беда и без данного правила входящие запросы грузят роутер практически на всю катушку:

/ip firewall filter add chain=input action=drop protocol=udp in-interface=ether2 dst-port=53 comment=»drop flood on port 53″

Далее надо разрешить успешно установленные соединений:

/ip firewall filter add chain=input connection-state=established action=accept comment=”accept established connections from router”
/ip firewall filter add chain=forward connection-state=established action=accept comment=”accept established connections from network”

родственные соединения:

/ip firewall filter add chain=input connection-state=related action=accept comment=”accept related connections from router”»
/ip firewall filter add chain=forward connection-state=related action=accept comment=”accept related connections from network”

Запрещаем недействительные соединения:

/ip firewall filter add chain=input connection-state=invalid action=drop comment=”drop invalid connections from router”
/ip firewall filter add chain=forward connection-state=invalid action=drop ”drop invalid connections from network”

Разрешаем входящие соединения на роутер из нашей локальной сети (можно разрешить только какому-то адрес-листу, или, по аналогии, разрешить соединение из внешней сети с определенных адресов):

/ip firewall filter add chain=input src-address=192. 168.0.0/24 action=accept comment=»access to router only from local network»

Следующим шагом будет тот комплект правил, который разрешает выход в интернет компьютерам локальной сети. Какие порты открывать, личное дело каждого, как правило обязательными считаются 80, 443. Это очень минимальный набор. Для каждой работы программы, требующей интернет-соединения, необходимы соединения по определенным протоколам и портам. Узнавать, какие протоколы и порты нужны той или иной программе лучше сайте производителя. Предположим, что я решил открыть минимальный набор портов 80, 443 для tcp и все соединения по udp:

/ip firewall filter add chain=input protocol=udp action=accept comment=”allow UDP from router”
/ip firewall filter add chain=forward protocol=udp action=accept comment=”allow UDP from local network
/ip firewall filter add chain=forward src-address=192.168.0.0/24 src-port=80,443 protocol=tcp action=accept comment=»allow HTTP/S 80,443″
/ip firewall filter add chain=forward dst-address=192. 168.0.0/24 dst-port=80,443 protocol=tcp action=accept comment=»allow HTTP/S 80,443″

Обращаем внимание, что правил для протокола tcp пара, отдельно на исходящие и входящие соединения. Для нормального понимания проще всего попробовать прочитать правила на человеческом языке:
» Добавляем в правила фаервола  разрешение на прохождение через роутер для пакетов с источника адресов 192.168.0.0/24 с портов источника 80 и 443 по протоколу tcp»
» Добавляем в правила фаервола  разрешение на прохождение через роутер для пакетов с назначением в адреса 192.168.0.0/24 и в порты назначения 80 и 443 по протоколу tcp»

Можно перечислять нужные порты через запятую, или, если нужен диапазон, то ввести через дефис. Например src-port=32500-32700.

Как последний штрих, запрещаем всё, что мы не разрешили:

/ip firewall filter add chain=input action=drop comment=»All other drop»
/ip firewall filter add chain=forward action=drop comment=»All other drop»

Это, конечно, абсолютно гипотетическая конфигурация. В действительности, как правило, открывается много больше портов, иногда открывают просто определенные протоколы без перечисления портов. Но сам принцип написания правил именно таков.

Определенную трудность для начинающих представляет так же проброс портов через Nat к определенному адресу (например для торрентов). В этом случае открывать порты следует не в forward, как казалось бы, а в цепочке input и dst-address будет адресом роутера. Предварительно следует выполнить сам проброс на вкладке /ip firewall nat.

Пример:
Внешний адрес роутера 78.5.48.122
Внутренний адрес машины с торрен-клиентом: 192.168.0.15
Нужно пробросить порт 26897

/ip firewall nat add action=dst-nat chain=dstnat comment=»Torrent-client» dst-address=78.5.48.122 dst-port=23815 protocol=tcp to-addresses=192.168.0.15 to-ports=26897
/ip fireawll filter add chain=input dst-address=78.5.48.122 dst-port=26897 action=accept

 

настройка NAT и Firewall, правила и команды

В последнее время отчётливо можно проследить тенденцию к покупке девайсов повышенной сложности в использовании. Ярким примером тому является серия роутеров от Mikrotik, которыми стали пользоваться даже самые незнающие потребители. Конечно, после покупки и первого подключения устройство будет функционировать, но без должной базовой настройки microtik firewall и NAT ваша сеть будет как никогда уязвимой для самых различных злоумышленников извне.

Для полноценной и свободной работы или сёрфинга в интернете достаточно небольшого набора правил в firewall mikrotik настройках, а также в NAT, от этого зависит безопасность ваших данных.

Но для начала стоит в общих чертах понять суть правил файрвола:

  • Chain – цепь, получаемая при вводе своего названия
  • Scr. Address – адрес источника пакета
  • Dst. Address – адрес назначения пакета
  • Protocol – протокол подключения
  • Scr. Port – порт, со стороны которого поступил пакет.
  • Dst. Port – порт, на который поступил пакет
  • Any Port – абсолютно любой порт
  • P2P – протокол, к которому относится пакет
  • In Interface – Интерфейс, после передачи пакета
  • Out Interface – Интерфейс, в который передаётся пакет
  • Packet Mark – Пакет определённой маркировки
  • Connection Mark – – Пакет определённой маркировки
  • Routing Mark – Пакет определённой маркировки
  • Connection Type – Пакет определённого вида соединения

Firewall команды

Итак, разобравшись в общих чертах работы файрвола, мы можем приступать к непосредственному добавлению правил в него. Стоит сразу отметить, что данный свод правил является базовым и наиболее сбалансированным, без лишних деталей. Иначе говоря, данные настройки подойдут любому обычному пользователю интернета, продвинутые же пользователю не обратят внимания на данную статью в силу ненадобности.

1.Первым делом мы разрешим пинги:

add chain=input action=accept protocol=icmp

add chain=forward action=accept protocol=icmp

2.Затем дадим доступ установленным подключениям:

add chain=input action=accept connection-state=established          

add chain=forward action=accept connection-state=established

3.Разрешим все подключения локальной сети:

add chain=input action=accept src-address=192.168.1.0/24 in-interface=!ether2

4.Также поступим и с связанными подключениями:

add chain=input action=accept connection-state=related

add chain=forward action=accept connection-state=related

5.

Настраиваем подключения для торрента:

add chain=forward action=accept protocol=tcp in-interface=ether2 dst-port=45000

6.Отключаем доступ к неработающим подключениям:

add chain=input action=drop connection-state=invalid

add chain=forward action=drop connection-state=invalid

7.Вдобавок отсоединяемся от всех прочих входящих подключений

add chain=input action=drop in-interface=ether2

8.Подключаем доступ из локальной сети в интернет:

add chain=forward action=accept in-interface=!ether2 out-interface=ether2

9.На всякий случай отсоединяем доступ ко всем остальным подключениям, но это не обязательно:

add chain=forward action=drop

Итак, теперь осталось только настроить NAT, по умолчанию он должен быть включён.

Всего два правило NAT, которые обеспечат удобную работу с торрентом и сбалансируют локальную сеть:

add chain=srcnat action=masquerade out-interface=ether2

add chain=dstnat action=dst-nat to-addresses=192. 168.1.50 to-ports=45000 protocol=tcp in-interface=ether2 dst-port=45000

По итогу в вкладках фильтра правил и NAT всё должно выглядеть соответственно скриншотам снизу:

Если же вы хотите узнать всё про Mikrotik, настройки firewall и NAT, можете ознакомиться с информацией, предоставленной на разных ресурсах, и уже исходя из усвоенного вы сможете самостоятельно настроить свой файрвол под себя.

Быстрого Вам интернета!

Как настроить межсетевой экран в MikroTik, чтобы проходил трафик VPN? • Блог.telecom-sales.ru

На чтение 2 мин. Просмотров 162

Разрешить весь VPN-трафик через VPN-соединение
Надо учитывать, что некоторые виды подключения, например GRE не являются PPP.

/ip firewall filter
add chain=forward comment="Permit all PPP" in-interface=all-ppp

Разрешить PPTP-подключение
/ip firewall filter
add chain=input dst-port=1723 protocol=tcp comment="Permit PPTP"
add action=accept chain=input protocol=gre comment="Permit GRE"

Разрешить L2TP-подключение
/ip firewall filter
add chain=input dst-port=1701 protocol=udp comment="Permit L2TP"

Разрешить IPSec-подключение
/ip firewall filter
add chain=input port=500,4500 protocol=udp comment="Permit IPSec ports 500 and 4500"
add chain=input protocol=ipsec-esp comment="Permit IPSec protocol ipsec-esp"

Разрешить OpenVPN-подключение
/ip firewall filter
add action=accept chain=input dst-port=1194 protocol=tcp comment="Permit OpenVPN"

Разрешить SSTP-подключение
/ip firewall filter
add action=accept chain=input dst-port=443 protocol=tcp comment="Permit SSTP"

Разрешить GRE-подключение
/ip firewall filter
add action=accept chain=input protocol=gre comment="Permit GRE"

Разрешить IPIP-подключение
/ip firewall filter
add action=accept chain=input protocol=ipip comment="Permit IPIP"

Прохождение IPSec при использовании Fast Track

Fast Track это опция представленная в RouterOS 6. 29. С помощью этой опции можно передавать пакеты в обход ядра Linux. За счет этого существенно повышается производительность маршрутизатора.

Включить Fast Track можно следующим образом:
/ip firewall filter add chain=forward action=fasttrack-connection connection-state=established,related
Это позволит пакетам у которых состояние «Established» или «Related» обходить ядро Linux и быть сразу перенаправленным к цели. Такие пакеты не будут проходить ни через одно правило файервола или другое правило обработки пакетов. Of course – a connection gains the state of established or related once it went through the firewall so it will still be secure.

Как результат появляется недостаток: соединения IPsec так же не будут обработаны. Решить эту проблему можно следующим образом.

Вначале надо пометить соединения IPsec:
/ip firewall mangle
add action=mark-connection chain=forward comment="Mark IPsec" ipsec-policy=out,ipsec new-connection-mark=ipsec
add action=mark-connection chain=forward comment="Mark IPsec" ipsec-policy=in,ipsec new-connection-mark=ipsec

Далее изменить стандартное правило Fast Track так, что бы оно не обрабатывало пакеты IPsec. Изменения внесенные в стандартное правило выделены красным.
/ip firewall filter add action=fasttrack-connection chain=forward comment=FastTrack

connection-mark=!ipsec connection-state=established,related

Основные понятия

— RouterOS — Документация MikroTik

Межсетевой экран реализует фильтрацию пакетов с отслеживанием состояния (с использованием отслеживания соединений) и без отслеживания состояния и тем самым обеспечивает функции безопасности, которые используются для управления потоком данных к маршрутизатору, от него и через него. Наряду с преобразованием сетевых адресов (NAT) он служит инструментом для предотвращения несанкционированного доступа к напрямую подключенным сетям и самому маршрутизатору, а также фильтром исходящего трафика.

Сетевые брандмауэры защищают внешние угрозы от конфиденциальных данных, доступных внутри сети. Каждый раз, когда разные сети объединяются, всегда существует угроза того, что кто-то извне вашей сети проникнет в вашу локальную сеть. Такие взломы могут привести к краже и распространению личных данных, изменению или уничтожению ценных данных или стиранию целых жестких дисков. Брандмауэры используются как средство предотвращения или минимизации рисков безопасности, связанных с подключением к другим сетям.Правильно настроенный брандмауэр играет ключевую роль в эффективном и безопасном развертывании сетевой инфраструктуры.

MikroTik RouterOS имеет очень мощную реализацию межсетевого экрана с такими функциями, как:

  • проверка пакетов с отслеживанием состояния
  • одноранговые протоколы фильтрация
  • классификация трафика по:
    • исходному MAC-адресу
    • IP-адресам (сеть или список) и типы адресов (широковещательный, локальный, многоадресный, одноадресный)
    • порт или диапазон портов
    • IP-протоколы
    • параметры протокола (поля типа и кода ICMP, флаги TCP, параметры IP и MSS)
    • интерфейс, от которого пришел или оставлен пакет через
    • внутренние метки потока и соединения
    • Байт DSCP
    • содержимое пакета
    • скорость прибытия пакетов и порядковые номера
    • размер пакета
    • время прибытия пакета

И многое другое!

Межсетевой экран работает с помощью правил межсетевого экрана. Каждое правило состоит из двух частей — сопоставителя , который сопоставляет поток трафика с заданными условиями, и действия , которое определяет, что делать с сопоставленным пакетом.

RouterOS использует 5 подкомпонентов брандмауэра:

  • Отслеживание подключений
  • Фильтры
  • NAT
  • Mangle
  • RAW

Состояния подключения

Чтобы полностью понять правила брандмауэра, во-первых, вы должны понять различные состояния что может относиться к конкретному сетевому пакету.В RouterOS есть пять состояний подключения:

  • NEW — Состояние NEW сообщает нам, что это первый пакет, который мы видим. Это означает, что первый пакет, который видит модуль conntrack в конкретном соединении, будет сопоставлен. Например, если мы видим SYN-пакет, и это первый пакет в соединении, которое мы видим, он будет соответствовать;
  • ESTABLISHED — Состояние ESTABLISHED обнаружило трафик в обоих направлениях и затем будет постоянно сопоставлять эти пакеты. УСТАНОВЛЕНО Соединения довольно легко понять. Единственное требование для перехода в состояние ESTABLISHED — это то, что один хост отправляет пакет, а затем получает ответ от другого хоста. Состояние NEW после получения ответного пакета на межсетевой экран или через него изменится на состояние ESTABLISHED ;
  • RELATED — Соединение считается RELATED , если оно связано с другим уже УСТАНОВЛЕННЫМ соединением .Чтобы соединение считалось СВЯЗАННЫМ, мы должны сначала иметь соединение, которое считается УСТАНОВЛЕННЫМ. После этого соединение ESTABLISHED порождает соединение вне основного соединения. Вновь созданное соединение будет считаться СВЯЗАННЫМ, например, — пакетом, с которого начинается FTP-соединение для передачи данных;
  • INVALID — Состояние INVALID означает, что пакет не может быть идентифицирован или что он не имеет никакого состояния. Предлагается DROP все в этом состоянии;
  • UNTRACKED — Пакет, который был настроен на обход отслеживания соединения в таблице RAW межсетевого экрана;

Пример конфигурации

Давайте посмотрим на базовую настройку брандмауэра для защиты маршрутизатора. По умолчанию брандмауэр RouterOS принимает все, блокировка достигается путем добавления правила фильтрации, которое отбрасывает все в конце всех правил. Для нашего маршрутизатора мы хотим разрешить только ICMP, ssh и Winbox, а остальные удалить:

 / ip фильтр межсетевого экрана
добавить цепочку = состояние входного соединения = недопустимое действие = drop comment = "Удалить недопустимые соединения"
добавить цепочку = состояние входного соединения = установлено, связанное, неотслеживаемое действие = принять комментарий = "Разрешить установленные / связанные / неотслеживаемые соединения"
добавить цепочку = протокол ввода = icmp действие = принять комментарий = "Разрешить ICMP"
add chain = input protocol = tcp ports = 8291,22 action = accept comment = "Разрешить Winbox и SSH"
add chain = input action = drop comment = "Отбросить все остальное" 

RouterOS также позволяет фильтровать пакеты перед отслеживанием соединения и выборочно отправлять только определенный трафик для отслеживания соединения. Это позволяет нам значительно снизить нагрузку на ЦП и смягчить DOS / DDoS-атаки. Конфигурация таких правил выполняется в таблице фильтрации RAW.

Дополнительный фильтр брандмауэра / ip Примеры конфигурации можно найти в разделе «Создание первого брандмауэра».

Отслеживание соединений позволяет ядру отслеживать все логические сетевые соединения или сеансы и, таким образом, связывать все пакеты, которые могут составлять это соединение. NAT использует эту информацию для одинакового преобразования всех связанных пакетов.Благодаря отслеживанию соединений вы можете использовать функции межсетевого экрана с отслеживанием состояния даже с такими протоколами, как UDP.

Список отслеживаемых соединений можно увидеть в соединении брандмауэра / ip для ipv4 и / ipv6 соединении брандмауэра для IPv6.

 code.custom.RouterOS.777025298365358808:custom-code-syntax-resources" data-theme="Confluence"> [admin @ MirkoTik] / подключение брандмауэра ip> печать
Флаги: S - видел-ответ, A - уверен
# PR .. SRC-ADDRESS DST-ADDRESS TCP-STATE TIMEOUT
0 UDP 10.5.8.176:5678 255.255.255.255:5678 0 с
1 UDP 10.5.101.3:646 224.0.0.2: 646 5 с
2 ОСПФ 10.5.101.161 224.0.0.5 9 мин. 58 сек.
3 UDP 10.5.8.140:5678 255.255.255.255:5678 8 с
4 SA tcp 10.5.101.147:48984 10.5.101.1:8291 установлено 4 мин 59 сек.

[admin @ MirkoTik] / подключение к межсетевому экрану ipv6> печать
Флаги: S - видел ответ, A - уверен
# PRO .. SRC-ADDRESS DST-ADDRESS TCP-STATE
0 udp fe80 :: d6ca: 6dff: fe77: 3698 ff02 :: 1
1 UDP fe80 :: d6ca: 6dff: fe98: 7c28 ff02 :: 1
2 ospf fe80 :: d6ca: 6dff: fe73: 9822 ff02 :: 5 

На основе записей в таблице соединений прибывшему пакету может быть присвоено одно из состояний соединения: новое, недействительное, установленное, связанное, или неотслеживаемое .

Есть два разных метода, когда пакет считается новым . Первый — в случае соединений без сохранения состояния (например, UDP), когда в таблице соединений нет записи о соединении. Другой — в случае протокола с отслеживанием состояния (TCP). В этом случае новый пакет, который запускает новое соединение, всегда является TCP-пакетом с флагом SYN .

Если пакет не новый, он может принадлежать либо установленному или связанному с соединению , либо не принадлежать никакому соединению, что делает его недействительным .Пакет с установленным состоянием , как большинство из вас уже догадались, принадлежит существующему соединению из таблицы отслеживания соединений. Состояние , связанное с , очень похоже, за исключением того, что пакет принадлежит соединению, которое связано с одним из существующих соединений, например, пакетам ошибок ICMP или пакетам соединения данных FTP.

Состояние соединения notrack — это особый случай, когда правила брандмауэра RAW используются для исключения соединения из отслеживания соединений. Это одно правило заставит весь перенаправляемый трафик обходить механизм отслеживания соединений, ускоряя обработку пакетов через устройство.

Любой другой пакет считается недопустимым и в большинстве случаев должен быть отброшен.

На основе этой информации мы можем установить базовый набор правил фильтрации для ускорения фильтрации пакетов и снижения нагрузки на ЦП, принимая установленных / связанных пакетов, отбрасывая недопустимых пакетов и работая над более подробной фильтрацией только для новых пакетов.

 ip фильтр межсетевого экрана
добавить цепочку = состояние входного соединения = недопустимое действие = drop comment = "Удалить недопустимые соединения"
добавить цепочку = состояние входного соединения = установлено, связанное, неотслеживаемое действие = принять комментарий = "Разрешить установленные / связанные / неотслеживаемые соединения 
 

Такой набор правил не должен применяться к маршрутизаторам с асимметричной маршрутизацией, поскольку пакеты с асимметричной маршрутизацией могут считаться недопустимыми и отбрасываться.

В этом разделе перечислены протоколы и порты, используемые различными сервисами MikroTik RouterOS.Это помогает вам определить, почему ваш маршрутизатор MikroTik прослушивает определенные порты, и что вам нужно заблокировать / разрешить, если вы хотите предотвратить или предоставить доступ к определенным службам.

Сервисы по умолчанию:

www

Отвечает за доступ к инструментам Winbox, а также за приложение для смартфонов Tik-App и зонд Dude.

Свойство Описание
telnet Telnet сервис
ftp

6

ftp

6

HTTP-сервис Webfig
ssh SSH-сервис
www-ssl Webfig HTTPS-сервис
api 9020 9020
api-ssl API через службу SSL

Свойства

Обратите внимание, что невозможно добавлять новые службы , разрешены только существующие модификации сервиса.

Свойство Описание
адрес ( IP-адрес / сетевая маска | IPv6 / 0..128 ; по умолчанию:) Список префиксов IP / IPv6, из которых служба доступен.
сертификат ( имя ; по умолчанию: нет ) Имя сертификата, используемого определенной службой. Применимо только для служб, зависящих от сертификатов ( www-ssl, api-ssl )
имя ( имя ; по умолчанию: нет ) Имя службы
порт ( целое число: 1.65535 ; По умолчанию:) Порт, который прослушивает конкретная служба

Чтобы ограничить доступ службы Winbox к устройству только из подсети 192.168.88.0/24 , мы должны настроить следующее:

 atlassian.confluence.ext.code.custom.RouterOS.777025298365358808:custom-code-syntax-resources" data-theme="Confluence"> [admin @ MikroTik]> ip service set [найти имя ~ "winbox"] адрес = 192.168.88.0 / 24
[admin @ MikroTik]> ip сервис печати
Флаги: X - отключено, I - недопустимо
№ ИМЯ СЕРТИФИКАТ АДРЕСА ПОРТА
0 телнет 23
1 XI ftp 21
2 XI www 80
3 ssh 22
4 XI www-ssl 443 нет
5 XI api 8728
6 винбокс 8291 192.168.88.0 / 24
7 XI api-ssl 8729 нет 

Рекомендуем отключить неиспользуемые службы.

Списки адресов брандмауэра позволяют пользователю создавать списки IP-адресов, сгруппированных под общим именем. Фильтры брандмауэра, Mangle и NAT могут затем использовать эти списки адресов для сопоставления пакетов с ними. Записи списка адресов также можно обновлять динамически с помощью элементов action = add-src-to-address-list или action = add-dst-to-address-list , которые можно найти в функциях NAT, Mangle и Filter.
Правила брандмауэра с действием add-src-to-address-list или add-dst-to-address-list работают в режиме сквозной передачи, что означает, что согласованные пакеты будут переданы в следующие правила брандмауэра. Базовый пример динамически создаваемого списка адресов:

 [admin @ MirkoTik]> список IP-адресов брандмауэра добавить адрес = www.mikrotik.com list = MikroTik
[admin @ MirkoTik]> печать списка адресов брандмауэра IP
Флаги: X - отключен, D - динамический.
№ СПИСОК АДРЕС СОЗДАНИЯ-ВРЕМЯ ТАЙМАУТА
0 MikroTik www.mikrotik.com 9 октября 2019 г. 14:53:14
1 D ;;; www.mikrotik.com
MikroTik 159.148.147.196 09 окт.2019 14:53:14 

Layer7-протокол — это метод поиска шаблонов в потоках ICMP / TCP / UDP. Он собирает первые 10 пакетов соединения или первые 2 КБ соединения и ищет шаблон в собранных данных. Если шаблон не найден в собранных данных, сопоставитель прекращает дальнейшую проверку. Выделенная память освобождается, и протокол считается неизвестным. Следует учитывать, что большое количество подключений значительно увеличит использование памяти и ЦП.Чтобы избежать этого, добавьте регулярные совпадения брандмауэра, чтобы повторно уменьшить объем данных, передаваемых фильтрам уровня 7.

Дополнительным требованием является то, что сопоставитель уровня 7 должен видеть оба направления трафика (входящий и исходящий). Для удовлетворения этого требования в прямой цепочке должно быть установлено 17 правил. Если правило установлено в цепочке ввода / предварительной маршрутизации, то такое же правило должно быть также установлено в цепочке вывода / последующей маршрутизации, в противном случае собранные данные могут быть неполными, что приведет к неверно согласованному шаблону.

В этом примере мы будем использовать шаблон для сопоставления пакетов RDP.

 / ip firewall layer7-protocol add name = rdp regexp = "rdpdr.  * Cliprdr. * Rdpsnd" 
 

Когда пользователь использует HTTPS, правила Layer7 не смогут сопоставить этот трафик. Только незашифрованный HTTP может быть сопоставлен с .

RFC MikroTik Firewall 6.0 для IPv4 (бесплатная версия) — RFC

 ################################# ############################################### ####################
# Базовый брандмауэр MikroTik Rev 6 Рика Фрея.0 для IPv4 (бесплатная версия) #
############################################### ############################################### #####
# Автор: Рик Фрей #
# электронная почта: [email protected] #
# Имя пользователя на форуме MikroTik - rickfrey #
############################################### ############################################### #####
# Лицензия #
# Этот скрипт был создан для использования широкой публикой и может использоваться свободно.#
############################################### ############################################### #####
############################################### ############################################### #####
# Функции
# - Основано в основном на зональной защите.  Две зоны по умолчанию - LAN и WAN.
# - Разрешает внесение в белый и черный список URL-адресов.
# - Включает расширенное обнаружение сканирования портов.
# - Включает скрипты Джошавена Поттера для SpanHaus, dsheild, malc0de и черные списки VOIP
# - Обнаруживает и сбрасывает высокие скорости подключения
# - Обеспечивает защиту DNS-прокси.
# - Включает защиту от перебора
# - Обеспечивает защиту сервисов RotuerOS
# - Дискриминирует БОГОНОВ
# - Drops Invalid connections
# - Удаляет необычные протоколы
# - Защищает от атак TCP Syn flood
# - Защищает от других атак, которые обычно маскируются под DNS-серверы.
# - Включает базовую защиту от вирусов
# - Защищает от нескольких типов атак ICMP, включая атаки SMURF.
# - Предоставляет множество других общих правил очистки пакетов.
############################################### ############################################### #####

/ ip настройки
установить rp-filter = strict secure-redirects = no send-redirects = no tcp-syncookies = yes

/ список интерфейсов
add name = "Интерфейсы WAN"
add name = "Интерфейсы LAN"

/ системный скрипт
add dont-require-permissions = no name = DownloadSpamhaus owner = admin policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon source = \
    "\
    \ n / tool fetch url = \ "http: // joshaven. com / spamhaus.rsc \ "mode = http; \
    \ n: информация журнала \ "Загружено spamhaus.rsc с Joshaven.com \"; \
    \ n "
add dont-require-permissions = no name = ReplaceSpamhaus owner = admin policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon source = \
    "\
    \ n / список IP-адресов брандмауэра удалить [найти где комментарий = \ "SpamHaus \"] \
    \ n / import file-name = spamhaus.rsc; \
    \ n: информация журнала \ "Удалены старые записи Spamhaus и импортирован новый список \"; \
    \ n "
add dont-require-permissions = no name = Download_dshield owner = admin policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon source = \
    "\
    \ n / tool fetch url = \ "http: // joshaven.com / dshield.rsc \ "mode = http; \
    \ n: информация журнала \ "Загружено dshield.rsc с Joshaven.com \"; \
    \ n "
add dont-require-permissions = no name = Replace_dshield owner = admin policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon source = \
    "\
    \ n / список IP-адресов брандмауэра удалить [найти где комментарий = \ "DShield \"] \
    \ n / import file-name = dshield. rsc; \
    \ n: информация журнала \ "Удалены старые записи dshield и импортирован новый список \"; \
    \ n "
добавить dont-require-permissions = no name = Download_malc0de owner = admin policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon source = \
    "\
    \ n / tool fetch url = \ "http: // joshaven.com / malc0de.rsc \ "mode = http; \
    \ n: информация журнала \ "Загружено malc0de.rsc с Joshaven.com \"; \
    \ n "
add dont-require-permissions = no name = Replace_malc0de owner = admin policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon source = \
    "\
    \ n / список IP-адресов брандмауэра удалить [найти где комментарий = \ "malc0de \"] \
    \ n / импортировать имя-файла = malc0de.rsc; \
    \ n: информация журнала \ "Удалены старые записи malc0de и импортирован новый список \"; \
    \ n "
add dont-require-permissions = no name = Download_voip-bl owner = admin policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon source = \
    "\
    \ n / tool fetch url = \ "http: // joshaven. com / voip-bl.rsc \ "mode = http; \
    \ n: информация журнала \ "Загружено voip-bl.rsc с Joshaven.com \"; \
    \ n "
add dont-require-permissions = no name = Replace_voip-bl owner = admin policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon source = \
    "\
    \ n / список IP-адресов брандмауэра удалить [найти где комментарий = \ "VoIP BL \"] \
    \ n / import file-name = voip-bl.rsc; \
    \ n: информация журнала \ "Удалены старые записи voip-bl и импортирован новый список \"; \
    \ n "

/ системный планировщик
add comment = "Загрузить список спамнаусов" interval = 3d name = DownloadSpamhausList on-event = DownloadSpamhaus policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon start-date = \
    янв / 01/1970 время начала = 16: 38: 01
add comment = "Применить список спамнауса" interval = 3d name = InstallSpamhausList on-event = ReplaceSpamhaus policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon start-date = jan / 01/1970 \
    время начала = 16: 43: 01
add comment = "Загрузить список dshield" interval = 3d name = DownloadDShieldList on-event = Download_dshield policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon start-date = jan / 01/1970 \
    время начала = 16: 48: 01
add comment = "Применить список dshield" interval = 3d name = InstallDShieldList on-event = Replace_dshield policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon start-date = jan / 01/1970 \
    время начала = 16: 53: 01
add comment = "Загрузить список malc0de" interval = 3d name = Downloadmalc0deList on-event = Download_malc0de policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon start-date = jan / 01/1970 \
    время начала = 16: 48: 01
add comment = "Применить список malc0de" interval = 3d name = Installmalc0deList on-event = Replace_malc0de policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon start-date = jan / 01/1970 \
    время начала = 16: 53: 01
add comment = "Загрузить список voip-bl" interval = 3d name = Refresh_voip-bl on-event = Download_voip-bl policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon start-date = янв / 01/1970 \
    время начала = 16: 48: 01
add comment = "Применить список voip-bl" interval = 3d name = Update_voip-bl on-event = Replace_voip-bl policy = ftp, reboot, read, write, policy, test, password, sniff, sensitive, romon start-date = янв / 01/1970 \
    время начала = 16: 53: 01

/ ip список адресов брандмауэра
добавить адрес = 0. 0.0.0 / 8 comment = "RFC 1122 \" Этот хост в этой сети \ "" list = Bogons
добавить адрес = 10.0.0.0 / 8 comment = "RFC 1918 (IP-пространство для частного использования)" list = Bogons
добавить адрес = 100.64.0.0 / 10 comment = "RFC 6598 (общее адресное пространство)" list = Bogons
добавить адрес = 127.0.0.0 / 8 comment = "RFC 1122 (Loopback)" list = Bogons
добавить адрес = 169.254.0.0 / 16 comment = "RFC 3927 (динамическая конфигурация локальных адресов IPv4 Link)" list = Bogons
добавить адрес = 172.16.0.0 / 12 comment = "RFC 1918 (IP-пространство для частного использования)" list = Bogons
добавить адрес = 192.0.0.0 / 24 comment = "RFC 6890 (IETF Protocol Assingments)" list = Bogons
добавить адрес = 192.0.2.0 / 24 comment = "RFC 5737 (Test-Net-1)" list = Bogons
добавить адрес = 192.168.0.0 / 16 comment = "RFC 1918 (IP-пространство для частного использования)" отключено = да список = Bogons
добавить адрес = 198.18.0.0 / 15 comment = "RFC 2544 (Бенчмаркинг)" list = Bogons
добавить адрес = 198. 51.100.0 / 24 comment = "RFC 5737 (Test-Net-2)" list = Bogons
добавить адрес = 203.0.113.0 / 24 comment = "RFC 5737 (Test-Net-3)" list = Bogons
добавить адрес = 224.0.0.0 / 4 comment = "RFC 5771 (многоадресные адреса) - повлияет на OSPF, RIP, PIM, VRRP, IS-IS и другие.Используйте с осторожностью.) "Disabled = yes list = Bogons
добавить адрес = 240.0.0.0 / 4 comment = "RFC 1112 (Зарезервировано)" list = Bogons
добавить адрес = 192.31.196.0 / 24 comment = "RFC 7535 (AS112-v4)" list = Bogons
добавить адрес = 192.52.193.0 / 24 comment = "RFC 7450 (AMT)" list = Bogons
добавить адрес = 192.88.99.0 / 24 comment = "RFC 7526 (устарел (6to4 Relay Anycast))" list = Bogons
добавить адрес = 192.175.48.0 / 24 comment = "RFC 7534 (служба прямого делегирования AS112)" list = Bogons
добавить адрес = 255.255.255.255 комментарий = "RFC 919 (ограниченное вещание)" отключено = да список = Bogons
добавить адрес = 10.0.0.0 / 8 список = LAN
добавить адрес = 172.16.0.0 / 12 список = LAN
добавить адрес = 192.168. 0.0 / 16 список = LAN
добавить адрес = 8.8.8.8 комментарий = Google list = "DNS-серверы"
добавить адрес = 8.8.4.4 комментарий = Google list = "DNS-серверы"
добавить адрес = 4.2.2.1 комментарий = "Уровень 3" список = "DNS-серверы"
добавить адрес = 4.2.2.2 комментарий = "Уровень 3" список = "DNS-серверы"
добавить адрес = 208.67.222.222 комментарий = список OpenDNS = "DNS-серверы"
добавить адрес = 208.67.220.220 комментарий = список OpenDNS = "DNS-серверы"
добавить адрес = 1.1.1.1 комментарий = Cloudflare list = "DNS-серверы"
добавить адрес = 1.0.0.1 комментарий = Cloudflare list = "DNS-серверы"
добавить адрес = 4.2.2.3 комментарий = "Уровень 3" список = "DNS-серверы"
добавить адрес = 4.2.2.4 комментарий = "Уровень 3" список = "DNS-серверы"
добавить адрес = 4.2.2.5 комментарий = "Уровень 3" список = "DNS-серверы"
добавить адрес = 4.2.2.6 комментарий = "Уровень 3" список = "DNS-серверы"
добавить адрес = www.mikrotik.com list = "URL-адреса из белого списка"
добавить адрес = www.rickfreyconsulting. com list = "URL-адреса в белом списке"
добавить адрес = www.joshaven.com list = "URL-адреса из белого списка"
добавить адрес = 45.90.28.225 комментарий = NextDNS list = "DNS-серверы"
добавить адрес = 45.90.30.225 comment = NextDNS list = "DNS-серверы"
добавить адрес = 948953.dns.nextdns.io comment = NextDNS list = "DNS-серверы"
добавить адрес = 188.94.192.215 комментарий = FlastStart list = "DNS-серверы"
добавить адрес = 45.76.84.187 комментарий = FlastStart list = "DNS-серверы"
добавить адрес = 127.0.0.1 list = "Исключенные адреса"
добавить address = core.zeroday.ltd list = "URL-адреса в черном списке"

/ ip фильтр межсетевого экрана
add action = accept chain = input comment = "Принять исключенные IP-адреса - это необходимо для обхода всей системы защиты. Используйте списки адресов, чтобы добавить пользователей к этому правилу."src-address-list = \
    "Освобожденные адреса"
add action = accept chain = forward comment = "Принять исключенные IP-адреса - это необходимо для одновременного обхода прошивки.  Используйте списки адресов для добавления пользователей к этому правилу." src-список-адресов = \
    "Освобожденные адреса"
add action = accept chain = input comment = "Принять URL-адреса из белого списка" src-address-list = "URL-адреса из белого списка"
add action = accept chain = forward comment = "Принять URL-адреса из белого списка" src-address-list = "URL-адреса из белого списка"
add action = accept chain = forward comment = "Принять URL-адреса из белого списка" dst-address-list = "URL-адреса из белого списка"
добавить действие = принять цепочку = вывести комментарий = «Разрыв раздела» отключен = да
add action = jump chain = input comment = "Перейти к сканированию портов RFC" jump-target = "Протокол сканирования портов RFC" = tcp
add action = jump chain = input comment = "Перейти к сканированию портов RFC" jump-target = "Сканирование портов RFC" protocol = udp src-address-list = "! DNS-серверы"
add action = jump chain = forward comment = "Перейти к сканированию портов RFC" jump-target = "Протокол сканирования портов RFC" = tcp
add action = jump chain = forward comment = "Перейти к сканированию портов RFC" jump-target = "Сканирование портов RFC" protocol = udp src-address-list = "! DNS-серверы"
add action = add-src-to-address-list address-list = "Сканеры портов WAN" address-list-timeout = none-dynamic chain = "Сканирование портов RFC" comment = "Обнаружение сканирования портов TCP WAN" в интерфейсе- список = \
    Протокол "WAN Interfaces" = tcp psd = 21,3s, 3,1
add action = add-src-to-address-list address-list = "Сканеры портов WAN" address-list-timeout = none-dynamic chain = "Сканирование портов RFC" comment = "Обнаружение сканирования портов UDP WAN" в интерфейсе- список = \
    Протокол "WAN Interfaces" = udp psd = 21,3s, 3,1
add action = add-src-to-address-list address-list = "Сканеры портов WAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружение скрытого сканирования WAN NMAP FIN" в списке интерфейсов = "Интерфейсы WAN" \
    протокол = tcp tcp-flags = fin,! syn,! rst,! psh,! ack,! urg
add action = add-src-to-address-list address-list = "Сканеры портов WAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружить сканирование WAN SYN / FIN" в списке интерфейсов = Протокол "WAN-интерфейсы" = \
    tcp tcp-flags = fin, syn
add action = add-src-to-address-list address-list = "Сканеры портов WAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружить сканирование WAN SYN / RST" в списке интерфейсов = Протокол "WAN-интерфейсы" = \
    tcp tcp-flags = синхрон, первый
add action = add-src-to-address-list address-list = "сканеры портов" address-list-timeout = 2w chain = "RFC-сканирование портов" comment = "Определить сканирование WAN FIN / PSH / URG" в интерфейсе- list = Протокол "WAN Interfaces" = \
    tcp tcp-flags = fin, psh, urg,! syn,! rst,! ack
add action = add-src-to-address-list address-list = "Сканеры портов WAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружить сканирование ВСЕ / ВСЕ WAN" в списке интерфейсов = Протокол "WAN-интерфейсы" = \
    tcp tcp-flags = fin, syn, rst, psh, ack, urg
add action = add-src-to-address-list address-list = "Сканеры портов WAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружить сканирование NULL WAN NMAP" in-interface-list = "Интерфейсы WAN" \
    протокол = tcp tcp-flags =! fin,! syn,! rst,! psh,! ack,! urg
add action = add-src-to-address-list address-list = "Сканеры портов LAN" address-list-timeout = none-dynamic chain = "Сканирование портов RFC" comment = "Обнаружение сканирования портов TCP LAN" в интерфейсе- список = \
    Протокол "LAN Interfaces" = tcp psd = 21,3s, 3,1
add action = add-src-to-address-list address-list = "Сканеры портов LAN" address-list-timeout = none-dynamic chain = "Сканирование портов RFC" comment = "Обнаружение сканирования портов LAN UDP" в интерфейсе- список = \
    Протокол "LAN Interfaces" = udp psd = 21,3s, 3,1
add action = add-src-to-address-list address-list = "Сканеры портов LAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружение скрытого сканирования LAN NMAP FIN" в списке интерфейсов = "Интерфейсы LAN" \
    протокол = tcp tcp-flags = fin,! syn,! rst,! psh,! ack,! urg
add action = add-src-to-address-list address-list = "Сканеры портов LAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружение сканирования LAN SYN / FIN" in-interface-list = Протокол "LAN-интерфейсов" = \
    tcp tcp-flags = fin, syn
add action = add-src-to-address-list address-list = "Сканеры портов LAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружение сканирования LAN SYN / RST" in-interface-list = Протокол "LAN-интерфейсов" = \
    tcp tcp-flags = синхрон, первый
add action = add-src-to-address-list address-list = "Сканеры портов LAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружение сканирования LAN FIN / PSH / URG" в интерфейсе -list = "Интерфейсы LAN" \
    протокол = tcp tcp-flags = fin, psh, urg,! syn,! rst,! ack
add action = add-src-to-address-list address-list = "Сканеры портов LAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружить сканирование ВСЕХ / ВСЕХ LAN" in-interface-list = Протокол "LAN-интерфейсов" = \
    tcp tcp-flags = fin, syn, rst, psh, ack, urg
add action = add-src-to-address-list address-list = "Сканеры портов LAN" address-list-timeout = 2w chain = "Сканирование портов RFC" comment = "Обнаружить сканирование NULL NMAP LAN" in-interface-list = "Интерфейсы LAN" \
    протокол = tcp tcp-flags =! fin,! syn,! rst,! psh,! ack,! urg
add action = return chain = "Сканирование портов RFC" comment = "Возврат после сканирования портов RFC"
добавить действие = принять цепочку = вывести комментарий = «Разрыв раздела» отключен = да
add action = drop chain = input comment = "Удалить кого угодно из черного списка (добавлено вручную)" src-address-list = "вручную добавлено в черный список"
add action = drop chain = forward comment = "Удалить кого угодно из черного списка (добавлено вручную)" src-address-list = "вручную добавлено в черный список"
add action = drop chain = forward comment = "Удалить кого-либо из черного списка (добавленного вручную)" dst-address-list = "вручную добавленного черного списка"
add action = drop chain = input comment = "Удалить кого угодно из черного списка (SSH)" src-address-list = "Черный список (SSH)"
add action = drop chain = forward comment = "Удалить кого угодно из черного списка (SSH)" src-address-list = "Черный список (SSH)"
add action = drop chain = forward comment = "Удалить кого угодно из черного списка (SSH)" dst-address-list = "Черный список (SSH)"
add action = drop chain = input comment = "Удалить кого угодно из черного списка (Telnet)" src-address-list = "Черный список (Telnet)"
add action = drop chain = forward comment = "Удалить кого угодно из черного списка (Telnet)" src-address-list = "Черный список (Telnet)"
add action = drop chain = forward comment = "Удалить кого угодно из черного списка (Telnet)" dst-address-list = "Черный список (Telnet)"
add action = drop chain = input comment = "Удалить кого угодно из черного списка (Winbox)" src-address-list = "Черный список (Winbox)"
add action = drop chain = forward comment = "Отбросить кого угодно в черном списке (Winbox)" src-address-list = "Черный список (Winbox)"
add action = drop chain = forward comment = "Удалить кого угодно из черного списка (Winbox)" dst-address-list = "Черный список (Winbox)"
add action = drop chain = input comment = "Удалить кого угодно из черного списка (FTP)" src-address-list = "Черный список (Winbox)"
add action = drop chain = forward comment = "Удалить кого угодно из черного списка (FTP)" src-address-list = "Черный список (Winbox)"
add action = drop chain = forward comment = "Удалить кого угодно из черного списка (FTP)" dst-address-list = "Черный список (FTP)"
add action = drop chain = input comment = "Отбросить все пакеты в черный список Джошавена Поттера для SpamHaus, dshield и malc0de" src-address-list = blacklist
add action = drop chain = forward comment = "Отбросить все пакеты в черный список Джошавена Поттера для SpamHaus, dshield и malc0de" src-address-list = blacklist
add action = drop chain = forward comment = "Отбросить все пакеты в черный список Джошавена Поттера для SpamHaus, dshield и malc0de" dst-address-list = blacklist
add action = drop chain = input comment = "Отбросить все пакеты в черный список VOIP Джошавена Поттера" src-address-list = voip-blacklist
add action = drop chain = forward comment = "Отбросить все пакеты в черный список VOIP Джошавена Поттера" src-address-list = voip-blacklist
add action = drop chain = forward comment = "Отбросить все пакеты в черный список VOIP Джошавена Поттера" dst-address-list = voip-blacklist
add action = drop chain = input comment = "Удалить кого угодно из списка сканеров портов WAN" src-address-list = "Сканеры портов WAN"
add action = drop chain = forward comment = "Удалить кого угодно из списка сканеров портов WAN" src-address-list = "Сканеры портов WAN"
add action = drop chain = forward comment = "Удалить кого угодно из списка сканеров портов WAN" dst-address-list = "Сканеры портов WAN"
add action = drop chain = input comment = "Удалить кого угодно из списка сканеров портов LAN" src-address-list = "Сканеры портов LAN"
add action = drop chain = forward comment = "Удалить кого угодно из списка сканеров портов LAN" src-address-list = "Сканеры портов LAN"
add action = drop chain = forward comment = "Удалить кого угодно из списка сканеров портов LAN" dst-address-list = "Сканеры портов LAN"
add action = drop chain = input comment = "Отбросить кого-либо из списка высоких подключений WAN" src-address-list = "Высокие скорости подключения WAN"
add action = drop chain = forward comment = "Отбросить кого угодно из списка высоких подключений WAN" src-address-list = "Высокие скорости подключения WAN"
add action = drop chain = forward comment = "Отбросить кого угодно из списка высоких подключений WAN" dst-address-list = "Высокие скорости подключения WAN"
add action = drop chain = input comment = "Отбросить кого-либо из списка с высоким уровнем подключений к локальной сети" src-address-list = "Высокая скорость подключения к локальной сети"
add action = drop chain = forward comment = "Отбросить кого-либо из списка с высоким уровнем подключений к локальной сети" src-address-list = "Высокая скорость подключения к локальной сети"
add action = drop chain = forward comment = "Отбросить кого угодно из списка с высоким уровнем подключений LAN" dst-address-list = "Высокие скорости подключения к локальной сети"
add action = drop chain = input comment = "Удалить все URL-адреса из черного списка" src-address-list = "URL-адреса из черного списка"
add action = drop chain = forward comment = "Удалить все URL-адреса из черного списка" src-address-list = "URL-адреса из черного списка"
add action = drop chain = forward comment = "Удалить все URL-адреса в черном списке" dst-address-list = "URL-адреса в черном списке"
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = input comment = "Перейти к цепочке DNS_DDoS" jump-target = DNS_DDoS port = 53 protocol = udp
add action = jump chain = forward comment = "Перейти к цепочке DNS_DDoS" jump-target = DNS_DDoS port = 53 protocol = udp
add action = accept chain = output comment = "Принимать DNS-запросы от маршрутизатора" connection-state = "" port = 53 protocol = udp
add action = accept chain = DNS_DDoS comment = "Принять DNS-запрос из LAN - должен быть установлен список IP-адресов LAN!" dst-port = 53 протокол = udp src-address-list = LAN
add action = accept chain = DNS_DDoS comment = "Принять действительные DNS-серверы - убедитесь, что ваши DNS-серверы внесены в список адресов DNS-серверов!" dst-address-list = "DNS-серверы" in-interface-list = \
    "LAN-интерфейсы" порт = 53 протокол = UDP
add action = accept chain = DNS_DDoS comment = "Принять действительные DNS-серверы - убедитесь, что ваши DNS-серверы внесены в список адресов DNS-серверов!" in-interface-list = "Интерфейсы WAN" порт = 53 протокол = \
    udp src-address-list = "DNS-серверы"
add action = add-src-to-address-list список-адресов = DNS_DDoS address-list-timeout = none-dynamic chain = DNS_DDoS comment = «Добавить нарушителей DNS_DDoS в черный список» port = 53 protocol = udp
add action = drop chain = DNS_DDoS comment = "Отбросить нарушителей DNS_DDoS" src-address-list = DNS_DDoS
add action = return chain = DNS_DDoS comment = "Возврат из цепочки DNS_DDoS"
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = input comment = "Перейти к цепочке RFC SSH" dst-port = 22 jump-target = "RFC SSH Chain" protocol = tcp
add action = add-src-to-address-list address-list = "Черный список (SSH)" address-list-timeout = 4w2d chain = "RFC SSH Chain" comment = "Перенести повторные попытки из SSH Stage 3 в Black- Список" \
    состояние-соединения = новый dst-порт = 22 протокол = tcp src-address-list = "Этап SSH 3"
add action = add-src-to-address-list address-list = "SSH Stage 3" address-list-timeout = 1m chain = "RFC SSH Chain" comment = "Добавить успешные попытки к SSH Stage 3" connection-state = новый dst-порт = 22 \
    протокол = tcp src-address-list = "Этап SSH 2"
add action = add-src-to-address-list address-list = "SSH Stage 2" address-list-timeout = 1m chain = "RFC SSH Chain" comment = "Добавить успешные попытки к SSH Stage 2" connection-state = новый dst-порт = 22 \
    протокол = tcp src-address-list = "Этап SSH 1"
add action = add-src-to-address-list address-list = "SSH Stage 1" address-list-timeout = 1m chain = "RFC SSH Chain" comment = "Добавить начальную попытку в SSH Stage 1 List" состояние соединения = новый dst-порт = 22 \
    протокол = tcp
add action = return chain = "RFC SSH Chain" comment = "Return From RFC SSH Chain"
добавить действие = принять цепочку = вывести комментарий = «Разрыв раздела» отключен = да
add action = jump chain = input comment = "Перейти к RFC Telnet Chain" dst-port = 23 jump-target = "RFC Telnet Chain" protocol = tcp
add action = add-src-to-address-list address-list = "Черный список (Telnet)" address-list-timeout = 4w2d chain = "RFC Telnet Chain" comment = "Перенести повторные попытки из Telnet Stage 3 в Black- Список" \
    состояние-соединения = новый dst-порт = 23 протокол = tcp src-address-list = "Этап Telnet 3"
add action = add-src-to-address-list address-list = "Telnet Stage 3" address-list-timeout = 1m chain = "RFC Telnet Chain" comment = "Добавить успешные попытки на Telnet Stage 3" connection-state = новый \
    dst-port = 23 protocol = tcp src-address-list = "Этап Telnet 2"
add action = add-src-to-address-list address-list = "Telnet Stage 2" address-list-timeout = 1m chain = "RFC Telnet Chain" comment = "Добавить успешные попытки к Telnet Stage 2" connection-state = новый \
    dst-port = 23 protocol = tcp src-address-list = "Этап Telnet 1"
add action = add-src-to-address-list address-list = "Telnet Stage 1" address-list-timeout = 1m chain = "RFC Telnet Chain" comment = "Добавить начальную попытку на Telnet Stage 1" connection-state = новый dst-порт = 23 \
    протокол = tcp
add action = return chain = "RFC Telnet Chain" comment = "Return from RFC Telnet Chain"
добавить действие = принять цепочку = вывести комментарий = «Разрыв раздела» отключен = да
add action = jump chain = input comment = "Перейти к RFC Winbox Chain" dst-port = 8291 jump-target = "RFC Winbox Chain" protocol = tcp
add action = add-src-to-address-list address-list = "Черный список (Winbox)" address-list-timeout = 4w2d chain = "RFC Winbox Chain" comment = "Перенести повторные попытки из Winbox Stage 3 в Black- Список" \
    состояние-соединения = новый dst-порт = 8291 протокол = tcp src-address-list = "Winbox Stage 3"
add action = add-src-to-address-list address-list = "Winbox Stage 3" address-list-timeout = 1m chain = "RFC Winbox Chain" comment = "Добавить успешные попытки к Winbox Stage 3" connection-state = новый \
    dst-port = 8291 protocol = tcp src-address-list = "Этап Winbox 2"
add action = add-src-to-address-list address-list = "Winbox Stage 2" address-list-timeout = 1m chain = "RFC Winbox Chain" comment = "Добавить успешные попытки к Winbox Stage 2" connection-state = новый \
    dst-port = 8291 protocol = tcp src-address-list = "Winbox Stage 1"
add action = add-src-to-address-list address-list = "Winbox Stage 1" address-list-timeout = 1m chain = "RFC Winbox Chain" comment = "Добавить начальную попытку к Winbox Stage 1" connection-state = новый dst-порт = \
    8291 протокол = tcp
add action = return chain = "RFC Winbox Chain" comment = "Return From RFC Winbox Chain"
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = input comment = "Перейти к RFC цепочке FTP" dst-port = 21 jump-target = "RFC FTP Chain" protocol = tcp src-port =! 21 tcp-flags = syn,! fin,! rst ,! psh,! ack,! urg,! ece,! cwr
add action = add-src-to-address-list address-list = "Черный список (FTP)" address-list-timeout = 4w2d chain = "RFC FTP Chain" comment = "Передача повторных попыток из FTP Stage 3 в Black- Список" \
    состояние соединения = новый порт dst = 21 nth = 2,2 протокол = tcp src-address-list = "FTP-этап 3" tcp-flags = syn
add action = add-src-to-address-list address-list = "FTP Stage 3" address-list-timeout = 1m chain = "RFC FTP Chain" comment = "Добавить успешные попытки к FTP Stage 3" connection-state = новый dst-порт = 21 nth = \
    2,2 протокол = tcp src-address-list = "FTP этап 2" tcp-flags = syn
add action = add-src-to-address-list address-list = "FTP Stage 2" address-list-timeout = 1m chain = "RFC FTP Chain" comment = "Добавить успешные попытки к FTP Stage 2" connection-state = новый dst-порт = 21 nth = \
    2,2 протокол = tcp src-address-list = "FTP этап 1" tcp-flags = syn
add action = add-src-to-address-list address-list = "FTP Stage 1" address-list-timeout = 1m chain = "RFC FTP Chain" comment = "Добавить начальную попытку к FTP Stage 1" connection-state = новый dst-порт = 21 nth = 2,2 \
    протокол = tcp tcp-flags = синхрон
add action = return chain = "RFC FTP Chain" comment = "Return From RFC FTP Chain"
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = input comment = "Защитить службы RouterOS" jump-target = "Защитить службы RouterOS"
add action = jump chain = forward comment = "Защитить службы RouterOS" jump-target = "Защитить службы RouterOS"
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить тестовый сервер BW из LAN" in-interface-list = "LAN Interfaces" port = 2000 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить MAC Winbox из локальной сети" in-interface-list = "LAN-интерфейсы" port = 20561 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить загрузку и DHCP из локальной сети" in-interface-list = "LAN-интерфейсы" port = 67-68 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить SNMP из LAN" in-interface-list = "LAN Interfaces" port = 161 162 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить RIP из LAN" in-interface-list = "LAN Interfaces" port = 520,521 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить клиенту и серверу DHCPv6 сообщения из LAN" in-interface-list = "LAN Interfaces" port = 546 547 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить транспортный сеанс LDP из локальной сети" in-interface-list = "LAN-интерфейсы" port = 646 protocol = tcp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить приветственные сообщения LDP из локальной сети" in-interface-list = "LAN-интерфейсы" port = 646 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить RSVP TE туннели из LAN" in-interface-list = "LAN Interfaces" port = 1698,1699 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить L2TP из LAN и WAN" port = 1701 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить PPTP из LAN и WAN" port = 1723 protocol = tcp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить BGP (TCP 179) из LAN и WAN" port = 179 protocol = tcp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить CAPsMAN из LAN" in-interface-list = "LAN Interfaces" port = 5246,5247 protocol = udp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить IGMP / многоадресную рассылку из LAN" in-interface-list = "Интерфейсы LAN" протокол = igmp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить OSPF из LAN" in-interface-list = "LAN Interfaces" protocol = ospf
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить GRE из LAN и WAN" протокол = gre
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить протокол ESP LAN и WAN" = ipsec-esp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить PIM / многоадресную рассылку из LAN" in-interface-list = "LAN Interfaces" protocol = pim
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить VRRP из LAN и WAN" протокол = vrrp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить AH из LAN и WAN" протокол = ipsec-ah
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить OpenFlow из LAN и WAN" port = 6343 protocol = tcp
add action = accept chain = "Защитить службы RouterOS" comment = "Разрешить MNDP из LAN" in-interface-list = "LAN Interfaces" port = 5678 protocol = udp
add action = drop chain = "Защитить службы RouterOS" comment = "Отбросить попытки доступа к прокси-серверу SOCKs" log-prefix = FW-SOCKS port = 1080 protocol = tcp
добавить действие = принять цепочку = вывести комментарий = «Разрыв раздела» отключен = да
add action = drop chain = input comment = "Отбросить все пакеты, полученные от Bogons" log = yes log-prefix = FW-Bogons src-address-list = Bogons
add action = drop chain = forward comment = "Отбросить все пакеты, полученные от Bogons" log = yes log-prefix = FW-Bogons src-address-list = Bogons
add action = drop chain = input comment = "Отбросить все пакеты, предназначенные для Bogons" dst-address-list = Bogons log = yes log-prefix = FW-Bogons
add action = drop chain = forward comment = "Отбросить все пакеты, предназначенные для Bogons" dst-address-list = Bogons log = yes log-prefix = FW-Bogons
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = drop chain = input comment = "Отбросить недопустимые соединения из LAN" connection-state = invalid in-interface-list = "LAN Interfaces" log = yes log-prefix = "FW-Invalid Connections"
add action = drop chain = forward comment = "Отбросить недопустимые соединения из LAN" connection-state = invalid in-interface-list = "LAN Interfaces" log = yes log-prefix = "FW-Invalid Connections"
add action = drop chain = input comment = "Отбросить недопустимые соединения из WAN" connection-state = invalid in-interface-list = "WAN Interfaces" log = yes log-prefix = "FW-Invalid Connections"
add action = drop chain = forward comment = "Отбросить недопустимые соединения из WAN" connection-state = invalid in-interface-list = "Интерфейсы WAN" log-prefix = "FW-Invalid Connections"
добавить действие = принять цепочку = вывести комментарий = «Разрыв раздела» отключен = да
add action = add-src-to-address-list address-list = "Высокие скорости подключения к WAN" address-list-timeout = 1d chain = input comment = "Добавить высокоскоростные подключения к WAN в список адресов - помогает с DDoS-атаками" \
    connection-limit = 50,32 in-interface-list = "Интерфейсы WAN"
add action = add-src-to-address-list address-list = "Высокая скорость подключения к локальной сети" address-list-timeout = 1d chain = forward comment = \
    «Добавить LAN High Connections в список адресов - помогает идентифицировать скомпрометированные системы в вашей сети» connection-limit = 150,32 in-interface-list = «Интерфейсы LAN»
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = input comment = "Необычные протоколы RFC" jump-target = "Необычные протоколы RFC"
add action = jump chain = forward comment = "Необычные протоколы RFC" jump-target = "Необычные протоколы RFC"
add action = drop chain = "RFC Unusual Protocols" comment = "Drop GGP (Gateway to Gateway Protocol - Obsolete)" protocol = ggp
add action = drop chain = "RFC Unusual Protocols" comment = "Drop GGP (Internet Stream Protocol - Obsolete)" protocol = st
add action = drop chain = "Необычные протоколы RFC" comment = "Отбросить EGP (протокол внешнего шлюза - устаревший)" протокол = egp
add action = drop chain = "RFC Unusual Protocols" comment = "Drop PUP (PARC Universal Packet Protocol - Obsolete)" protocol = pup
add action = drop chain = "Необычные протоколы RFC" comment = "Отбросить HMP (протокол мониторинга хоста - устаревший)" protocol = hmp
add action = drop chain = "Необычные протоколы RFC" comment = "Отбросить XNS-IDP (протокол сетевых дейтаграмм Xerox Network Systems - устарел)" protocol = xns-idp
add action = drop chain = "Необычные протоколы RFC" comment = "Отбросить XTP (транспортный протокол Xpress - устаревший)" протокол = xtp
add action = drop chain = "RFC Unusual Protocols" comment = "Drop RSPF (Radio Shortest Path First - Неприменимо для большинства людей)" protocol = rspf
add action = drop chain = "RFC Unusual Protocols" comment = "Drop VMTP (Универсальный протокол передачи сообщений - не подходит для большинства людей)" protocol = vmtp
add action = return chain = "Необычные протоколы RFC" comment = "Возврат из необычных протоколов RFC"
добавить действие = принять цепочку = вывести комментарий = «Разрыв раздела» отключен = да
add action = drop chain = input comment = "Отбрасывать пакеты, содержащие иерсинию" content = yersinia disabled = yes
add action = drop chain = input comment = "Отбрасывать пакеты, содержащие кали" content = kali отключено = да
добавить действие = принять цепочку = вывести комментарий = «Разрыв раздела» отключен = да
add action = jump chain = input comment = "Перейти к защите TCP" jump-target = "Протокол RFC TCP Protection" = tcp
add action = drop chain = "RFC TCP Protection" comment = "Отбросить все TCP, полученные от общих серверов DNS" dst-port =! 53 in-interface-list = "Интерфейсы WAN" protocol = tcp src-address-list = "DNS Серверы "\
    tcp-flags = ""
add action = drop chain = "RFC TCP Protection" comment = "Отбросить все сбросы TCP из WAN" in-interface-list = "WAN Interfaces" protocol = tcp src-address-list = "DNS-серверы" tcp-flags = rst
add action = add-src-to-address-list address-list = "TCP Syn Flood" address-list-timeout = 4w2d chain = "RFC TCP Protection" comment = "Добавить адрес SRC TCP SYN Flood в список" dst-address -type = unicast \
    in-interface-list = ограничение "WAN-интерфейсов" = 15,5: пакетный протокол = tcp src-address-type =! local tcp-flags = syn
add action = drop chain = "RFC TCP Protection" comment = "Отбросить TCP SYN Flood" src-address-list = "TCP Syn Flood"
add action = return chain = "RFC TCP Protection" comment = "Return from TCP Protection" protocol = tcp
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = input comment = "Перейти к защите UDP" отключено = да jump-target = "Защита RFC UDP" протокол = udp
add action = return chain = "Защита RFC UDP" comment = "Перейти к защите UDP" отключено = да протокол = udp
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = forward comment = "Перейти к вирусной цепочке" jump-target = Virus protocol = tcp
add action = jump chain = forward comment = "Перейти к вирусной цепочке" jump-target = Virus protocol = udp
add action = drop chain = Virus comment = "Drop Blaster Worm" dst-port = 135-139 protocol = tcp
add action = drop chain = Virus comment = "Drop Blaster Worm" dst-port = 445 protocol = tcp
add action = drop chain = Virus comment = "Drop Blaster Worm" dst-port = 445 protocol = udp
add action = drop chain = Virus comment = "Drop Messenger Worm" dst-port = 135-139 protocol = udp
add action = drop chain = вирусный комментарий = Conficker dst-port = 593 protocol = tcp
add action = drop chain = вирусный комментарий = червь dst-port = 1024-1030 протокол = tcp
add action = drop chain = Virus comment = "запросчик ndm" dst-port = 1363 протокол = tcp
add action = drop chain = Virus comment = "ndm server" dst-port = 1364 protocol = tcp
add action = drop chain = Virus comment = "screen cast" dst-port = 1368 protocol = tcp
добавить действие = drop chain = вирус комментарий = hromgrafx dst-port = 1373 протокол = tcp
add action = drop chain = Virus comment = "Drop MyDoom" dst-port = 1080 protocol = tcp
add action = drop chain = вирусный комментарий = cichlid dst-port = 1377 protocol = tcp
add action = drop chain = вирус комментарий = червь dst-port = 1433-1434 протокол = tcp
add action = drop chain = Virus comment = "Бросьте Думару. Y "dst-port = 2283 protocol = tcp
add action = drop chain = Virus comment = "Drop Beagle" dst-port = 2535 protocol = tcp
add action = drop chain = Virus comment = "Drop Beagle.C-K" dst-port = 2745 protocol = tcp
add action = drop chain = Virus comment = "Drop MyDoom" dst-port = 3127-3128 protocol = tcp
add action = drop chain = Virus comment = "Drop Backdoor OptixPro" dst-port = 3410 protocol = tcp
add action = drop chain = Virus comment = "Drop Sasser" dst-port = 5554 protocol = tcp
add action = drop chain = вирусный комментарий = червь dst-port = 4444 протокол = tcp
add action = drop chain = вирусный комментарий = червь dst-port = 4444 протокол = udp
add action = drop chain = Virus comment = "Брось Бигля.B "dst-port = 8866 протокол = tcp
add action = drop chain = Virus comment = "Drop Dabber.A-B" dst-port = 9898 protocol = tcp
add action = drop chain = Virus comment = "Drop Dumaru.Y" dst-port = 10000 protocol = tcp
add action = drop chain = Virus comment = "Drop MyDoom.B" dst-port = 10080 protocol = tcp
add action = drop chain = Virus comment = "Drop NetBus" dst-port = 12345 protocol = tcp
add action = drop chain = Virus comment = "Drop Kuang2" dst-port = 17300 protocol = tcp
add action = drop chain = Virus comment = "Drop SubSeven" dst-port = 27374 protocol = tcp
add action = drop chain = Virus comment = "Drop PhatBot, Agobot, Gaobot" dst-port = 65506 protocol = tcp
add action = return chain = Virus comment = "Вернуться из вирусной цепочки"
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = input comment = «Перейти к цепочке защиты RFC ICMP» jump-target = «Защита RFC ICMP» = icmp
add action = jump chain = forward comment = "Перейти к цепочке защиты RFC ICMP" jump-target = "Протокол защиты RFC ICMP" = icmp
add action = add-dst-to-address-list address-list = «Предполагаемые атаки SMURF» address-list-timeout = none-dynamic chain = «Защита RFC ICMP» comment = «Обнаружение предполагаемых атак SMURF» dst-address-type знак равно
    журнал широковещания = да префикс журнала = "Атаки FW-SMURF" протокол = icmp
add action = drop chain = "Защита RFC ICMP" comment = "Отбросить предполагаемые атаки SMURF" dst-address-list = "Предполагаемые атаки SMURF" протокол = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Accept Echo Requests" icmp-options = 8: 0 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Accept Echo Replys" icmp-options = 0: 0 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Accept Destination Network Unreachable" icmp-options = 3: 0 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Accept Destination Host Unreachable" icmp-options = 3: 1 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Accept Destination Port Unreachable" icmp-options = 3: 3 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Fragmentation Messages" icmp-options = 3: 4 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Source Route Failed" icmp-options = 3: 5 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Network Admin Prohibited" icmp-options = 3: 9 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Host Admin Prohibited" icmp-options = 3: 10 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Router Advertisemnet" icmp-options = 9: 0 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = "Router Solicitation" icmp-options = 9: 10 protocol = icmp
add action = accept chain = "Защита RFC ICMP" comment = "Превышено время" icmp-options = 11: 0-255 protocol = icmp
add action = accept chain = "RFC ICMP Protection" comment = Traceroute icmp-options = 30: 0 protocol = icmp
add action = drop chain = "Защита RFC ICMP" comment = "Отбросить ВСЕ другие сообщения ICMP" log = yes log-prefix = "Защита FW-ICMP" протокол = icmp
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = jump chain = forward comment = "Перейти к \" Управлению общими портами \ "Цепочка" jump-target = "Управлять общими портами"
add action = jump chain = input comment = "Перейти к \" Управлению общими портами \ "Цепочка" jump-target = "Управлять общими портами"
add action = accept chain = "Управление общими портами" comment = "\" Все хосты в этой подсети \ "Broadcast" src-address = 224. 0.0.1
add action = accept chain = "Управление общими портами" comment = "\" Все маршрутизаторы в этой подсети \ "Broadcast" src-address = 224.0.0.2
add action = accept chain = "Управление общими портами" comment = "DVMRP (протокол многоадресной маршрутизации с вектором расстояния)" src-address = 224.0.0.4
add action = accept chain = "Управление общими портами" comment = "OSPF - широковещательная передача всех маршрутизаторов OSPF" src-address = 224.0.0.5
add action = accept chain = "Управление общими портами" comment = "OSPF - широковещательная рассылка маршрутизаторов OSPF DR" src-address = 224.0.0.6
add action = accept chain = "Управление общими портами" comment = "RIP Broadcast" src-address = 224.0,0.9
add action = accept chain = "Управление общими портами" comment = "EIGRP Broadcast" src-address = 224.0.0.10
add action = accept chain = "Управление общими портами" comment = "PIM Broadcast" src-address = 224.0.0.13
add action = accept chain = "Управление общими портами" comment = "VRRP Broadcast" src-address = 224. 0.0.18
add action = accept chain = "Управление общими портами" comment = "IS-IS Broadcast" src-address = 224.0.0.19
add action = accept chain = "Управление общими портами" comment = "IS-IS Broadcast" src-address = 224.0.0.20
add action = accept chain = "Управление общими портами" comment = "IS-IS Broadcast" src-address = 224.0,0.21
add action = accept chain = "Управление общими портами" comment = "IGMP Broadcast" src-address = 224.0.0.22
add action = accept chain = "Управление общими портами" comment = "Протокол GRE (локальное управление)" протокол = gre
add action = accept chain = "Управление общими портами" comment = "FTP-передача данных" port = 20 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "FTP-передача данных" port = 20 protocol = udp
add action = accept chain = "Управление общими портами" comment = "FTPcontrol (команда)" port = 21 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Secure Shell (SSH)" port = 22 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Secure Shell (SSH)" port = 22 protocol = udp
add action = accept chain = "Управление общими портами" comment = Telnet port = 23 protocol = tcp
add action = accept chain = "Управление общими портами" comment = Telnet port = 23 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Priv-mail: любая частная почтовая система. "порт = 24 протокол = TCP
add action = accept chain = "Управление общими портами" comment = "Priv-mail: любая частная почтовая система." port = 24 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Простой протокол передачи почты (SMTP)" port = 25 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Простой протокол передачи почты (SMTP)" port = 25 protocol = udp
add action = accept chain = "Управление общими портами" comment = "TIME protocol" port = 37 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "TIME protocol" port = 37 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Протокол сервера имени хоста ARPA и WINS" port = 42 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол сервера имени хоста ARPA и WINS" port = 42 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Протокол WHOIS" port = 43 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол WHOIS" port = 43 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Система доменных имен (DNS)" port = 53 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Система доменных имен (DNS)" port = 53 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Протокол передачи почты (RFC 780)" port = 57 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "(BOOTP) Server & (DHCP)" port = 67 protocol = udp
add action = accept chain = "Управление общими портами" comment = "(BOOTP) Client & (DHCP)" port = 68 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Простой протокол передачи файлов (TFTP)" port = 69 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Gopher protocol" port = 70 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Finger protocol" port = 79 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол передачи гипертекста (HTTP)" port = 80 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол RemoteTELNETService" порт = 107 протокол = tcp
add action = accept chain = "Управление общими портами" comment = "Post Office Protocolv2 (POP2)" port = 109 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Post Office Protocolv3 (POP3)" port = 110 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "IdentAuthentication Service / Identification Protocol" port = 113 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Служба аутентификации (auth)" порт = 113 протокол = udp
add action = accept chain = "Управление общими портами" comment = "Простой протокол передачи файлов (SFTP)" port = 115 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол сетевого времени (NTP)" port = 123 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Служба имен NetBIOSNetBIOS" порт = 137 протокол = tcp
add action = accept chain = "Управление общими портами" comment = "Служба имен NetBIOSNetBIOS" порт = 137 протокол = udp
add action = accept chain = "Управление общими портами" comment = "Служба датаграмм NetBIOSNetBIOS" порт = 138 протокол = tcp
add action = accept chain = "Управление общими портами" comment = "Служба датаграмм NetBIOSNetBIOS" порт = 138 протокол = udp
add action = accept chain = "Управление общими портами" comment = "Служба сеансов NetBIOSNetBIOS" порт = 139 протокол = tcp
add action = accept chain = "Управление общими портами" comment = "Служба сеансов NetBIOSNetBIOS" порт = 139 протокол = udp
add action = accept chain = "Управление общими портами" comment = "Протокол доступа к сообщениям в Интернете (IMAP)" port = 143 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Фоновая программа передачи файлов (BFTP)" port = 152 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Фоновая программа передачи файлов (BFTP)" port = 152 protocol = udp
add action = accept chain = "Управление общими портами" comment = "SGMP, простой протокол мониторинга шлюза" port = 153 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "SGMP, простой протокол мониторинга шлюза" port = 153 protocol = udp
add action = accept chain = "Управление общими портами" comment = "DMSP, протокол распределенной почтовой службы" port = 158 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "DMSP, протокол распределенной почтовой службы" port = 158 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Простой протокол управления сетью (SNMP)" port = 161 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Простой протокол управления сетью (SNMPTRAP)" port = 162 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Простой протокол управления сетью (SNMPTRAP)" port = 162 protocol = udp
add action = accept chain = "Управление общими портами" comment = "BGP (протокол пограничного шлюза)" port = 179 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол доступа к сообщениям в Интернете (IMAP), версия 3" port = 220 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол доступа к сообщениям в Интернете (IMAP), версия 3" port = 220 protocol = udp
add action = accept chain = "Управление общими портами" comment = "BGMP, протокол многоадресной передачи пограничного шлюза" port = 264 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "BGMP, протокол многоадресной передачи пограничного шлюза" port = 264 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Lightweight Directory Access Protocol (LDAP)" port = 389 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Облегченный протокол доступа к каталогам (LDAP)" port = 389 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Порт TCP SSTP 443 (локальное управление) и HTTPS" порт = 443 протокол = tcp
add action = accept chain = "Управление общими портами" comment = "Microsoft-DSActive Directory, общие ресурсы Windows" port = 445 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "L2TP / IPSEC UDP Port 500 (локальное управление)" port = 500 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Modbus, протокол" port = 502 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Modbus, протокол" port = 502 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Shell (Remote Shell, rsh, remsh)" port = 514 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Системный журнал - используется для ведения системного журнала" port = 514 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Протокол информации о маршрутизации (RIP)" port = 520 protocol = udp
add action = accept chain = "Управление общими портами" comment = "отправка сообщений электронной почты (SMTP)" port = 587 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "LDP, протокол распространения меток" port = 646 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "LDP, протокол распространения меток" port = 646 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Протокол FTPS (данные): FTP через TLS / SSL" порт = 989 протокол = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол FTPS (данные): FTP через TLS / SSL" порт = 989 протокол = udp
add action = accept chain = "Управление общими портами" comment = "Протокол FTPS (контроль): FTP через TLS / SSL" порт = 990 протокол = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол FTPS (контроль): FTP через TLS / SSL" port = 990 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Протокол TELNET через TLS / SSL" port = 992 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Протокол TELNET через TLS / SSL" port = 992 protocol = udp
add action = accept chain = "Управление общими портами" comment = "Протокол доступа к сообщениям Интернета через TLS / SSL (IMAPS)" port = 993 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Post Office Protocol3 over TLS / SSL (POP3S)" port = 995 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Порт TCP OVPN 1194 (локальное управление)" port = 1194 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Порт PPTP 1723 (локальное управление)" port = 1723 protocol = tcp
add action = accept chain = "Управление общими портами" comment = "Порт L2TP UDP 1701 (локальное управление)" port = 1701 protocol = udp
add action = accept chain = "Управление общими портами" comment = "L2TP UDP-порт 4500 (локальное управление)" port = 4500 protocol = udp
добавить действие = принять цепочку = вывести комментарий = "Разрыв раздела" отключен = да
add action = accept chain = input comment = «Принять связанные или установленные соединения» состояние соединения = установлено, связанное
add action = accept chain = forward comment = "Принять связанные или установленные соединения" состояние соединения = установлено, связанное
add action = accept chain = forward comment = "Accept New Connections" connection-state = new in-interface-list = "LAN Interfaces"
add action = drop chain = forward comment = "Отбросить весь другой трафик в цепочке Foward" log = yes log-prefix = "FW-Drop All Other Traffic"
add action = drop chain = input comment = "Отбросить весь другой трафик во входной цепочке" log = yes log-prefix = "FW-Drop All Other Traffic"

/ действие системного журнала
установить 1 диск-файл-счетчик = 1 дисковых строк на файл = 10000
добавить email-to = youremail @ gmail. com name = email target = email
/ системный журнал
установить 0 действие = диск
установить 1 действие = диск
установить 2 действие = диск
add action = email disabled = yes prefix = "FW-Invalid Connections"
добавить действие = электронная почта отключена = да префикс = FW-Bogons
add action = email disabled = yes prefix = "FW-Drop All Other Traffic"
добавить действие = электронная почта отключена = да префикс = "Сканирование портов RFC"


 

Базовый брандмауэр MikroTik Rev 6.0 для IPv4 (бесплатная версия)

Нравится:

Нравится Загрузка …

Связанные

TheBrothersWISP — Межсетевой экран Mikrotik

Мы знаем, что некоторые из вас не сделают этого, пока не получат информацию с ложечки.

Настройка списков ACL для служб недостаточна. Вы должны сделать это на уровне брандмауэра.

Это просто что-то составленное и, вероятно, содержит ошибки и упущения. Прочтите это и поймите, прежде чем просто копипаста. Вам придется прочитать, потому что вам нужно будет изменить блоки IP, интерфейсы, номера портов и т. Д. Если вы не используете какую-либо из VPN, удалите эту конкретную VPN.

Обратите внимание, что для приема SSTP вам потребуется открытый веб-интерфейс. На веб-сервере уже были эксплойты, поэтому, возможно, вы не хотите просто оставлять 443 открытым для всего мира.Возможно, вы не используете это и вместо этого добавляете IP-адрес в белый список, если он статический, или используйте блокировку портов, если он динамический.

Там же есть последовательность стука портов. TCP 9000, TCP 32000, а затем TCP 6000. Каждый должен быть запущен в течение 10 секунд после последнего, чтобы открыть брандмауэр на 10 часов. Прочтите этот пост Грега, который поможет вам понять, как создать приложение для управления блокировкой портов на стороне клиента (и предварительно созданного). http://gregsowell.com/?p=2020

Здесь все еще есть сценарии перебора FTP \ SSH в качестве последней линии защиты на случай, если что-то в ваших сетях управления будет скомпрометировано. Я был бы признателен за некоторые комментарии о том, как перехватывать атаки методом грубой силы Winbox, telnet, IPSEC, OpenVPN и т. Д., Чтобы мы могли максимально защитить эти сети \ службы из белого списка. В отличие от обнаружения грубой силы, которое вы, возможно, делали раньше, когда целью было блокирование, а не оповещение из-за объема трафика, вам нужно следить за всем, что проходит через эту часть конфигурации, потому что это будет устройство, которому вы доверяете, взломано.

/ список интерфейсов
добавить имя = OSPF
/ элемент списка интерфейсов
добавить интерфейс = ether1 список = OSPF
/ список адресов брандмауэра ip
добавить адрес = 10.250.250.32 / 27 comment = Список «частных IP-адресов управления» = Белый список
добавить адрес = MMM.NNN.OOO.PPP / 27 comment = Список «Общедоступных IP-адресов управления» = Белый список
добавить адрес = AAA.BBB.CCC.DDD комментарий = Список других граничных маршрутизаторов = BGP
добавить адрес = 206. 41.110.0 / 24 comment = United-IX list = BGP
добавить адрес = 206.53.139.0 / 24 comment = «Midwest-IX Indy» list = BGP
добавить адрес = 178.248.237.29 comment = QRator list = BGP
добавить адрес = EEE.FFF.GGG.HHH comment = Upstream-v4 list = BGP
добавить адрес = III.JJJ.KKK.LLL comment = Список клиентов = BGP
добавить адрес = 38 .229.6.20 комментарий = FULLBOGONS-CYMRU-1-v4 список = BGP
добавить адрес = 38.229.46.20 комментарий = FULLBOGONS-CYMRU-2-v4 список = BGP
/ фильтр межсетевого экрана IP
добавить действие = принять цепочку = ввести комментарий = » Принять установленное и связанное »состояние соединения = установлено, связано
add action = accept chain = input comment =« Accept BGP Address List »src-address-list = BGP dst-port = 179
add action = accept chain = input comment = Протокол «Принять ICMP» = icmp
добавить действие = drop chain = input comment = «drop ssh brute forcers» dst-port = 22,23 protocol = tcp src-address-list = ssh_blacklist
add action = drop chain = input comment = «Отбросить ftp брутфорсеры» dst-port = 21 protocol = tcp src-address-list = ftp_blacklist
add action = accept chain = input comment = «Accept Whitelist» src-address-list = Whitelist
add action = accept chain = input comment = OSPF in-interface-list = OSPF protocol = ospf
add action = accept chain = input comment = ”OpenVPN” disabled = no dst-port = 1194 protocol = tcp
add action = accept chain = input in-interface = протокол ether1 = ipsec-esp comment = ”разрешить L2TP VPN (ipsec-esp)”
добавить действие = accept chain = input dst-port = 500,1701,4500 in-interface = протокол ether1 = udp comment = ”разрешить L2TP VPN (500,4500,1701 / udp) »
add chain = input protocol = tcp dst-port = 443 action = accept comment =« Allow SSTP »
add action = add-src-to-address-list список-адресов =» порт: 9000 ″ список-адресов-тайм-аут = 10 с цепочка = вход dst-порт = 9000 протокол = TCP
добавить действие = добавить-src-в-список-адресов список-адресов = ”порт: 32000 ″ тайм-аут списка-адресов = 10 с цепочка = вход dst-port = 32000 протокол = tcp src-address-list = ”порт: 9000 ″
add action = add-src-to-address-list список-адресов =“ Белый список ”тайм-аут списка-адресов = 10 часов chain = input dst-port = 6000 protocol = tcp src-address-list = ”port: 32000 ″
add action = accept chain = output content =” 530 Неправильный вход в систему ”dst-limit = 1 / 1m, 9, dst-address / 1m protocol = tcp
add action = add-dst-to-address-list список-адресов = ftp_blacklist список-адресов-тайм-аут = 3h цепочка = выходной контент = ”530 Ошибка входа в систему” протокол = tcp
добавить действие = добавить-src-в-список-адресов список-адресов = ssh_blacklist список-адресов-тайм-аут = 1w3d цепочка = состояние входного соединения = новый порт dst = 22,23 протокол = tcp список-адресов src = ssh_stage3
add action = add-src-to-address-list список-адресов = ssh_stage3 address-list-timeout = 1m chain = input-connection-state = new dst-port = 22,23 protocol = tcp src-address-list = ssh_stage2
add action = add-src-to-address-list список-адресов = ssh_stage2 address-list-timeout = 1m chain = input-connection-state = new dst-port = 22,23 protocol = tcp src-address-list = ssh_stage1
add action = add-src-to-address-list список-адресов = ssh_stage1 address-list-timeout = 1m chain = input-state = new dst-port = 22,23 protocol = tcp
add action = drop chain = input comment = «Запретить все»

Обзор маршрутизатора

Mikrotik Hex S Gigabit Ethernet

Mikrotik Hex S — это пятипортовый маршрутизатор Gigabit Ethernet для мест, где беспроводное соединение не требуется. По сравнению с hEX, hEX S также имеет порт SFP и выход PoE на последнем порту.

Это доступный, компактный и простой в использовании, но в то же время он оснащен очень мощным двухъядерным процессором с тактовой частотой 880 МГц и оперативной памятью 256 МБ, поддерживающей расширенные конфигурации, поддерживаемые RouterOS. Устройство имеет USB 2.0, выход PoE для порта Ethernet №5 и отсек SFP 1,25 Гбит / с.

Аппаратное шифрование

IPsec (~ 470 Мбит / с) и серверный пакет Dude поддерживаются, слот microSD на нем обеспечивает улучшенную скорость чтения / записи для хранения файлов и Dude.

Почему выбирают маршрутизатор Mikrotik Hex S Gigabit Ethernet?

MikroTik была основана в 1996 году и находится в Риге, Латвия. В 1997 году MikroTik создала RouterOS, программное обеспечение, на котором сегодня работают их маршрутизаторы. Вы можете попробовать RouterOS сегодня и при желании превратить ПК в роутер. В 2002 году MikroTik решила создавать собственное оборудование, создав бренд RouterBOARD.

Линия продуктов RouterBOARD включает обширный список сетевых продуктов, перечисленных в их 73-страничном руководстве по продукту и на странице продукта.Продукция MicroTik включает маршрутизаторы, коммутаторы и беспроводные устройства. В этом обзоре я собираюсь изучить маршрутизатор MicroTik RB750GR3 hEX.

RouterOS — это операционная система для маршрутизаторов MikroTik, основанная на ядре Linux v3.3.5. Мой hEX шел с прошивкой v6.39.2, которую легко обновить до v6.40.3, просто используя опцию «Auto Upgrade» в графическом интерфейсе. RouterOS поддерживает параметры графического интерфейса пользователя (GUI), консоли и интерфейса командной строки (CLI) для применения конфигураций, а также утилиту Winbox, о которой я расскажу далее.

Список параметров конфигурации, представленных при первом подключении к графическому интерфейсу пользователя hEX, иллюстрирует широкий спектр возможностей маршрутизаторов на базе RouterOS. В левой части графического интерфейса hEX имеется 14 основных параметров конфигурации: интерфейсы, мост, коммутатор, PPP, Mesh, IP, MPLS, маршрутизация, система, очереди, файлы, журнал, радиус и инструменты.

Чтобы констатировать очевидное, набор функций этого роутера обширен! MikroTik предоставляет здесь список спецификаций, но весь список функций будет слишком длинным, чтобы перечислять его.Ясно, что этот маршрутизатор не предназначен в качестве основного потребительского маршрутизатора. В графическом интерфейсе пользователя есть простая опция «Quick Set», где вы можете настроить WAN-интерфейс на DHCP и установить пароль маршрутизатора, чтобы быстро и легко приступить к работе с настройками по умолчанию.

Но если вашему интернет-провайдеру требуется другой тип подключения, например PPPoE, L2TP и т. Д., Вам нужно будет зайти в Wiki и покопаться в меню IP. Огромное количество вариантов конфигурации указывает на то, что это маршрутизатор, предназначенный для тех, кто разбирается в сетевых технологиях.Мы обнаружили, что графический интерфейс и интерфейс командной строки RouterOS менее интуитивно понятны, чем другие интерфейсы настройки маршрутизатора. Графический интерфейс RouterOS требует некоторого времени для поиска того, что вы ищете. Интерфейс командной строки RouterOS уникален и не похож ни на Cisco, ни на Juniper. Таким образом, с моей точки зрения, нужно немного научиться настраивать устройство RouterOS.

К чести MikroTik, их RouterOS Wiki довольно подробна и включает множество подробных примеров конфигурации.Многие примеры Wiki предоставляют команды CLI для применения конфигураций. Но со всеми параметрами в графическом интерфейсе, похоже, вы сможете применить большинство конфигураций в графическом интерфейсе.

Мы хотели настроить удаленный WAN-доступ к hEX в целях тестирования, и MikroTik Wiki указала нам на использование Winbox. Winbox — интересная утилита, которая позволяет управлять маршрутизатором из небольшой исполняемой утилиты, которую вы загружаете прямо с маршрутизатора. Согласно MikroTik, « Winbox — это небольшая утилита, которая позволяет администрировать MikroTik RouterOS с помощью быстрого и простого графического интерфейса .”

Простое нажатие на Winbox в графическом интерфейсе пользователя hEX загружает файл . exe . Вы ничего не устанавливаете; вы просто запускаете файл. Я использовал Winbox на ПК с Windows, но MikroTik говорит, что Winbox также может работать на MacOS и Linux с использованием Wine. Мы начали тестирование функций hEX с погружения в IPSec VPN.

По моему опыту, туннели IPSec часто требуют небольшой настройки конфигурации, чтобы заставить их работать, и я хотел увидеть, насколько сложно будет заставить один из них работать на RouterOS от MikroTik.В качестве дополнительной проблемы, пример Wiki для IPSec Site-to-Site должен был быть устаревшим, так как мне пришлось немного изменить его, чтобы заставить его работать.

После сброса маршрутизатора к настройкам по умолчанию я попробовал конфигурации интерфейса командной строки, представленные в Wiki, в которых говорится, что он использует по умолчанию шифрование 3DES и аутентификацию SHA-1. Мы попытались настроить туннель Site-to-Site к моему Linksys LRT224 с этими параметрами, но не смогли подключить туннель.

Графический интерфейс пригодился, поскольку он показал, что по умолчанию IPSec фактически использует шифрование AES-128, 192 и 256.Мы изменили LRT224 на использование шифрования AES-128, и появился туннель от hEX к LRT224, как показано ниже. Мы пытались настроить туннель от LRT224 для использования AES-256, но не смогли заставить эту опцию работать.

После того, как туннель был установлен, у нас было прерывистое соединение через туннель между LRT224 и hEX. Мы обнаружили, что одна из команд интерфейса командной строки, представленных в RouterOS Wiki, имела значение, которое не было принято маршрутизатором. Мы поиграли с несколькими другими вариантами, пока я не нашел тот, который работал, что сделало туннель устойчивым.

Мы измерили пропускную способность через туннель IPSec VPN между hEX и LRT224, используя клиент и серверное приложение TotuSoft LAN Speed ​​Test, а также два ПК под управлением 64-битной Windows с отключенным программным брандмауэром. С одним ПК в локальной сети hEX, а другим ПК в локальной сети LRT224, мы измерили пиковую пропускную способность выгрузки из hEX в LRT224 на уровне 53,3 Мбит / с и пиковую пропускную способность загрузки в hEX из LRT224 на уровне 85,2 Мбит / с при размере файла 100 МБ.

Хотя этот уровень немного несбалансирован, этот уровень пропускной способности выгодно отличается от недавно рассмотренного Ubiquiti EdgeRouter Lite.Мы измерили пиковую пропускную способность на уровне 51,5 Мбит / с. L2TP и PPTP VPN являются другими вариантами удаленного клиентского доступа VPN к маршрутизатору hEX. Вы даже можете попробовать OpenVPN, если любите приключения. Мы успешно установили PPTP-соединение от ПК с Windows к hEX.

HEX имеет четыре порта 10/100/1000 Ethernet. Вы можете контролировать размер MTU, создавать IP- и GRE-туннели, добавлять VLAN, реализовывать протокол виртуального маршрутизатора Redundancy Protocol (VRRP), связывание каналов и интерфейсы LTE для резервного копирования ваших проводных соединений. В меню межсетевого экрана RouterOS представлены многочисленные параметры межсетевого экрана для управления входящим и исходящим трафиком HEX.

Правила фильтрации добавляются в список управления доступом и обрабатываются сверху вниз. Трафик можно фильтровать по адресу источника и назначения, порту источника и назначения, протоколу, а также по входящим и исходящим интерфейсам. Оптимизация NAT и VPN также контролируется через меню брандмауэра.

Плюсы

Высокая пропускная способность

Очень низкая стоимость

Может питаться от PoE

Простой безопасный удаленный доступ через Winbox Utility

Минусы

Слишком сложно

Возможная периодическая потеря пакетов

Не удалось заставить управление пропускной способностью работать

Как использовать

Думаете, маршрутизатор Mikrotik Hex S Gigabit Ethernet подойдет для вашего дома или бизнеса?

Узнайте больше о его характеристиках и текущей цене здесь.

После того, как вы сделали покупку, вы можете следовать этому пошаговому руководству по установке, чтобы узнать, как ее настроить.

Первое использование

  • Подключите интернет-кабель к одному из двух портов с пометкой «Интернет», в зависимости от того, будете ли вы использовать модуль SFP или Ethernet.
  • Выберите решение по питанию, возможности см. В разделе «Питание».
  • Подключите разъем прямого входа питания, если не используется POE, чтобы запустить устройство.
  • Подключите компьютеры локальной сети к портам 2–5, чтобы настроить IP-конфигурацию компьютера на автоматическую (DHCP).
  • IP-адрес из локальной сети — 192.168.88.1, используйте его в браузере для доступа к устройству.
  • Мы рекомендуем нажать кнопку «Проверить наличие обновлений» и обновить программное обеспечение RouterOS до последней версии, чтобы обеспечить максимальную производительность и стабильность.
  • Установите пароль на загружающемся экране.

Монтажный

Устройство предназначено для использования внутри помещений путем размещения его на плоской поверхности или крепления на стене, точки крепления расположены на нижней стороне устройства, винты в комплект не входят.Хорошо подходят винты размером 4 × 25 мм. В зависимости от конструкции стены вы можете использовать дюбели 6 × 30 мм и сверло 6 мм, если необходимо. При установке на стене убедитесь, что подвод кабеля направлен вниз. Мы рекомендуем использовать для наших устройств экранированный кабель Cat6. Шкала рейтинга IP для этого устройства — IPX0.

Конфигурация

RouterOS включает множество параметров конфигурации в дополнение к тому, что описано в этом документе. Мы предлагаем начать здесь, чтобы ознакомиться с возможностями: http: // mt.lv / help.

В случае, если IP-соединение недоступно, можно использовать инструмент Winbox для подключения к MAC-адресу устройства со стороны локальной сети (по умолчанию весь доступ через Интернет-порт заблокирован). В целях восстановления можно загрузить устройство из сети, см. Раздел Кнопки

.

Питание

Устройство принимает питание от разъема питания или от первого порта Ethernet:

  • Гнездо прямого входа питания (5.5 мм снаружи и 2 мм внутри, розетка, положительный контакт) принимает постоянный ток ⎓ 12-57 В.
  • Первый порт Ethernet принимает пассивное питание или 802.3af / at Power over Ethernet в диапазоне DC ⎓ 12-57 В.

Энергопотребление данного устройства при максимальной нагрузке без приставок до 6 Вт.

При использовании 802.3af / at для питания этого устройства мы рекомендуем не использовать заземление для лучшей совместимости.

Подключение к адаптеру POE:

  • Подключите кабель Ethernet от устройства к порту POE адаптера POE.
  • Подключите кабель Ethernet от вашей LAN к LAN-порту адаптера POE, обратите внимание на стрелки для потока данных и мощности.
  • Подсоедините шнур питания к адаптеру, а затем вставьте шнур питания в розетку.

Слоты и порты расширения

  • Пять отдельных портов 10/100/1000 Gigabit Ethernet, поддерживающих автоматическую коррекцию перекрестного / прямого кабеля (Auto MDI / X), поэтому вы можете использовать прямые или перекрестные кабели для подключения к другим сетевым устройствам.
  • Один отсек для модулей SFP поддерживает модули 1,25G.
  • Слот

  • MicroSD для расширения встроенной памяти.
  • USB типа A.

Кнопка сброса

Кнопка сброса RouterBOOT выполняет следующие функции. Нажмите кнопку и подайте питание, затем:

  • Отпустите кнопку, когда зеленый индикатор начнет мигать, чтобы сбросить конфигурацию RouterOS до значений по умолчанию.
  • Отпустите кнопку, когда индикатор загорится зеленым, чтобы очистить всю конфигурацию и установить мост между интерфейсами.
  • Если отпустить кнопку после того, как светодиод перестанет светиться (~ 20 секунд), устройство начнет поиск серверов Netinstall (требуется для переустановки RouterOS по сети).

Независимо от используемого выше варианта, система загрузит резервный загрузчик RouterBOOT, если кнопка будет нажата до подачи питания на устройство. Полезно для отладки и восстановления RouterBOOT.

Кнопка режима

Действие кнопок режима можно настроить из программного обеспечения RouterOS для выполнения любого предоставленного пользователем сценария RouterOS.Вы также можете отключить эту кнопку. Кнопку режима можно настроить в меню RouterOS / системном маршрутизаторе.

Mikrotik CAPsMAN is Awesome (Домашняя автоматизация) — Каспарс Дамбис

Маршрутизаторы

Mikrotik используют CAPsMAN (диспетчер контролируемых точек доступа) для настройки и синхронизации сети точек беспроводного доступа или CAP (контролируемых точек доступа). Это чрезвычайно полезно для настройки нескольких точек доступа с одним и тем же именем WiFI или SSID и настройками безопасности, например, для выделенной гостевой сети.

Дополнительное примечание: я бы хотел, чтобы под каждой панелью конфигурации RouterOS было краткое описание, которое описывало бы назначение конкретного раздела или просто ссылку на соответствующую страницу вики. Количество сокращений, используемых в интерфейсе управления RouterOS, действительно усложняет задачу любому, кто плохо знаком с платформой.

Как работает CAPsMAN?

За кулисами CAPsMAN использует MAC (уровень 2) или UDP-пакеты через IP (уровень 3) для обнаружения и настройки точек доступа.

Вся эта связь может быть защищена и зашифрована с помощью дейтаграммной безопасности транспортного уровня (DTLS), которая очень похожа на безопасность транспортного уровня (TLS), используемую в Интернете, но для пакетов UDP. RouterOS позаботится о создании сертификата центра сертификации (CA) и связанных ключей.

Интересно, насколько он похож на CAPWAP?

Использование CAPsMAN с локальной точкой доступа (CAP)

CAPsMAN также может настроить точку доступа или CAP, работающую на том же устройстве, что и сам CAPsMAN. Однако могут потребоваться дополнительные правила брандмауэра, чтобы разрешить связь между CAP и менеджером CAP.

По умолчанию RouterOS добавляет следующее правило брандмауэра, позволяющее локальному CAPsMAN взаимодействовать с локальным CAP:

  action = accept chain = input dst-address = 127.0.0.1 comment = "defconf: accept to local loopback (for CAPsMAN)"  

, но вся локальная связь CAPsMAN будет заблокирована следующим правилом (также добавленным по умолчанию), которое запрещает весь трафик, поступающий на маршрутизатор из-за пределов списка интерфейсов LAN :

  действие = drop chain = input in-interface-list =! LAN comment = "defconf: отбросить все, не поступающие из LAN"  

Правила брандмауэра по умолчанию для быстрой настройки или профиля Mikrotik Home Mesh.

Это потому, что весь трафик CAPsMAN выглядит для маршрутизатора так:

  input: in: (unknown 1) out: (unknown 0), proto UDP, 192. 168.88.1:42921->192.168.88.1:5247, len 52  

Брандмауэр RouterOS блокирует настройку локальной CAP через CAPsMAN на том же устройстве.

Обратите внимание, что интерфейсы в и из отображаются в журналах как unknown , потому что CAPsMAN использует MAC-уровень вместо IP-уровня для связи, что делает трафик недействительным.См. Эту ветку форума для получения дополнительной информации.

Для этого есть два решения:

Сначала настройте локальный CAP для использования 127.0.0.1 в качестве адреса CAPsMAN:

  / интерфейсный беспроводной колпачок
установить мост = мост caps-man-addresses = 127.0.0.1  

, который заставит его использовать уровень IP для связи CAPsMAN и, следовательно, будет соблюдать правило брандмауэра локальной петли.

Укажите адрес CAPsMAN 127.0.0.1.0.1 для местного CAP.

В качестве альтернативы добавьте новое правило входа брандмауэра (для всего, что идет с на маршрутизатор , а не только на проход), чтобы разрешить трафик с локального типа адреса в локальный тип адреса маршрутизатора:

  / IP фильтр межсетевого экрана
add action = accept chain = input dst-address-type = local src-address-type = local comment = "Accept local CAPsMAN config"  

и поместите его перед всем, что блокирует нелокальный трафик.

Новое правило брандмауэра RouterOS, разрешающее весь «локальный» адресный трафик во «входной» цепочке.

Полезные ссылки

Вот сообщения и темы на форуме, которые мне пригодились при изучении RouterOS CAPsMAN:

Как настроить маршрутизатор MikroTik (RouterBoard) для приема IPv6

Отличные новости! По умолчанию большинство маршрутизаторов MikroTik должны поддерживать IPv6, однако пакет IPv6 не включен по умолчанию во многих системах RouterOS. Прежде чем начать, вам нужно будет включить пакет IPv6, выполнив следующую команду:

  / системный пакет включить ipv6
  

После перезагрузки маршрутизатора пакет IPv6 должен быть включен.

Также неплохо использовать последний стабильный пакет RouterOS, который на момент написания был 6.45.3 .

Настройка маршрутизатора MikroTik (RouterBoard) для приема IPv6

Примечание. В этом руководстве предполагается, что у вас уже есть работающий интернет-сервис через IPv4 и вы используете имена интерфейсов по умолчанию.

  1. Сначала мы скажем маршрутизатору, чтобы он принимал рекламу IPv6, настроил наш клиент / сервер DHCP IPv6 и включил обнаружение соседей для нашей локальной сети:
  / настройки ipv6
установить accept-router-реклама = да
/ ipv6 dhcp-клиент
добавить add-default-route = yes interface = pppoe-out1 имя-пула = делегирование \
    длина префикса пула = 56 запрос = адрес, префикс
/ ipv6 dhcp-сервер
добавить пул адресов = интерфейс делегирования = bridge1 имя = dhcp1
/ ipv6 nd
установить [find default = yes] interface = bridge ra-interval = 20s-1m
  
  1. В зависимости от версии routerOS, которую вы используете, вам также может потребоваться настроить автоматическое назначение адресов, созданное маршрутизатором после шага 1.Если IPv6-адрес, назначенный вашему маршрутизатору через IPv6 DHCP-клиент, отображается в вашем списке IPv6-адресов как префикс /64 , нам необходимо удалить это назначение и переназначить его как индивидуальный IP-адрес (/128 ):
  / IPv6 адрес
добавить адрес = <ваш IPv6-адрес> / 128 Advertise = no interface = pppoe-out1
  
  1. Если ваш маршрутизатор не присвоил вашему основному интерфейсу локальной сети автоматически первый IPv6-адрес в вашей делегации (/56 ), теперь нам также нужно будет назначить его самостоятельно (не забудьте указать свой собственный адрес ниже):
  / IPv6 адрес
добавить адрес = :: e68d: 8cff: fecb: 9377 eui-64 = да из-пула = интерфейс делегирования = bridge1
  
  1. Затем вы можете добавить правило ограничения IPv6 MSS:
  / ipv6 firewall mangle
add action = change-mss chain = forward new-mss = clamp-to-pmtu out-interface = pppoe-out1 passthrough = yes protocol = tcp tcp-flags = syn
  
  1. Наконец, теперь вам следует настроить некоторые правила брандмауэра IPv6 — хотя это и не обязательно, но это хорошая практика, которая поможет защитить вашу сеть от атак. Если вы не уверены, какие правила вам понадобятся, вот стандартный набор правил брандмауэра, предоставляемый MikroTik:
  2. .

  / ipv6 список адресов брандмауэра
добавить адрес = :: / 128 comment = "defconf: неуказанный адрес" list = bad_ipv6
добавить адрес = :: 1/128 comment = "defconf: lo" list = bad_ipv6
добавить адрес = fec0 :: / 10 comment = "defconf: site-local" list = bad_ipv6
добавить адрес = :: ffff: 0.0.0.0/96 comment = "defconf: ipv4-mapped" list = bad_ipv6
добавить адрес = :: / 96 comment = "defconf: ipv4 compat" list = bad_ipv6
добавить адрес = 100 :: / 64 comment = "defconf: discard only" list = bad_ipv6
добавить адрес = 2001: db8 :: / 32 comment = "defconf: documentation" list = bad_ipv6
добавить адрес = 2001: 10 :: / 28 comment = "defconf: ORCHID" list = bad_ipv6
добавить адрес = 3ffe :: / 16 comment = "defconf: 6bone" list = bad_ipv6
добавить адрес = :: 224.0.0.0 / 100 комментарий = "defconf: other" list = bad_ipv6
добавить адрес = :: 127.0.0.0/104 comment = "defconf: other" list = bad_ipv6
добавить адрес = :: / 104 comment = "defconf: other" list = bad_ipv6
добавить адрес = :: 255. 0.0.0/104 comment = "defconf: other" list = bad_ipv6
/ ipv6 фильтр межсетевого экрана
добавить действие = принять цепочку = ввести комментарий = \
    "defconf: принять установленное, связанное, неотслеживаемое" состояние соединения = \
    установленный, связанный, неотслеживаемый
add action = drop chain = input comment = "defconf: drop invalid" состояние соединения = \
    инвалид
добавить действие = принять цепочку = входной комментарий = "defconf: принять ICMPv6" протокол = icmpv6
add action = accept chain = input comment = "defconf: accept UDP traceroute" port = \
    33434-33534 протокол = UDP
добавить действие = принять цепочку = ввести комментарий = \
    "defconf: принять делегирование префикса DHCPv6-клиента."dst-port = 546 протокол = \
    udp src-адрес = fe80 :: / 10
add action = accept chain = input comment = "defconf: accept IKE" dst-port = 500,4500 \
    протокол = UDP
add action = accept chain = input comment = "defconf: accept ipsec AH" protocol = \
    ipsec-ах
add action = accept chain = input comment = "defconf: accept ipsec ESP" протокол = \
    ipsec-esp
добавить действие = принять цепочку = ввести комментарий = \
    "defconf: принять все, что соответствует политике ipsec" ipsec-policy = in, ipsec
добавить действие = капля цепочки = ввести комментарий = \
    "defconf: отбросить все остальное, что не из LAN" in-interface-list =! LAN
добавить действие = принять цепочку = переслать комментарий = \
    "defconf: принять установленное, связанное, неотслеживаемое" состояние соединения = \
    установленный, связанный, неотслеживаемый
add action = drop chain = forward comment = "defconf: drop invalid" состояние соединения = \
    инвалид
add action = drop chain = forward comment = "defconf: отбрасывать пакеты с неверным src ipv6" \
    src-список-адресов = bad_ipv6
add action = drop chain = forward comment = "defconf: отбрасывать пакеты с плохим dst ipv6" \
    dst-список-адресов = bad_ipv6
добавить действие = drop chain = forward comment = "defconf: rfc4890 drop hop-limit = 1" \
    hop-limit = равно: 1 protocol = icmpv6
добавить действие = принять цепочку = вперед комментарий = "defconf: принять ICMPv6" протокол = \
    icmpv6
добавить действие = принять цепочку = вперед комментарий = "defconf: принять HIP" протокол = 139
добавить действие = accept chain = forward comment = "defconf: accept IKE" dst-port = 500,4500 \
    протокол = UDP
добавить действие = accept chain = forward comment = "defconf: accept ipsec AH" протокол = \
    ipsec-ах
добавить действие = принять цепочку = вперед комментарий = "defconf: принять протокол IPsec ESP" = \
    ipsec-esp
добавить действие = принять цепочку = переслать комментарий = \
    "defconf: принять все, что соответствует политике ipsec" ipsec-policy = in, ipsec
добавить действие = капля цепочки = вперед комментарий = \
    "defconf: отбросить все остальное, что не из LAN" in-interface-list =! LAN
  

Если все работает, теперь вы можете просматривать Интернет IPv6. Мы предлагаем использовать такие веб-сайты, как https://ipv6test.google.com/ или http://ip6.me, чтобы убедиться, что IPv6 работает должным образом.

Все еще застрял?

Каждое из устройств в вашей сети теперь должно получить IPv6-адрес в дополнение к IPv4-адресу, который они уже получили. Если некоторые из ваших устройств не получают IPv6-адрес, сначала попробуйте выключить и снова включить их. Если они все еще не получили IPv6-адрес, обратитесь к производителю устройства, так как могут потребоваться дополнительные шаги для включения IPv6 для устройства.

Если вы выполнили описанные выше действия и по-прежнему не можете решить проблему, обратитесь в службу поддержки за помощью.

Проверка безопасности ваших маршрутизаторов MikroTik в масштабах сети

В последнее время наблюдается всплеск атак на устройства MikroTik RouterOS (статьи
здесь,
здесь
и тут)
с использованием уязвимостей, исправленных в апреле 2018 г. (релиз 6.42.1), но также падающих
вернемся к некоторым более старым уязвимостям.

Эти новые атаки в основном используют эксплойт в Winbox (один из управляющих MikroTiks).
интерфейсы),
для получения контроля над маршрутизатором и выполнения различных вредоносных задач.

Однако эти эксплойты Winbox — далеко не единственные эксплойты, существующие для RouterOS.
Например, сервер http (s) в более старых версиях RouterOS содержит эксплойт, который был
обнародовано во время
Утечка Vault7.

В этой статье мы будем использовать Unimus, чтобы проверить, не взломан ли какой-либо из ваших маршрутизаторов через
вся ваша сеть.
Мы также рассмотрим, как использовать Unimus для аудита и устранения потенциальных дыр в безопасности для
как старые, так и новые эксплойты MikroTik.

Препараты

В этой статье мы предполагаем, что у вас уже есть устройства, которые вы хотите проверять / защищать.
Унимус, и они правильно обнаружены.

Если это не так, мы предлагаем ознакомиться с нашей Wiki и / или видеоуроками.

Мы будем создавать различные предустановки Mass Config Push, но при желании вы можете запустить все
эти действия последовательно выполняются в рамках одного сообщения Mass Config Push.
Использование нескольких предустановок упрощает и делает более организованным аудит вашей сети.

Каждый из следующих разделов содержит одну проверку / исправление безопасности.

При выполнении этих команд вы можете увидеть несколько групп вывода Mass Config Push.

Мы рекомендуем проверять каждую группу на соответствие выходным данным.

Например, при запуске предустановки «Проверка наличия уязвимостей маршрутизаторов» вы можете увидеть 2
группы вывода.
Одна группа выходов будет содержать 45 устройств, а другая 2.

В этом примере, когда вы проверяете обе группы вывода, вы должны обнаружить, что 45 устройств
без эксплойтов, а остальные 2 заражены.

Проверка, эксплуатируются ли роутеры

Эта предустановка проверит, использовалось ли какое-либо из ваших устройств с использованием последних
Эксплойты RouterOS.

 : if ([/ ip socks get enabled]) do = {
  : put "Socks включен, если вы не сделали этого вручную, это устройство взломано!"
}
: if ([: len [/ file find name ~ ". * [Mm] ikrotik \\. php. *"]]> = 1) do = {
  : поместите файл "\" mikrotik.php \ ", найденный в файловой системе, высока вероятность взлома этого устройства!"
}
: if ([: len [/ system script find source ~ ". * [Mm] ikrotik \\. php. *"]]> = 1) do = {
  : put "Обнаружен скрипт, содержащий \" mikrotik.php \ ", высока вероятность взлома этого устройства!"
}
: if ([: len [/ system scheduler find on-event ~ ". * [Мм] ikrotik \\. Php. * "]]> = 1) do = {
  : put "Обнаружен запланированный сценарий, содержащий \" mikrotik.php \ ", высока вероятность взлома этого устройства!"
}
: if ([: len [/ user find name ~ ". * service. *"]]> = 1) do = {
  : put "\" сервисный пользователь существует, если вы не создавали этого пользователя вручную, это устройство взломано! "
}  

Если ни одно устройство в вашей сети не было взломано, вы увидите только одну выходную группу,
с
пустой вывод.

Если вы видите другие группы выходов, устройства в этих группах выходов были взломаны.
Содержимое выходной группы сообщит вам, какая из проверок эксплойтов совпала с этими
устройств.

Как исправить, если устройство было взломано

Просто создайте пресет Mass Config Push следующим образом:

  / ip носки
установить включен = нет
установить порт = 1080

/файл
: foreach i in = [найти имя ~ ".  * [Mm] ikrotik \\. php. *"] do = {
  удалить $ i
}

/ системный скрипт
: foreach i in = [найти источник ~ ".* [Мм] ikrotik \\. Php. * "] Do = {
  удалить $ i
}

/ системный планировщик
: foreach i in = [найти событие ~ ". * [Mm] ikrotik \\. php. *"] do = {
  удалить $ i
}

/Пользователь
: foreach i in = [найти имя ~ ". * service. *"] do = {
  удалить $ i
}  

Запустите это на затронутых устройствах.

Обязательно измените пароль (желательно также имя пользователя), который вы используете для доступа к
затронутые устройства ПОСЛЕ того, как вы исправите эксплойты.

Проверка наличия межсетевого экрана на маршрутизаторах

Очень важно иметь правильно защищенную брандмауэром входную цепочку на вашем MikroTiks.
Эта предустановка проверяет, существует ли ваш брандмауэр и имеет ли на входе явное правило отбрасывания.
цепь.

  / IP фильтр межсетевого экрана
: if ([: len [find]] = 0) do = {
  : поставить "На этом устройстве не настроен брандмауэр"
} else = {
  : if ([: len [find chain = input]] = 0) do = {
    : поставить "На этом устройстве не настроен входной брандмауэр"
  } else = {
    : if ([: len [find chain = input action = drop! connection-state]] = 0) do = {
      : поставить "Нет явного правила отбрасывания во входном брандмауэре, настроенном на этом устройстве"
    }
  }
}  

Как исправить

К сожалению, на этот вопрос нет простого ответа.Вам нужно будет создать надлежащий брандмауэр для
твои нужды.

(при наличии достаточного интереса мы могли бы написать об этом отдельную статью)

Проверка сервисных ACL (адресных ограничений)

Если по какой-то причине вы не хотите, чтобы на ваших маршрутизаторах был брандмауэр (это никогда не должно быть
случай — вы можете использовать «/ ip firewall raw», если хотите быстро отслеживать некоторый трафик), вы должны
защитить службы RouterOS только для определенных IP-адресов (или диапазонов IP-адресов).

Если у вас ДЕЙСТВИТЕЛЬНО правильно настроен брандмауэр, он уже будет защищать эти службы, поэтому с
При правильной настройке брандмауэра ограничение доступа к службам не является необходимым.

Однако вы можете использовать это как вторую линию защиты.

  / ip сервис
: foreach i in = [find] do = {
  : if ((! [отключить $ i]) && ([получить адрес $ i] = "")) do = {
    : put ([получить имя $ i]."обслуживание не ограничено каким-либо адресом!")
  }
}  

Как исправить

Вы можете отправить следующие изменения на свои устройства:

  {
: местный адрес "1.2.3.4"

/ ip сервис
: foreach i in = [find] do = {
  установить $ i address = $ address
}
}  

Обязательно правильно измените адресную переменную в 1-й строке.

Обновите RouterOS до последней версии

Все эксплуатируемые в настоящее время дикие эксплойты используют уязвимости, исправленные в последней версии.
Версии RouterOS.
Даже после улучшения безопасности с помощью вышеуказанных методов настоятельно рекомендуется выполнить обновление до
последний выпуск RouterOS.

У нас есть отдельная статья в блоге о том, как обновить RouterOS до последней версии в вашем
вся сеть здесь:

https://unimus.net/blog/network-wide-mikrotik-routeros-upgrade.html

Заключительные слова

Это все для этой статьи в блоге, мы надеемся, что она хоть немного поможет вам с вашим
сетевая безопасность.
Если вы новичок в Unimus, посетите наш веб-сайт.
чтобы узнать о нас больше!

Мы предлагаем неограниченную пробную лицензию, если вы хотите попробовать Unimus (независимо
нашего бесплатного уровня)!

Нажмите здесь, чтобы
учиться
более!

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *