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