Нормально закрытый Firewall
Подход нормально-закрытого firewall в запрете трафика в конце всех правил, то есть все правила разрешающие, а последнее запрещающее. Это позволяет легче читать и разбираться в них.
В написаниях правил используется Interface List, который позволяет делать правила относительно группы портов.
Над DROP правилами разрешаем необходимый трафик
Input
- Разрешаем связанный, установленный и не отслеживаемый трафик
- Блокируем invalid трафик (трафик к асимметрической маршрутизацией может пострадать)
- Разрешаем ICMP трафик (без него будут трудности в диагностике и работе в сети, например прощупывания MTU)
- Разрешаем трафик из интерфейс листа LAN
- Запрещаем весь трафик
/ip firewall filter add action=accept chain=input comment="accept established,related,untracked" connection-state=established,related,untracked add action=drop chain=input comment="drop invalid" connection-state=invalid add action=accept chain=input comment="accept ICMP" protocol=icmp add action=accept chain=input comment="accept LAN" in-interface-list=LAN add action=drop chain=input comment="drop all"
Forward
- Разрешаем связанный, установленный и не отслеживаемый трафик
- Блокируем invalid трафик (трафик к асимметрической маршрутизацией может пострадать)
- Разрешаем трафик из интерфейс листа LAN в такой же лист LAN (чтобы общались внутренние сети интерфейсов, которые входят в лист LAN)
- Разрешаем трафик из интерфейс листа LAN в лист WAN (выход в Интернет)
Так как в Интернете не должны встречаться local адреса, можно добавить !local лист в Dst.Address или сделать Blackhole - Разрешаем DSTNAT трафик из WAN (если есть правило проброса порта в NAT, то в Firewall достаточно одного правила для всего)
- Блокировка всего трафика
/ip firewall address-list add address=10.0.0.0/8 list=local add address=172.16.0.0/12 list=local add address=192.168.0.0/16 list=local
/ip firewall filter add action=accept chain=forward comment="accept established,related, untracked" connection-state=established,related,untracked add action=drop chain=forward comment="drop invalid" connection-state=invalid add action=accept chain=forward comment="accept LAN to LAN" in-interface-list=LAN out-interface-list=LAN add action=accept chain=forward comment="accept LAN to WAN" in-interface-list=LAN out-interface-list=WAN add action=accept chain=forward comment="accept from WAN not DSTNATed" connection-nat-state=dstnat connection-state=new in-interface-list=WAN add action=drop chain=forward comment="drop all"
Output
Цепочка Output для параноиков, если нужно контролировать куда MikroTik подключается, то разрешим только нужные подключения.
- Разрешаем связанный, установленный и не отслеживаемый трафик
- Разрешаем ICMP для диагностики
- Разрешаем udp:53 (DNS)
- Запрещаем всё
/ip firewall filter add action=accept chain=output comment="accept established,related,untracked" connection-state=established,related,untracked add action=accept chain=output comment="accept ICMP" protocol=icmp add action=accept chain=output comment="accept ICMP" dst-port=53 protocol=udp add action=drop chain=output comment="drop all"
Записки IT специалиста
Межсетевой экран, он же брандмауэр или файрвол — важнейшая служба вашего роутера, отвечающая как за его безопасность, так и за безопасность всей сети. Мы до сих пор не рассматривали базовую настройку брандмауэра в отрыве от общей настройки роутера, но как показала практика, многие администраторы откровенно плавают в этом вопросе и имеют некорректно или не оптимально настроенные системы. Как минимум это выливается в повышенную нагрузку на оборудование, а в самом плохом варианте ставит под угрозу безопасность всей сети. Поэтому давайте отдельно разберемся в этом вопросе.
Онлайн-курс по MikroTik
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Общие принципы построения брандмауэра
Существует два основных типа настройки брандмауэра: нормально открытый брандмауэр и нормально закрытый. В первом случае разрешено все, что явно не запрещено, во втором случае — запрещено все, что явно не разрешено.
Возможно, для кого-то будет новостью, но оба этих подхода обычно гармонично сочетаются в рамках одного устройства. Нормально открытый брандмауэр применяется для внутренних сетей и исходящих соединений, а нормально закрытый — для все остальных соединений из внешних сетей. Это позволяет достичь простоты и удобства для собственных пользователей и в тоже время надежно защититься от внешнего мира.
Любое новое соединение первоначально находится в статусе нового (new) и мы должны принять решение: одобрить его или запретить. Для этой задачи и предназначены создаваемые нами правила, в нормально закрытом брандмауэре мы описываем, какие соединения и по каким критериям следует разрешить. Если же пакет не соответствует ни одному правилу, то мы запрещаем такое соединение.
После того, как соединение было установлено — оно переходит в состояние установлено (established), при этом специальный механизм ядра Connection Tracker отслеживает все проходящие пакеты и сопоставляет их соединениям, поэтому мы можем спокойно оперировать именно состоянием соединения, не задумываясь над техническими тонкостями работы.
Нужно ли каждый раз отслеживать пакеты уже установленного соединения вновь и вновь гоняя их по цепочке правил? Конечно же нет, если мы одобрили соединение, то в последующем можем и должны одобрять все его пакеты автоматически, это снижает нагрузку на устройство и позволяет использовать различные приемы, вроде Port Knocking или противодействия перебору паролей.
Очень часто одни соединения, будучи установленными, создают другие, которые называются связанными (related), как пример можно привести хорошо известные FTP или PPTP, которые имеют управляющее соединение и соединение(я) для передачи данных. Они могут использовать динамические порты и поэтому их также следует автоматически разрешать, если мы разрешили основное соединение.
Поэтому в любом корректно настроенном брандмауэре самым первым правилом должно находиться разрешающее установленные и связанные соединения, а только после него мы уже должны анализировать новые подключения.
В роутерах Mikrotik существует еще один тип соединения — неотслеживаемое (untracked), такие соединения не отслеживаются Connection Tracker, что позволяет существенно снизить нагрузку на устройство. Для чего это может быть нужно? Допустим, в фильтруемом вами трафике есть значительная доля принадлежащая доверенным узлам, для которых можно четко прописать критерии, в этом случае можно пометить их неотслеживаемыми и добавить их одобрение в самое первое правило, к уже установленным и связанным.
Таким образом, одним единственным правилом мы будем сразу пропускать подавляющую долю трафика, а к затратным операциям анализа будут доходить только новые пакеты.
Но тут самое время вспомнить еще про одно состояние соединения — недействительное (invalid), это пакеты не являющиеся новыми, но не принадлежащие никакому установленному соединению, такие пакеты могут использоваться для атак и поэтому их следует блокировать в первую очередь, сразу после того, как мы одобрили установленные и связанные соединения и до того, как приступили к анализу новых пакетов.
Ну и завершающим правилом в цепочке должно стоять запрещающее, отсекающее все соединения, которые не попали под разрешающие правила и не являются уже установленными или связанными с ними.
Конфигурация брандмауэра по умолчанию
Прежде всего рассмотрим конфигурацию, предлагаемую производителем по умолчанию. Многие считают ее наиболее оптимальной и безопасной, но это не так, конфигурация по умолчанию направлена на универсальность и совместимость с различными пользовательскими сценариями, не позволяя ему наделать грубых ошибок, которые могут фатально сказаться на безопасности.
Все правила сгруппированы в две цепочки: input — для входящего трафика самого роутера и forward — для транзитного, между интерфейсами роутера. Сразу напомним, что у роутеров Mikrtoik нет жестко заданных «внешних» и «внутренних» интерфейсов, и вообще все эти понятия находятся исключительно у нас в голове, согласно логическому плану сети.
В конфигурации по умолчанию также присутствует два списка интерфейсов: WAN — куда включен порт, настроенный как внешний, обычно ether1 и LAN, в состав которого входит мост, объединяющий оставшиеся порты. и эти списки активно применяются в правилах.
Самих правил немного, всего 11 штук: 5 для input и 6 для forward.
Рассмотрим их подробнее. Правило с нулевым номером в расчет не берем, это пустышка для вывода счетчиков Fasttrack. Начнем с первых двух, это классическая связка, о которой мы говорили выше: разрешаем established, related и untracked для всех входящих соединений, без привязки к интерфейсам. Затем запрещаем invalid, вполне очевидно, что далее пройдут только пакеты соединений в состоянии new.
/ip firewall filter
add chain=input action=accept connection-state=established,related,untracked comment="defconf: accept established,related,untracked"
add chain=input action=drop connection-state=invalid comment="defconf: drop invalid"
Третье правило разрешает входящий ICMP, у многих администраторов с ним напряженные отношения, часто его блокируют полностью, чтобы устройство не пинговалось, но так делать не нужно, протокол ICMP важен для нормальной работы сети. Либо фильтровать нужные его типы выборочно, что выходит за рамки данной статьи.
add chain=input action=accept protocol=icmp comment="defconf: accept ICMP"
Следующее правило весьма специфично, оно разрешает входящие на петлевой интерфейс, точнее адрес 127.0.0.1, поскольку интерфейс петли явно в RouterOS не доступен, а также снабжено комментарием, что это для CAPsMAN. Его смысл станет понятен чуть ниже.
add chain=input action=accept dst-address=127.0.0.1 comment="defconf: accept to local loopback (for CAPsMAN)"
И завершает цепочку input блокирующее правило:
add chain=input action=drop in-interface-list=!LAN comment="defconf: drop all not coming from LAN"
Которое блокирует входящие подключения для всех, кроме интерфейса LAN, а так как локальная петля туда не входит, то выше потребовалось отдельное правило.
Как видим конфигурация слегка избыточна, но при этом универсальна. А блокировка входящих по такой широкой маске — все, кроме локальной сети — позволяет сохранить должный уровень безопасности, даже если пользователь подключит другие внешние сети, скажем VPN.
А где же здесь размещать свои собственные правила? А вот здесь:
/ip firewall filter
add chain=input action=accept connection-state=established,related,untracked comment="defconf: accept established,related,untracked"
add chain=input action=drop connection-state=invalid comment="defconf: drop invalid"
add chain=input action=accept protocol=icmp comment="defconf: accept ICMP"
add chain=input action=accept dst-address=127.0.0.1 comment="defconf: accept to local loopback (for CAPsMAN)"
add chain=input action=drop in-interface-list=!LAN comment="defconf: drop all not coming from LAN"
Теперь о цепочке forward, самыми первыми здесь теперь добавлены два правила, разрешающие транзит соединений, подпадающих под действие политик IPsec. Это связано с тем, что IPsec сегодня применяется все чаще, но правильно настроить правила для него умеют не все пользователи. Поэтому появились эти правила, обеспечивающие гарантированное прохождение любых соединений, использующих IPsec через роутер в любом направлении.
add chain=forward action=accept ipsec-policy=in,ipsec comment="defconf: accept in ipsec policy"
add chain=forward action=accept ipsec-policy=out,ipsec comment="defconf: accept out ipsec policy"
Затем идет правило, включающее Fasttrack для всех установленных и связанных соединений. Подробнее про Fasttrack мы писали в нашей статье:
Если коротко, то Fasttrack значительно снижает нагрузку на оборудование, но фактически пускает трафик в обход брандмауэра. Но так как фильтровать established и related нам не надо, то почему бы и не пустить их коротким путем?
add chain=forward action=fasttrack-connection connection-state=established,related comment="defconf: fasttrack"
Далее та же самая классика: разрешаем established, related и untracked, запрещаем invalid. Для всех направлений без разбора.
add chain=forward action=accept connection-state=established,related,untracked comment="defconf: accept established,related, untracked"
add chain=forward action=drop connection-state=invalid comment="defconf: drop invalid"
Ну и, наконец, запрещающее правило, оно тоже интересно:
add chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface-list=WAN comment="defconf: drop all from WAN not DSTNATed"
Оно запрещает транзит только новым соединениям, только с внешнего списка интерфейсов, кроме соединений прошедших через DNAT. А так как DNAT обычно используется для проброса портов, то таким образом мы избегаем необходимости создавать для них разрешающие правила.
Да, опять очень и очень общие критерии, но в состоянии абсолютной неопределенности возможных конфигураций это, пожалуй, лучшее решение. Особенно если роутер будет использоваться вместе с UPnP, где сетевые приложения могут самостоятельно пробрасывать произвольные порты.
Поэтому мы еще раз повторимся, что конфигурация по умолчанию не является самой оптимальной или самой безопасной, но она наиболее универсальна, одновременно закрывая самые разные сценарии использования роутера.
Куда добавлять собственные правила? Да вот сюда:
add chain=forward action=accept connection-state=established,related,untracked comment="defconf: accept established,related, untracked"
add chain=forward action=drop connection-state=invalid comment="defconf: drop invalid"
add chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface-list=WAN comment="defconf: drop all from WAN not DSTNATed"
Стоит ли оставлять и использовать конфигурацию по умолчанию? Да, если вы еще не уверены в собственных силах, плохо понимаете работу межсетевого экрана или вам нужно просто быстро настроить роутер для типовых задач.
Собственная конфигурация брандмауэра
В среде опытных пользователей Mikrotik принято сбрасывать устройство и настраивать конфигурацию с нуля. Для этих целей мы используем следующую конфигурацию брандмауэра, она во многом повторяет стандартную, но имеет ряд отличий. В плане именования интерфейсов мы также будем использовать листы WAN и LAN, с таким же набором интерфейсов.
При построении данного набора правил мы исходили из соображений, что администратор представляет как устроена его сеть, каким службам нужен доступ извне, какие сети являются внешними, а какие внутренними. При этом всеми силами старались избегать широких критериев в правилах, так как «проходной двор», даже вроде-бы в довольно безопасных вещах, таких как IPsec или DNAT может иногда сыграть злую шутку. Все мы помним, что если на стене висит ружье, то оно обязательно выстрелит.
Правил в нашем варианте меньше, всего 9, из них 4 для input и 5 для forward.
Набор правил для input приведем сразу и целиком, здесь тот же самый классический набор, но за одним исключением: мы знаем, какие сети являются внешними и фильтруем только подключения из них. Это упрощает конфигурацию и снижает нагрузку. При этом в каждом правиле мы четко указываем список входящих интерфейсов.
/ip firewall filter
add action=accept chain=input connection-state=established,related in-interface-list=WAN comment="accept established,related"
add action=drop chain=input connection-state=invalid in-interface-list=WAN comment="drop invalid"
add action=accept chain=input in-interface-list=WAN protocol=icmp comment="accept ICMP"
add action=drop chain=input in-interface-list=WAN comment="drop all from WAN"
Мы точно также разрешаем установленные и связанные, запрещаем invalid, разрешаем ICMP. Можно заметить, что у нас нет untracked, это сознательное решение, если мы будем использовать неотслеживаемые соединения — то всегда можем добавить этот параметр, но сделаем это осознанно. Собственные правила мы можем добавлять выше запрещающего весь остальной трафик с внешних интерфейсов.
Также следует отметить несколько иную политику блокировки остального трафика. Стандартная конфигурация подходит достаточно радикально, запрещая все, кроме LAN. Мы же используем более мягкий подход, и блокируем только внешние сети — WAN. Это позволяет сделать конфигурацию проще и не прописывать дополнительные правила для того же CAPsMAN, при этом мы помним, что администратор знает какие сети являются внутренними, а какие нет и контролирует актуальность списков.
Перейдем к forward, в нашей базовой конфигурации правил для IPsec нет, опять-таки осознанно, по причине их ненужной избыточности. Как появится IPsec — так и создадим правила, а просто так нечего им небо коптить.
А вот к Fasttrack у нас подход другой. В стандартной конфигурации он включен для всех established и related, вне зависимости от направления. Это здорово разгружает роутер, но со временем у вас неизбежно появятся туннели, VPN, прочие сети и Fasttrack будет там чаще мешать, чем помогать, порой приводя к неожиданным результатам. Поэтому четко указываем, что применяем коротки путь только для соединений из локальной сети наружу и извне в локальную сеть. Часто можно даже отойти от использования списков и просто указать интерфейсы.
add action=fasttrack-connection chain=forward connection-state=established,related in-interface-list=WAN out-interface-list=LAN comment="fasttrack"
add action=fasttrack-connection chain=forward connection-state=established,related in-interface-list=LAN out-interface-list=WAN
Кстати, внимательный читатель может заметить, что комментарий стоит только у одного правила, первого. Это сделано специально. Для чего? Посмотрите на скриншот выше, там комментарий отделяет сразу два правила.
Ну и дальше все тоже самое. Разрешаем established и related, запрещаем invalid и обязательно указываем, что это именно для внешних сетей, ниже запрещаем все остальное, также для внешних интерфейсов.
add action=accept chain=forward connection-state=established,related in-interface-list=WAN comment="accept established,related"
add action=drop chain=forward connection-state=invalid in-interface-list=WAN comment="drop invalid"
add action=drop chain=forward in-interface-list=WAN comment="drop all from WAN"
Что касается DNAT, то мы не сторонники давать доступ в сеть самыми широкими мазками. Если появляется проброс — создаем отдельное правило под проброс. Может это и увеличивает количество работы, но дает более читаемую и безопасную конфигурацию брандмауэра, когда вы явно видите кому и что разрешено без изучения дополнительных разделов.
Но если вы используете роутер дома и самый широкий набор приложений пробрасывает порты при помощи UPnP, то последнее правило действительно будет удобнее заменить на:
add action=drop chain=forward connection-nat-state=!dstnat in-interface-list=WAN comment="drop all from WAN"
Данный набор правил является базовым костяком нормально настроенного брандмауэра и должен присутствовать по умолчанию на любом устройстве. Уже потом он будет обрастать дополнительными правилами, но общий принцип построения защиты должен неукоснительно соблюдаться. Это позволит вам достичь высокого уровня безопасности при небольшой нагрузке на устройство.
Онлайн-курс по MikroTik
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
Mikrotik
- Оборудование MikroTik класса SOHO. Общий обзор и сравнение возможностей
- Производительность младших моделей Mikrotik hEX и hAP. Экспресс-тестирование
- Базовая настройка роутера MikroTik
- Расширенная настройка DNS и DHCP в роутерах Mikrotik
- Автоматическое резервное копирование настроек Mikrotik на FTP
- Проброс портов и Hairpin NAT в роутерах Mikrotik
- Настройка IPTV в роутерах Mikrotik на примере Ростелеком
- Настройка VPN-подключения в роутерах Mikrotik
- Настройка черного и белого списков в роутерах Mikrotik
- Настройка выборочного доступа к сайтам через VPN на роутерах Mikrotik
- Настройка OpenVPN-сервера на роутерах Mikrotik
- Безопасный режим в Mikrotik или как всегда оставаться на связи
- Настройка Proxy ARP для VPN-подключений на роутерах Mikrotik
- Настраиваем Port Knocking в Mikrotik
- Резервирование каналов в Mikrotik при помощи рекурсивной маршрутизации
- Настраиваем родительский контроль на роутерах Mikrotik
- Настраиваем IKEv2 VPN-сервер на роутерах Mikrotik с аутентификацией по сертификатам
- Расширенная настройка Wi-Fi на роутерах Mikrotik. Режим точки доступа
- Mikrotik CHR — виртуальный облачный роутер
- Настройка контроллера CAPsMAN (бесшовный Wi-Fi роуминг) на Mikrotik
- Настройка VPN-подключения на роутерах Mikrotik если подсети клиента и офиса совпадают
- Настраиваем использование DNS over HTTPS (DoH) на роутерах Mikrotik
- Настройка PPTP или L2TP VPN-сервера на роутерах Mikrotik
- Установка Mikrotik CHR на виртуальную машину Proxmox
- Защита RDP от перебора паролей при помощи оборудования Mikrotik
- Настройка SSTP VPN-сервера на роутерах Mikrotik
- Настройка выборочного доступа к сайтам через VPN с автоматическим получением маршрутов по BGP на роутерах Mikrotik
- Особенности эксплуатации CA на роутерах Mikrotik: резервное копирование, экспорт и импорт сертификатов
- Настройка туннелей GRE и IPIP на роутерах Mikrotik
- Правильное использование Fast Path и FastTrack в Mikrotik
- DHCP Snooping — настройка защиты от неавторизованных DHCP-серверов на оборудовании Mikrotik
- Работа оборудования Mikrotik в режиме беспроводной станции (клиента)
- Используем режим ARP reply-only для повышения безопасности сети на оборудовании Mikrotik
The Dude
- The Dude. Установка и быстрое начало работы
- Централизованное управление обновлением RouterOS при помощи The Dude
- Централизованный сбор логов Mikrotik на сервер The Dude
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Untracked mikrotik что это
Fri Nov 30, 2018 1:02 pm
Maby a noob question.
What does untracked mean in the Mikrotik firewall.
This in the filter rule connection state established, related, untracked.
What does untracked data traffic do? ore what i mean this.
Member Candidate
Posts: 212 Joined: Thu Sep 01, 2016 4:04 pm
Re: Firewall what is untracked
Fri Nov 30, 2018 1:27 pm
Peeked my interest, what I found on the internet;
UNTRACKED : Packets can be marked as UNTRACKED if they’ve been targeted in a raw table chain to bypass tracking.
More stuf https://www.booleanworld.com/depth-guid . -firewall/.
Forum Guru
Topic Author
Posts: 2509 Joined: Sun May 15, 2011 12:24 am Location: Belgium Contact:
Re: Firewall what is untracked
Fri Nov 30, 2018 3:31 pm
Thank you for your quick response,
I do not understand which packages they are and what they do in the network.
And why are they allowed in the router?
Forum Guru
Posts: 2912 Joined: Tue Feb 18, 2014 12:56 am Location: Netherlands / Nīderlande
Re: Firewall what is untracked
Fri Nov 30, 2018 3:43 pm
Untracked are connection that are not steered by Connection Tracking wich looks like a «mother chicken», if those connection are known to ther and were the have to go.
When a connection is stray and not know it will not pass her beak (control) and be removed.
Untracked traffic is traffic that is marked that is from a other chicken and should be not touched by connection tracking. This marking can only be done inside router.
Операционная система RouterOS
г. Санкт-Петербург, Крестовский остров, Северная дорога, дом 12.
Офис компании «SPW»
г. Санкт-Петербург, ст. м. «Василеостровская»,
ул. Уральская, д. 17, корпус 3, этаж 2
RouterOS — сетевая операционная система от латвийской компании MikroTik. Описание возможностей Микротик RouterOS и Firewall в RouterOS.
Комментариев: 2 Просмотров: 27191
11 октября 2017
Операционная система RouterOS
RouterOS — это сетевая операционная система от латвийской компании MikroTik. Mikro tīkls, что в переводе с латвийского означает «маленькая сеть», зарождалась как небольшая домовая сеть в 1995 г. Для решения своих повседневных задач требовался удобный инструмент.
Началась разработка своего собственного софта на базе Linux, который заложил первоначальный фундамент в RouterOS. Сейчас RouterOS завоевывает все большую и большую популярность за счет своей гибкости, надежности и функциональности. В 2013 году была выпущена уже 6 версия RouterOS, основанная на ядре Linux 3.3.5. Начиная с версии RouterOS 6.40 в стандратный firewall были внесены серьезные изменения. Постараемся раскрыть новые возможности использования firewall в этой статье.
Firewall в RouterOS MikroTik
Firewall в MikroTik Routeros имеет очень большие возможности по фильтрации, отбору и работе с трафиком. Отбор пакетов возможен по более чем 50-ти параметрам, причем к каждому пакету можно применить одно из нескольких действий таких как: accept, drop, reject, tarpit и другие.
Рассмотрим стандартные настройки firewall в Router OS с версии 6.40. На изображении ниже представлен стандартный firewall, рекомендованный MikroTik.
Чтобы правильно понимать и читать Firewall в RouterOS, нужно хорошо разбираться в нескольких базовых понятиях. Одним из таких является chain (цепочка) прохождения пакетов. В Firewall существует три цепочки движения трафика:
- Input — пакеты, отравленные на маршрутизатор. Для примера возьмем ситуацию, когда мы работаем по SSH или Telnet с Router OS. Весь трафик в этом случае будет идти через цепочку Input.
- Forward — пакеты, идущие «через» маршрутизатор. В это правило попадут все пакеты, отправляемые локальными компьютерами, например, в Интернет.
- Output — пакеты, отравляемые с роутера. При использовании утилиты Ping с роутера все пакеты будут генерироваться самим маршрутизатором и проходить через цепочку Output.
Особенности работы Firewall в RouterOS
Все пакеты в Firewall проходят сверху вниз через каждое правило. Пакет будет обрабатываться в Firewall до тех пор, пока он не попадет под действие какого-либо правила. Поэтому расположение правил имеет большое значение не только для корректной работы Firewall, но и для рационального использования процессорного времени.
Пакет, отравленный в цепочку Input, никогда не попадет в цепочку Forward, и наоборот. Поэтому порядок расположения правил в Firewall между цепочками Input и forward не важен, т.е. без разницы какие правила идут первыми input или forward.
Рекомендованный Firewall в RouterOS является нормально закрытым в chain (цепочке) input и нормально открытым в chain (цепочке) forward, т.е. на input запрещено все, кроме того, что разрешено. В цепочке forward разрешено все, кроме того, что запрещено.
Рассмотрим правила Firewall по умолчанию применяемые в MikroTik более детально.
Цепочка Input
- add action= accept chain=input connection-state=established,related,untracked − данное правило разрешает прохождение пакетов, отправленных на маршрутизатор (input) со всех интерфейсов (LAN,WAN) c состоянием connection-state — established, related, untracked. Оно означает, что пакет будет обработан и пропущен этим правилом дальше в роутер только в том случае, если пакет относится к уже установленным (established), зависимым (related) или не отслеживаемым (untracked) соединениям. Более подробно об connection-state можно найти тут.
- add action=drop chain=input connection-state=invalid − отбросить все пакеты с состоянием соединения invalid, т.е. весь неизвестный трафик для RouterOS.
- add action=accept chain=input protocol=icmp − разрешить ICMP протокол в цепочке input. Рекомендуется не запрещать работу протокола ICMP, потому что для более корректной работы стека TCP/IP, требуется поддержка протокола ICMP.
- add action=drop chain=input in-interface-list=!LAN − запретить все пакеты в цепочки input со всех интерфейсов, кроме сетей входящих в интерфейс лист LAN. Это правило отбрасывает все приходящие пакеты на роутер из внешних сетей, в том числи и «BOGON», кроме домашней сети LAN. Поэтому если мы хотим открыть какие-то сервисы, мы должны размещать разрешающие правила выше этого запрещающего правила.
Цепочка Forward
- add action=accept chain=forward ipsec-policy= in,ipsec и add action=accept chain=forward ipsec-policy=out,ipsec — эти два правила отвечают за корректное прохождение пакетов ipsec через маршрутизатор при включенной функции fasttrack.
- add action=fasttrack-connection chain=forward connection-state=established,related − включение функции fasttrack. Fasttrack — технология позволяющая существенно экономить ресурсы роутера при обработке пакетов. Достигается за счет упрощённой обработки пакетов, миную ядро Linux. При включении данной технологии теряется часть функционала Router OS, такие, как очереди, IPsec и др.
- add action=accept chain=forward connection-state=established,related,untracked — данное правило разрешает прохождение пакетов через RouterOS c состоянием connection-state — established,related,untracked.
- add action=drop chain=forward connection-state=invalid — запрещает все проходящие через RoureOS пакеты c состояние invalid.
- add action=drop chain=forward connection-nat-state=!dstnat connection-state=new in-interface-list=WAN — это правило повышает безопасность NAT, рекомендуется его использовать.
При внедрении данного Firewall необходимо создать в интерфейс листах ваши листы — WAN и LAN. Нужно внести ваши действующие интерфейсы в них. Будьте внимательны, от правильной настройки Firewall зависит безопасность вашей сети.
Вам помогла эта статья?
Приглашаем пройти обучение в нашем тренинг-центре и научиться настраивать оборудование MikroTik на профессиональном уровне! Узнайте расписание ближайших курсов и бронируйте место!
NAT
Одной из центральных технологий в современных сетях является NAT (network address translation).
RouterOS имеет очень гибкие возможности по управлению функциями NAT. Есть всесторонняя поддержка различных видов NAT:
- СтатическийNAT — NAT один к одному, когда один IP-адрес полностью отображается на другой IP-адрес.
- ДинамическийNAT — один ко многим. Один IP-адрес или группа могут отображается к нескольким, причем правила могут меняться динамически.
- Перегруженный NAT (PAT, NAT overload) — самый распространённый вид динамического NAT, когда происходит отображение нескольких внутренних хостов на один внешний IP-адрес, также известен как маскарадинг.
- HarpinNAT или loopback NAT — особая техника использования NAT. Предназначена для того, чтобы локальные хосты могли обращаться по внешнему IP-адресу к сервису, расположенному в той же локальной сети.
- MAP (dst-nat) — стандартная функция NAT, поддерживаемая большинством маршрутизаторов. С ее помощью осуществляется «проброс портов» ко внутренним сервисам локальной сети.
- TraversNAT — технология, позволяющая приложениям автоматически настраивать NAT под свои задачи.
Более подробно о практической стороне использования NAT вы можете посмотреть тут.
Описанные возможности MikroTik RouterOS — это лишь небольшая часть богатейшего функционала RouterOS в MikroTik. В следующих статьях постараемся рассказать о других интересных функционалых особенностях RouterOS и ее настройке.