[uanog] mikrotik enough firewall rules

Volodymyr Litovka doka at xlit.one
Wed Feb 13 09:45:10 EET 2019


В конечном итоге, имеет смысл творчески осмыслить дефолтные правила, а также

https://wiki.mikrotik.com/wiki/Drop_port_scanners
https://wiki.mikrotik.com/wiki/DDoS_Detection_and_Blocking

и можно делать отстрел неудачных попыток установления соединения (для 
постоянных соединений) типа такого (ну и обязательно менять стандартные 
порты на любые другие)

add comment="5 rules to drop ssh brute forcers" chain=input action=drop 
protocol=tcp src-address-list=ssh_blacklist dst-port=22 log=no log-prefix=""
add chain=input action=add-src-to-address-list connection-state=new 
protocol=tcp src-address-list=ssh_stage3 address-list=ssh_blacklist 
address-list-timeout=1w3d dst-port=22 log=no log-prefix=""
add chain=input action=add-src-to-address-list connection-state=new 
protocol=tcp src-address-list=ssh_stage2 address-list=ssh_stage3 
address-list-timeout=1m dst-port=22 log=no log-prefix=""
add chain=input action=add-src-to-address-list connection-state=new 
protocol=tcp src-address-list=ssh_stage1 address-list=ssh_stage2 
address-list-timeout=1m dst-port=22 log=no log-prefix=""
add chain=input action=add-src-to-address-list connection-state=new 
protocol=tcp address-list=ssh_stage1 address-list-timeout=1m dst-port=22 
log=no log-prefix=""
add comment="Accept SSH" chain=input action=accept protocol=tcp 
dst-port=22 log=no log-prefix=""

On 12/17/18 5:30 PM, Victor Cheburkin wrote:
> Hi!
>
> Вот так чтобы best practice чтобы оно охватывало, по сути, трафик кучи 
> openvpn (который на mikrotik кастрирован), боюсь что и не будет.
> Самый best practice, по-моему (хотя я не очень специалист) - 
> дефолтовый конфиг + набор разрешающих правил и адрес-листов к ним, 
> остальное отсечется правилами 7 и 11. Думаю, конкретно в твоем случае, 
> возможно, нужен адрес лист для 5 правила.
> Еще, возможно, стоит посмотреть в настройках IP на тему RP Filter, 
> accept redirect, tcp syn cookies.
> И учти, что некоторые фишки с fasttrack несовместимы, к примеру -- 
> ограничение траффика.
> Думаю, ты и сам все это уже сделал, но раз очень просишь, то вот ;-)
>
>> 17 дек. 2018 г., в 15:26, Volodymyr Litovka <doka.ua at gmail.com 
>> <mailto:doka.ua at gmail.com>> написал(а):
>>
>> Привіт,
>>
>> Що, немає best practices?
>>
>> On Sat, Dec 15, 2018, 01:00 Volodymyr Litovka <doka.ua at gmail.com 
>> <mailto:doka.ua at gmail.com> wrote:
>>
>>     Привет,
>>
>>     подскажите, пожалуйста, свои best practices для защиты локальной
>>     сети на
>>     _пакетном уровне_. Есть микрот, подключенный к инету, который строит
>>     несколько VPN-линков к удаленным площадкам. Локальная сеть ходит в
>>     интернет через WAN (ether1) и на удаленные площадки - через
>>     VPN-линки.
>>     NAT настроен на out-interface:ether1, трафик по VPN-линкам не
>>     натится.
>>
>>     На микроте есть вот такие правила фильтров (бОльшая их часть -
>>     default
>>     rules, я добавил только правила 4,5,6) и у меня вопрос -
>>     достаточно-ли
>>     этого, чтобы быть более-менее спокойным относительно пакетной
>>     безопасности локальной сети? То есть, фактически: input безусловно
>>     разрешает только ICMP и SSH, ограничивает winbox внутренними
>>     портами,
>>     остальное - рубится. Форвард на WAN-интерфейсе - только для
>>     соединений,
>>     инициированных изнутри. Форвард с VPN-линков не регулируется.
>>     Посоветуйте, нужно-ли и, если да, то как эти правила можно
>>     допараноить
>>     :) Мне оно выглядит вроде достаточным, но я херовый безопасник :)
>>
>>     Спасибо.
>>
>>       0  D ;;; special dummy rule to show fasttrack counters
>>            chain=forward action=passthrough
>>
>>       1    ;;; defconf: accept established,related,untracked
>>            chain=input action=accept
>>     connection-state=established,related,untracked
>>
>>       2    ;;; defconf: drop invalid
>>            chain=input action=drop connection-state=invalid
>>
>>       3    ;;; defconf: accept ICMP
>>            chain=input action=accept protocol=icmp
>>
>>       4    ;;; Allow SSH from everywhere
>>            chain=input action=accept protocol=tcp dst-port=[...] log=no
>>     log-prefix=""
>>
>>       5    ;;; Allow OSPF on VPN links only
>>            chain=input action=accept protocol=ospf in-interface-list=VPN
>>     log=no log-prefix=""
>>
>>       6    ;;; Allow Winbox on LAN/VPN only
>>            chain=input action=accept protocol=tcp in-interface-list=LAN
>>     dst-port=[...] log=no log-prefix=""
>>
>>       7    ;;; defconf: drop all
>>            chain=input action=drop log=no log-prefix=""
>>
>>       8    ;;; defconf: fasttrack
>>            chain=forward action=fasttrack-connection
>>     connection-state=established,related
>>
>>       9    ;;; defconf: accept established,related, untracked
>>            chain=forward action=accept
>>     connection-state=established,related,untracked
>>
>>     10    ;;; defconf: drop invalid
>>            chain=forward action=drop connection-state=invalid
>>
>>     11    ;;; defconf:  drop all from WAN not DSTNATed
>>            chain=forward action=drop connection-state=new
>>     connection-nat-state=!dstnat in-interface-list=WAN
>>
>>
>>     -- 
>>     Volodymyr Litovka
>>        "Vision without Execution is Hallucination." -- Thomas Edison
>>
>> _______________________________________________
>> uanog mailing list
>> uanog at uanog.kiev.ua <mailto:uanog at uanog.kiev.ua>
>> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
>
> -- 
> Victor Cheburkin
> VC319-RIPE, VC1-UANIC
>

-- 
Volodymyr Litovka
   "Vision without Execution is Hallucination." -- Thomas Edison

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uanog.kiev.ua/pipermail/uanog/attachments/20190213/4b36d75b/attachment.html>


More information about the uanog mailing list