DROP в правилах фаервола для IP

Тема в разделе "Общий форум", создана пользователем Vadim, 6 фев 2018.

  1. Vadim

    Vadim New Member

    Регистрация:
    6 фев 2018
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Пол:
    Мужской
    Всем привет!
    Я не так давно начал знакомство с Mikrotik, поэтому возник ряд вопросов. В частности, недавно я наткнулся на ряд неплохих примеров по фаерволу на Mikrotik Wiki, которые позволяют обнаружить попытки сканирования, брутфорса и такого прочего. В целом, все эти правила нацелены на определение определенной активности, обнаружения IP взломщика и добавлением его в черный список. Все хорошо, но какой в этом смысл в контексте ряда правил, где последнее в цепочке -- drop. Я в том плане, что смысл пытаться выловить сканирование трафика, если все равно все дропнется в конце? Почему нельзя первым правилом сделать разрешение на прием пакетов от проверенных адресов, а уже потом -- дропать все остальное?

    Интересны ваши мысли.
     
  2. Fenek

    Fenek Member

    Регистрация:
    5 фев 2018
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    6
    Пол:
    Женский
    Если правило срабатывает на accept, drop или reject, то обработка цепочки считается завершенной. Т.е. до самого последнего всеобъемлющего дропа дело может и не дойти.
     
  3. Vadim

    Vadim New Member

    Регистрация:
    6 фев 2018
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Пол:
    Мужской
    Спасибо за ответ.
    Наверно, я немного криво выразился. Попробую объяснить на примере из MikrotikWiki:

    Код:
    /ip firewall filter
     add chain=forward comment="Accept established and related packets" connection-state=established,related
     add action=drop chain=forward comment="Drop invalid packets" connection-state=invalid
     add action=drop chain=forward comment="Drop new connections from internet which are not dst-natted" connection-nat-state=!dstnat connection-state=new in-interface=WAN
     add action=drop chain=forward comment="Drop all packets from public internet which should not exist in public network" in-interface=WAN src-address-list=NotPublic
     add action=drop chain=forward comment="Drop all packets from local network to internet which should not exist in public network" dst-address-list=NotPublic in-interface=LAN
     add action=drop chain=forward comment="Drop all packets in local network which does not have local network address" in-interface=LAN src-address=!192.168.88.0/24
    А теперь обратите внимание, что после всех этих правил у меня есть одно drop-правило, которое просто срезает все оставшиеся соединения, грубо говоря. Собственно, мне было интересно, есть ли смысл в таком скрипте, с учетом того что последние правила можно выразить как
    Код:
    /ip firewall filter
    add action=drop chain=forward comment="Drop all the rest"
    В чем смысл прописывать правила, если последнее просто дропнет все? Такая ситуация встречается достаточно часто в примерах, и я просто не понимаю -- зачем?
     
  4. Fenek

    Fenek Member

    Регистрация:
    5 фев 2018
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    6
    Пол:
    Женский
    Ну в этом конкретном примере -- да, нет никакого смысла, даже скрытого) Скорее всего, это писали для того, чтобы любой мог внести эти правила в свои фильтры без изменений.
    А вот в реальной жизни в авангарде -- правила на accept, а уже потом, в самом конце, благополучно отсекается все, что мы не accept. Вот, к примеру:
    Код:
    /ip firewall filter
     add chain=forward comment="Accept established and related packets" connection-state=established,related
     add chain=forward comment="Accept new connections from local network addresses to internet which should exist in public network" connection-state=new src-address=192.168.88.0/24 dst-address-list=!NotPublic in-interface=LAN
     add chain=forward comment="Accept new connections from public internet which should exist in public network" connection-state=new src-address-list=!NotPublic in-interface=WAN
     add action=drop chain=forward comment="Drop all the rest"
    А вообще, на будущее, лучше группировать правила, а не писать их сплошняком:

    Код:
    /ip firewall filter
     add chain=forward comment="Accept established and related packets" connection-state=established,related
     add action=jump chain=forward comment="Go to LAN related checks"  connection-state=new in-interface=LAN jump-target="check-lan"
     add action=jump chain=forward comment="Go to WAN related checks"  connection-state=new in-interface=WAN jump-target="check-wan"
     add action=drop chain=forward comment="Drop all the rest"
    
     add chain="check-lan" comment="Accept new connections from local network addresses to internet which should exist in public network" src-address=192.168.88.0/24 dst-address-list=!NotPublic
    
     add chain="check-wan" comment="Accept new connections from public internet which should exist in public network" src-address-list=!NotPublic
    Тут, если в цепочке, на которую мы прыгнули, никаких дропов, то мы возвращаемся к месту прыжка и идем дальше по списку. Кажется запутанным, но так гораздо проще расширять лист правил. Ну и людям проще читать)
     
  5. Vadim

    Vadim New Member

    Регистрация:
    6 фев 2018
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Пол:
    Мужской
    Ага, теперь я понял. Т.е. мы можем выбрать, какие пакеты нам принимать, а остальные просто срезать. Более-менее разобрался, спасибо большое!
     

Поделиться этой страницей

Share