Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Примеры использования RAW-фильтрации в брандмауэре?

    Примеры использования RAW-фильтрации в брандмауэре?

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Примеры использования RAW-фильтрации в брандмауэре?, RouterOS
     
    rado3105
    Guest
    #1
    0
    13.07.2017 21:11:00
    Какой именно трафик ты фильтруешь с помощью RAW? Я не могу найти ничего интересного, кроме блокировки входов пользователей по SSH с использованием RAW. Можешь поделиться идеями? Ты сам это используешь?
     
     
     
    rado3105
    Guest
    #2
    0
    23.12.2018 15:23:00
    Я хочу использовать некоторый IP (он добавлен в фаерволе в цепочку forward). Могу ли я использовать raw с prerouting, и будет ли это работать так же?
     
     
     
    Koman
    Guest
    #3
    0
    25.01.2019 15:37:00
    Привет. У меня проблема с RAW-правилом. В MikroTik я пробросил порт 5060 по протоколу UDP и добавил правило в RAW, чтобы сбрасывать все соединения на этом порту с черного списка. Но это правило не работает, и пользователи пытаются подключаться через этот порт к моей PhoneStation. Что я делаю не так?
     
     
     
    anav
    Guest
    #4
    0
    25.01.2019 19:18:00
    Мой вопрос проще. Если мои ПРАВИЛА ДЛЯ ЦЕПОЧКИ INPUT в основном такие: Allow established, related Drop invalid Allow admin access (с LAN стороны) Allow access to порт 53 с LAN Drop все остальное, то мне не нужны никакие дополнительные drop-правила для цепочки input.

    Однако, если я хочу снять нагрузку с процессора, отбрасывая весь мусорный входящий трафик, не логично ли делать это в raw prerouting?  
    /ip filter raw add chain=prerouting in-interface-list=wan action=drop ???

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

    Отбросит ли вышеописанное какое-то легитимное ответное соединение? Будет ли это мешать законному входящему незапрошенному трафику, идущему, например, к серверам за маршрутизатором?

    Если да, то я понимаю, зачем сначала добавить список исходящих адресов в prerouting, а потом в правилах фаервола делать drop для цепочки input — это остановит попытки доступа к маршрутизатору, но пропустит легитимные попытки доступа к серверу.
     
     
     
    mkx
    Guest
    #5
    0
    25.01.2019 19:31:00
    @Koman: ты уверен, что действительно нужно ставить in-interface-list? Достаточно просто использовать src-address-list=blacklist.
     
     
     
    mkx
    Guest
    #6
    0
    25.01.2019 19:39:00
    Очень близко к началу статьи по таблице raw в wiki написано: таблица RAW не поддерживает матчеры, зависящие от отслеживания соединений (как connection-state, layer7 и т. п.). Так что если использовать совсем простое правило (как в приведённой цитате), вообще ничего не пройдет, даже входящие пакеты ответа (которые обычно считаются установленными).

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

    Идея в следующем: если кто-то пытается пройти через «неправильную дверь», его нужно заблокировать от всех остальных дверей (даже тех, которые обычно открыты).

    В вашем конкретном случае ничего не изменится, так как вы не предоставляете услуги случайным хостам из интернета. Но если бы вы запускали HTTPS, DNS, SMTP и другие сервисы для вашего домена, вам пришлось бы открыть несколько (стандартных!) портов для всего интернета, и любой случайный хост смог бы подключиться. В таком случае, если кто-то сначала попробует порт Winbox и попадёт в блэклист, этот хост не сможет подключиться ни к HTTPS, ни к DNS, ни к чему другому в течение времени действия блокировки.
     
     
     
    anav
    Guest
    #7
    0
    25.01.2019 21:10:00
    Спасибо, MKX. Итак, вот что я предлагаю…  
    Тактика 1: Отбрасывать всё в raw prerouting для портов, которые, как известно, не используются ни для исходящего, ни для входящего трафика от роутера или пользователей за роутером, или для сервисов за роутером (in-interface WAN). Это снизит нагрузку на процессор по сравнению с фильтрацией на уровне фильтра. (например, 21, 23, 8291 и т.д.)  

    Тактика 2: Оставить всё в raw, но при этом просто заносить исходный адрес для стандартных портов, которые хакеры обычно пытаются сканировать (in-interface=wan) (21, 22, 23, 53 и так далее). Создать список. Всё ещё в raw, затем блокировать все с исходных адресов из этого списка на 5 дней или около того.  

    Какой риск или минус такого подхода… Мне нравится твоя логика, которая подходит для Тактики 2 — злодеи будут проверять не только стандартные порты, но может быть и гораздо больше, и разные группы. А этот метод блокирует все их попытки.  

    Вот стартовый список портов, которые я не использую, и которые могут эффективно помочь выявлять плохих парней и банить их на 5 дней:  
    0, 11, 20, 21, 22, 23, 79, 113, 119, 135, 139, 194, 389, 445, 500, 1002, 1025, 1026, 1027, 1028, 1029, 1030, 1720, 5000  

    Я не ожидаю нежелательного входящего трафика на портах 25, 53, 80, 110, 143 или 443, но, наверное, для них стоит делать правила в firewall filter, чтобы не блокировать легитимный ответный трафик во входящий WAN.  

    Согласен? Тогда будет выглядеть примерно так (прямо перед последним правилом drop all input):  

    /ip firewall filter  
    add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=input comment=CaptureInputProbes_tcp disabled=yes dst-port=25,53,80,443 in-interface-list=WAN protocol=tcp  
    add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=input comment=CaptureInputProbes_udp disabled=yes dst-port=25,53,80,443 in-interface-list=WAN protocol=udp  

    /ip firewall raw (PREROUTING)  
    add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=prerouting comment=CaptureUnusedPorts_TCP disabled=yes dst-port=0,11,20,21,22,23,79,113,119,135,139,194,389 in-interface-list=WAN protocol=tcp  
    add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=prerouting comment=CaptureUnusedPorts_TCP2 disabled=yes dst-port=445,500,1002,1025,1026,1027,1028,1029,1030,1720,5000 in-interface-list=WAN protocol=tcp  
    add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=prerouting comment=CaptureUnusedPortsUDP disabled=yes dst-port=0,11,20,21,22,23,79,113,119,135,139,194,389 in-interface-list=WAN protocol=udp  
    add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=prerouting comment=CaptureUnusedPorts_UDP2 disabled=yes dst-port=445,500,1002,1025,1026,1027,1028,1029,1030,1720,5000 in-interface-list=WAN protocol=udp  
    add action=drop chain=prerouting disabled=yes in-interface-list=WAN src-address-list=DropPortProbes  

    Как видишь, у меня нет правил фильтрации для захвата FORWARD-проб на 25, 53, 80, 443 и т.д. Может, добавить и их в эту схему?
     
     
     
    mkx
    Guest
    #8
    0
    26.01.2019 13:11:00
    Если кто-то настаивает на внесении нарушителей в черный список, мне кажется, будет проще сделать так: в секции filter пропускать всё, что нужно, как во входящих (input), так и в проходящих (forward) цепочках (идеально — ничего не блокировать). Но при этом быть избирательным (см. последний абзац). В секции filter добавить предпоследнее правило, которое будет добавлять src-address в черный список для всех оставшихся пакетов... возможно, это правило должно быть и во входящей, и в проходящей цепочке... а последнее правило — сбрасывать все (тоже, возможно, в input и forward). Из-за проблем с потреблением памяти, скорее всего, достаточно установить таймаут для участника списка на несколько часов и добавить сброс из черного списка в raw.

    Почему во втором пункте и input, и forward? Если мы делаем DST-NAT для какого-то порта и ограничиваем доступность в секции nat, при этом в filter принимаем все соединения, прошедшие nat, то злоумышленник, который стучится на DST-NATный порт, не попадет в черный список, так как его уже отфильтруют в секции nat (он фактически покинет filter через accept из-за dst-nat). Если, с другой стороны, мы используем правила filter для избирательного разрешения доступа к этим портам, то нарушители, которым в конкретном правиле forward отказано, попадут на правило filter, которое добавляет в черный список...
     
     
     
    anav
    Guest
    #9
    0
    26.01.2019 13:48:00
    Значит вы говорите, что нужно ставить то же самое правило в FORWARD, что и в INPUT. Но при этом отмечаете правило drop… ЗАЧЕМ? Если оставшиеся пакеты попадают в адресный список, то ни один не дойдёт до последнего drop-правила (которое теперь избыточно)???

    /ip firewall filter  
    {input chain}  
    – разрешить админ-доступ с LAN  
    – разрешить DNS с LAN  
    – добавить весь остальной трафик в адресный список с именем stopProbes (timeout 6 часов)  
    – сбрасывать весь остальной трафик (это правило теперь не нужно, так как до него пакеты не доходят)???

    {forward chain}  
    – разрешить трафик LAN → WAN  
    – разрешить dst-nat трафик → connection-nat-state=dstnat  
    – добавить весь остальной трафик в адресный список с именем stopProbes (timeout 6 часов)  
    – сбрасывать весь остальной трафик (это правило теперь не нужно, так как до него пакеты не доходят)???

    /ip firewall raw prerouting chain  
    – сбрасывать пакеты с source-address-list=stopProbes
     
     
     
    mkx
    Guest
    #10
    0
    26.01.2019 14:04:00
    Ты абсолютно прав. Но иметь и то, и другое не повредит — так спокойнее будет параноидальным администраторам {forward chain}... разрешить lan → wan, разрешить dst-nat трафик → connection-nat-state=dstnat добавить весь остальной трафик в адресный список с именем stopProbes (тайм-аут 6 часов) блокировать весь остальной трафик (правило больше не нужно, ведь сюда пакеты не дойдут)??? Нет, красное должно быть достаточно избирательным, как я писал в прошлом посте. Вот так: разрешить dst-nat, где dst-port — этот, а src-address — этот или тот разрешить dst-nat, где dst-port — другой, а src-address — другой Только в этом случае нарушитель, пытающийся попасть на «тот» порт, наткнется на зелёное правило.
     
     
     
    anav
    Guest
    #11
    0
    26.01.2019 17:06:00
    Хорошо, MKX, просто хочу уточнить, ты говоришь, что вместо того, чтобы добавлять дополнительную информацию по безопасности в правило NAT, не нужно делать общее правило для DSTNAT в фильтре, а лучше быть конкретным?

    Допустим, у меня есть два потока переадресации портов (всего 4, tcp и udp):

    add action=dst-nat chain=dstnat comment=CompanyA_TCP dst-port=xx,yy,zz in-interface-list=WAN log=yes protocol=tcp src-address-list=TechniciansA to-addresses=192.168.u.u  
    add action=dst-nat chain=dstnat comment=CompanyA_UDP dst-port=xx,yy,zz in-interface-list=WAN log=yes protocol=udp src-address-list=TechniciansA to-addresses=192.168.u.u  

    и

    add action=dst-nat chain=dstnat comment=CompanyB_TCP dst-port=ttttt in-interface-list=WAN log=yes protocol=tcp src-address-list=TechniciansB to-addresses=192.168.v.v  
    add action=dst-nat chain=dstnat comment=CompanyB_UDP dst-port=tttt in-interface-list=WAN log=yes protocol=udp src-address-list=TechniciansB to-addresses=192.168.v.v  

    Ты предлагаешь следующие изменения… Разумеется, надо оставить NAT маршруты:

    add action=dst-nat chain=dstnat comment=CompanyA_TCP dst-port=xx,yy,zz in-interface-list=WAN log=yes protocol=tcp to-addresses=192.168.u.u  
    add action=dst-nat chain=dstnat comment=CompanyA_UDP dst-port=xx,yy,zz in-interface-list=WAN log=yes protocol=udp to-addresses=192.168.u.u  

    и

    add action=dst-nat chain=dstnat comment=CompanyB_TCP dst-port=ttttt in-interface-list=WAN log=yes protocol=tcp to-addresses=192.168.v.v  
    add action=dst-nat chain=dstnat comment=CompanyB_UDP dst-port=tttt in-interface-list=WAN log=yes protocol=udp to-addresses=192.168.v.v  

    а более специфичные правила фильтрации создавать отдельно, при этом порты и протоколы в фильтр не нужны:

    add action=accept chain=forward comment="CompanyA DST FILTER" connection-nat-state=dstnat in-interface-list=WAN src-address-list=CompanyA  

    add action=accept chain=forward comment="CompanyB DST FILTER" connection-nat-state=dstnat in-interface-list=WAN src-address-list=CompanyB
     
     
     
    mkx
    Guest
    #12
    0
    26.01.2019 18:11:00
    Правила в последнем блоке кода слишком общие… например, любой из src-address-list=CompanyB сможет подключиться к сервисам CompanyA. Думаю (и, возможно, когда-нибудь проверю), что правила фильтрации для DST-NAT сервисов должны выглядеть очень похоже на правила для маршрутизируемого трафика (то есть правила IPv6-фильтрации), как если бы NAT вообще не требовался. Согласно диаграмме потока пакетов, DST NAT происходит в конце prerouting, так что правило фильтра должно быть примерно таким: action=accept chain=forward dst-port=xx,yy,zz protocol=tcp dst-address=192.168.u.u src-address-list=CompanyA

    И вот ещё дозу паранойи: в raw стоит сбрасывать все пакеты с in-interface-list=WAN и dst-address, хоть как-то похожим на используемые LAN-адреса. Не то чтобы эта паранойя имела какое-то отношение к вышеуказанным правилам файрвола…
     
     
     
    anav
    Guest
    #13
    0
    26.01.2019 18:34:00
    Но сейчас мы точно дублируем правило NAT в фаерволе IP? Это кажется странным. Я старался избегать дублирования, где возможно, ха-ха. Ладно, короткий ответ — ставим исходный адрес и в правила NAT, и в фильтр, да? Но надо спросить... что роутер читает первым — правило NAT или правило фильтра?  
    Случай 1: если сначала идет правило NAT, тогда нам не нужно заморачиваться с точностью в фильтре, если мы укажем исходный адрес в NAT. Тогда фильтр может быть менее конкретным, и порты или протокол нас не волнуют... (где AuthorizedPortFowarders — это все IP компании (a+b)). Логика такая: когда пакет доходит до правила NAT, оно говорит: «Окей, исходный адрес Компании А к порту xx tcp на локальный IP .yy — подходит, двигаемся дальше...» Есть правило фаервола, разрешающее этот трафик? Да, совпадение есть. Значит, когда пакет доходит до фаервола, он говорит: да, это пакет назначения с WAN, и он из списка разрешённых. Все подходит, пропускаем... (и при этом Компания B не сможет добраться до портов Компании A).  
    Случай 2: если сначала применяется правило фильтрации, тогда да, нужно всё подробно расписать В ФИЛЬТРЕ. Не уверен, что тогда можно как-то сократить правило NAT. Например, add chain=dstnat action=dst-nat in-interface=wan source-address-list=AuthorizedPortFowarders — это не сработает, потому что правило фаервола пропустит трафик, но публично-приватный перевод сделан не будет и так далее...  
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++­++  
    После изучения диаграмм потоков пакетов, я колебался между первой и второй, какую выбрать. Похоже, что перед prerouting есть выбор фаервола! И ещё один после Bridge Forward, поэтому не совсем понятно, потому что фаервол может быть (filter, nat, mangle, raw, например). Диаграмма 4 немного помогает, ведь там подразумевается, что маршрутизация происходит до форвардинга, и я думаю, что речь идёт о фильтре в цепочке forward! Однако диаграмма 5 ещё яснее показывает цепочки потоков: последний шаг prerouting, как ты заметил, это dstnat, а фильтр forward почти самый последний шаг в цепочке forward. Поэтому мне кажется, я могу спокойно использовать add chain=forward action=accept in-interface=wan connection-state=dst source-address-list=AuthorizedPortFowarders.
     
     
     
    mkx
    Guest
    #14
    0
    26.01.2019 18:44:00
    Вся эта возня с последними несколькими постами из-за того, что мы хотим активно использовать черные списки, не так ли? Мы действительно хотим, чтобы техники из CompanyB, пытаясь получить доступ к серверу CompanyA, срабатывали на это правило «добавить в черный список» в самом конце... Если бы ты посмотрел ссылку, которую я вставил в предыдущем посте, ты бы теперь знал, что сначала происходит NAT (переписывание адреса), а уже потом – файрвол. Думаю, что использование connection-nat-state=dst-nat в фильтре файрвола действительно может быть достаточно. Это правда короткий путь, вместо того чтобы строить все правила по два раза. Пусть ты проведёшь эксперимент.
     
     
     
    anav
    Guest
    #15
    0
    26.01.2019 18:54:00
    Привет, MKX! Единственное, что нужно изменить в правиле фильтра — добавить chain=forward action=accept in-interface=wan connection-state=dst source-address-list=AuthorizedPortFowarders. Правила NAT гарантируют, что трафик компании А попадёт на порт компании А и соответствующий локальный IP в сети и так далее…
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры