В роутерах MikroTik настройка firewall имеет много тонкостей и нюансов. Из этой статьи мы узнаем, как правильно настроить firewall на MikroTik. Научимся защищать роутер от перебора паролей, сканирования портов, DDoS и других видов атак.
Разберем примеры того, как нельзя настраивать брандмауэр и какие ошибки допускают системные администраторы при конфигурировании безопасности роутера.
А также расскажу, что не умеет firewall MikroTik, поговорим о видах правил, почему важен порядок их расположения и способах организации файрвола.
Содержание: • Схема прохождения трафика MikroTik • MikroTik настройка firewall. Connection Tracker • Connection State. Состояние соединений • Connection List • MikroTik firewall. Общее описание • Firewall на MikroTik. Порядок расположения правил • RAW Filter • MikroTik настройка firewall. Базовая защита роутера • Настройка WAN-интерфейса • Connection Tracker • Настройка безопасности цепочки INPUT • Настройка безопасности цепочки FORWARD • Отключить firewall на MikroTik • MikroTik настройка firewall. Как защитить роутер от DDoS-атаки • Защита MikroTik от DDoS-атак с помощью Connection Limit • Защита MikroTik от DDoS-атаки с помощью Destination Limit • MikroTik настройка firewall. Защита от брутфорса • Настройка безопасности MikroTik. Защита от сканирования портов
Схема прохождения трафика MikroTik
Схема прохождения пакетов нужна для понимания того, как движется трафик внутри маршрутизатора, через какие логические блоки он проходит. Написание сложных конфигураций возможно только при понимании данной схемы.
Схема прохождения пакетов данных MikroTik
Где:
INPUT INTERFACE – входная точка. С нее пакеты начинают маршрут. Интерфейс может быть физическим или виртуальным;
OUTPUT INTERFACE – выходная точка, где пакеты заканчивают маршрут. Интерфейс может быть физическим или виртуальным;
Local Process IN – финальная точка пути пакетов, адресованных маршрутизатору;
Local Process OUT – начальная точка пакетов, что сгенерировал маршрутизатор;
Routing Decision – решение о маршрутизации.
Трафик должен принадлежать определенной цепочке, которые бывают:
Input – трафик, направленный к маршрутизатору;
Output – трафик, исходящий из маршрутизатора;
Forward – трафик, проходящий через маршрутизатор;
Prerouting – трафик уже вошел в порт, но еще не принято решение о маршрутизации;
Postrouting – последний этап перед достижением выходного порта.
Описание содержимого цепочек:
HOTSPOT-IN и HOTSPOT-OUT относятся к возможностям Hotspot.
RAW PREROUTING и RAW OUTPUT – это частный случай файрвола, который служит для снижения нагрузки на ЦП во время DOS-атак.
CONNECTION TRACKING – отслеживание соединений.
MANGLE PREROUTING, MANGLE INPUT, MANGLE FORWARD, MANGLE OUTPUT и MANGLE POSTROUTING служат для маркировки трафика.
DST-NAT и SRC-NAT – служат для настройки NAT.
FILTER INPUT, FILTER FORWARD и FILTER OUTPUT – брандмауэр.
HTB GLOBAL (QUEUE TREE) и SIMPLE QUEUS служат для манипуляций с трафиком: назначения приоритета, ограничений скоростей и др.
BRIDGE DECISION – решение об обработке в мостовом соединении.
TTL – это TTL.
ACCOUNTING – возможности RADIUS-сервера.
ROUTING ADJUSTMENT – донастройка маршрутизации.
Пакеты, направленные маршрутизатору (chain: input):
Пакеты проходящий через роутер (chain: forward):
Трафик исходящий от MikroTik (chain: output):
MikroTik настройка firewall. Connection Tracker
Connection Tracker выполняет следующие функции:
Содержит информацию обо всех активных соединениях;
Отвечает за управление соединениями;
Отвечает за дефрагментацию пакетов;
Влияет на загрузку процессора.
Место Connection Tracker на схеме Traffic Flow:
По умолчанию Connection Tracker работает в режиме auto. Это значит, что он будет работать тогда, когда для firewall будет создано хотя бы одно правило. Помимо этого, могут быть установлены следующие режимы:
Yes – всегда работает.
No – отключен. При этом не будут отслеживаться состояния подключений, NAT и большая часть функционала брандмауэра (не будет работать маркировка соединений, протокол L7 и многое другое).
Connection State. Состояние соединений
С помощью правил мы можем обрабатывать пакеты на основании их состояния. Любое соединение будет находиться в одном из следующих состояний:
New – это новое соединение. Например, кто-то обращается к нашему маршрутизатору запросом ping и первый пакет что приходит, получит данное состояние;
Established – после того как запрос идет дальше, он переходит в состояние установленное;
Related – связанное. Такое состояние появляется, например, когда клиент посылает запрос серверу, который недоступен и клиент получает ответ от роутера.
Invalid – не идентифицированное. Подключение, которое маршрутизатор не может опознать.
Notrack – создается для Raw Filter, минуя Connection Tracker. Поэтому пакеты не фрагментируются.
Connection List
На вкладке “Connections”, можно увидеть информацию о всех подключениях. Выглядит это следующим образом:
Давайте посмотрим какие данные мы можем получить:
Src. Address & Port – исходящий IP-адрес и порт;
Dst. Address & Port – IP-адрес и порт назначения;
Protocol – протокол;
Connection Mark – маркировку подключения;
Timeout – время жизни соединения;
TCP State – состояние TCP соединения (established, close, time-wait, syn-sent, syn-received).
MikroTik firewall. Общее описание
Основное назначение брандмауэра является то, что на основании правил разрешать или запрещать передачу данных из одной сети в другую.
Что не умеет брандмауэр MikroTik:
Блокировать сайты по категориям;
Сканирование на вирусы в режиме реального времени;
Создание отчетов;
Биллинг;
Настройка безопасности маршрутизатора MikroTik может быть реализована двумя способами:
Нормально открытый. Данный способ организации защиты предполагает, что все будет разрешено, что не запрещено;
Нормально закрытый. При этом виде настройки firewall все запрещено, что не разрешено.
Для данной статьи мы рассмотрим пример нормально закрытого брандмауэра. Так как, на мой взгляд, нормально открытый имеет ряд недостатков:
Большие затраты для решения, что запрещать;
Из-за большого количества условий может значительно снизиться производительность роутера.
В случае неправильной настройки брандмауэра и потери доступа к устройству, данная функция поможет восстановить подключение, отменив внесенные изменения.
Место брандмауэра на Packet Flow:
Firewall на MikroTik. Порядок расположения правил
Работу брандмауэра MikroTik условно можно разделить на две части: условие (если…) и действие (то…). Могут содержать несколько условий, при этом, чтобы правило сработало должны быть выполнены все условия.
Правила должны состоять в цепочке (chain):
- одной из трех предопределенных: Input, Output, Forward;
- пользовательской (action=jump).
А также подразделяются на терминирующие и не терминирующие:
- терминирующие: accept, drop, fasttrack, reject, tarpit;
- не терминирующие: add dst to address list, add source to address list, jump, log, return, passthrough.
- Терминирующие правила содержат окончательное действие – принять, отклонить.
Не терминирующие – просто производят какой-то процесс – занести в лог, добавить в address list.
При настройке firewall MikroTik важно соблюдать последовательность правил, так как обрабатываются они по порядку и сразу с нужной цепочки.
Обработка заканчивается после первого совпадения с терминирующим правилом. Если совпадения нет, то пакет отправляется на следующий этап обработки по схеме прохождения трафика.
RAW Filter
Назначение RAW Filter – пропускать или отклонять пакеты до их попадания в Connection Tracker. За счет этого может быть снижена нагрузка для ЦП во время DoS-атак.
В RAW-Filter только две цепочки – Prerouting и Output – и меньше возможностей настройки по сравнению с «классическим» файрволом. Место Raw Filter на Traffic Flow:
MikroTik настройка firewall. Базовая защита роутера
Приступим к настройке firewall на MikroTik. Как говорилось ранее мы будем настраивать нормально закрытый тип брандмауэра.
Во время настройки безопасности маршрутизатора будем придерживаться следующих принципов:
Располагать друг за другом правила одной цепочки;
Минимизировать количество условий, через которые должен пройти пакет;
Не забывать подписывать комментарии.
Настройка WAN-интерфейса
Чтобы избежать ошибок и получить универсальный конфиг, давайте создадим новый interface list и добавим туда WAN интерфейс:
Interfaces => Interface List => Lists;
“+”
Name: ISP;
OK
Создали новый interface List с именем “ISP”, добавим в него WAN-интерфейс:
В нашем примере WAN настроен на порту ether1, если у вас интернет настроен на другом порту или PPPoE-подключение, то подставьте свое значение.
Connection Tracker
Следующим шагом изменим время жизни для установленных подключений, по умолчанию у MikroTik данный параметр равен одному дню. Откроем:
- IP => Firewall => Connections => Tracking.
Установим параметру TCP Established Timeout значение равное 2-м часам:
Настройка безопасности цепочки INPUT
Откроем вкладку Filter Rules и настроим firewall для входящего трафика на роутер MikroTik (chain: input).
Первым создадим условие, разрешающее established, related и untracked-трафик:
Переходим на меню «Action»:
Следующее условие будет запрещающее, чтобы заблокировать не идентифицированный трафик (invalid):
Разрешим ping-запросы:
Открыв порт 8291 мы разрешим к Mikrotik удаленный доступ по Winbox, для оперативной настройки роутера:
Следующим шагом разрешим DNS-запросы со всех интерфейсов, кроме “ISP”:
Обратите внимание, что перед ISP стоит “!”. Это очень важно!
Если вы разрешим запросы извне на 53 порт, то любой внешний хост сможет оправлять запросы нашему DNS-Серверу, тем самым сильно увеличивая нагрузку на роутер и использовать его для проведения атак. Подробнее об этом можно узнать из статьи: MikroTik настройка DNS Server.
Текущая настройка закрывает 53 порт для внешних интерфейсов.
Последним правилом для цепочки Input, мы заблокируем остальной трафик:
Переходим к настройке цепочки forward.
Настройка безопасности цепочки FORWARD
Напомним, что цепочка forward участвует в обработке пакетов, проходящие через маршрутизатор.
Первым условием разрешим established, related и untracked-соединения:
Заблокируем не идентифицированный трафик (invalid):
Запрещаем все извне, кроме DSTNAT:
На этом базовая настройка firewall MikroTik завершена. Окончательный вариант конфигурации и расположения правил firewall должен быть следующий:
Для доступа компьютеров из локальной сети в интернет необходимо настроить NAT.
Отключить firewall на MikroTik
Рассмотрим как в MikroTik отключить firewall. Если при конфигурировании роутера или проверки работы сервиса возникает необходимость отключить файрвол, то сделать это довольно просто. Мы можем выключить все активные правила нажатием кнопки «Disable», предварительно выделив их:
Либо вовсе удалить их, предварительно сохранив конфигурацию. По умолчанию брандмауэр Микротик настроен как правильно открытый, по этому все что не запрещено — разрешено.
MikroTik настройка firewall. Как защитить роутер от DDoS-атаки
DoS или DDoS-атака если говорить простыми словами представляет из себя множественную отправку запросов на атакуемый хост, что выводит систему из строя или значительно затрудняет доступ к ней.
Защитить MikroTik от DDoS атак можно с помощью двух методов:
- Connection Limit;
- Destination Limit.
Рассмотрим эти способы подробнее.
Защита MikroTik от DDoS-атак с помощью Connection Limit
Выполним настройку firewall, чтобы MikroTik мог выделять IP-адреса, одновременно открывшие 30 и более соединений, заносить их в черный список и блокировать доступ.
Обработка большого количества соединений с помощью Connection Limit вызывает большую нагрузку на процессор.
Откроем пункт меню «Advanced»:
Следующим условием мы укажем количество подключений с одного IP-адреса при достижении которого хост попадет в черный список:
Добавляем в черный список:
Создадим запрещающее правило для адресов из черного списка «BAN_black_list»:
Расположим правила firewall следующим образом:
Если у вас внутри локальной сети есть сервис “смотрящий” наружу и подверженный DDoS атаке, то необходимо создать аналогичное правило для цепочки «Forward», как показано на рисунке выше.
На этом настройка защиты MikroTik от DDoS-атаки методом Connection Limit закончена.
Защита MikroTik от DDoS-атаки с помощью Destination Limit
Настроим защиту firewall MikroTik от DDoS атак так, что роутер будет передавать все новые попытки подключения на пользовательскую цепочку, которая проверяет условие:
Есть 50 разрешенных соединений и если в течение секунды с адреса открывается еще 50 и более соединений, то IP заносится в черный список после чего блокируется.
Перенаправляем новые попытки подключения в пользовательскую цепочку:
Далее:
Перейдем к конфигурированию пользовательской цепочки:
Следующим шагом:
Добавляем хосты, которые подошли под условия в черный список:
Создадим запрещающее правило блокирующее данный лист:
Расположим правила firewall так:
Не забывайте, если у вас есть сервис внутри локальной сети, “смотрящий” наружу, то необходимо добавить правило в “Forward”.
На этом настройка firewall MikroTik от DDoS-атак закончена.
MikroTik настройка firewall. Защита от брутфорса
Рассмотрим, как защитить MikroTik от перебора паролей (брутфорс). Покажем это на примере попыток перебора паролей для входа на MikroTik через Winbox.
Аналогичным образом можно защищать сервисы, к которым можно получить доступ брутфорс-атакой.
Повысим безопасность роутера MikroTik, добавив условие в конфигурацию firewall:
Если хост, в течении минуты пробует подключиться с неправильным паролем 4 раза, тогда IP попадает в черный список и блокируется:
Направим все новые подключения адресованные на порт 8291 с внешнего интерфейса в пользовательский набор правил (anti-BruteForce):
Дальше создадим пользовательский набор правил, который будет проверять поведение хостов на предмет перебора паролей и блокировать такие попытки.
Откроем меню “Action”:
Следующим шагом добавляем хост, подходящий под условие в черный список:
Блокируем все соединения из черного списка «BAN-BruteForce» в RAW Filter:
Далее вкладка “Advanced”:
Создадим запрещающее правило:
Расположим ранее созданные правила firewall следующим образом:
С защитой от перебора паролей для RDP-подключений дела обстоят сложнее и требует более детального и гибкого подхода. Например, аналогичное правило при разрыве подключения и попытках восстановления, заблокирует пользователя.
Как защитить RDP соединение от брутфорс-атак мы поговорим в отдельной статье.
На этом настройка защиты Mikrotik от перебора паролей закончена.
Настройка безопасности MikroTik. Защита от сканирования портов.
Давайте немного модифицируем нашу конфигурацию firewall, что позволит защитить MikroTik от сканирования портов. Сканирование портов – это попытки подключиться на разные порты с целью определения их доступности.
Сканирование портов может осуществляться разными способами, каждый из которых имеет свои особенности. Настроим защиту от большинства известных видов сканирования.
Не буду вдаваться в теорию, а просто покажу готовое решение, которое успешно работает многие годы.
Чтобы не запутаться перед каждым новым условием я буду писать заголовок, который, будет служить комментарием к нему.
Port scanners to list:
Защиту от сканирования портов для MikroTik можно настроить с помощью опции Port Scan Detection (PSD):
NMAP FIN Stealth scan:
SYN/FIN scan:
SYN/RST scan:
FIN/PSH/URG scan:
ALL/ALL scan:
NMAP NULL scan:
Осталось создать запрещающее правило, которое заблокирует соединения для IP-адресов из списка “BAN_black_list”:
Меню “Advanced” в пункте Src. Address List из выпадающего меню выберем наш адрес лист (BAN_black_list):
Далее:
Данное условие firewall необходимо добавить в цепочки “Input” и ”Forward”. Правильное расположение всех правил можно посмотреть на рисунке ниже:
Настройка firewall на MikroTik закончена.
На этом Все!!! Всем Удачи!!!