Resolvi postar essa receitinha porque ela além de leve é bem eficiente pra proteger sua RB dos famosos SCANNERS que varrem a internet diariamente.
Deixo o lembrete que esse post não é formula mágica e que existem outras regras que podem ser implementadas pra evitar outros tipos de problema.
As regras abaixo são especificas pra proteção contra SCANNERS!!
Aproveito também pra apresentar o famoso "knock knock" que permite a você liberar acesso a algum serviço desejado pelo tempo desejado somente para as pessoas que souberem a combinação correta de portas a serem "batidas".
## Primeiramente vamos detectar quem está tentando scannear seu router ##
/ip firewall filter
add action=add-src-to-address-list address-list=bloqueados address-list-timeout=20h chain=input comment="Adiciona Port Scanners a lista de bloqueados por 20hs" disabled=no protocol=tcp psd=20,3s,3,1
add action=add-src-to-address-list address-list=bloqueados address-list-timeout=20h chain=input comment="Adiciona Mass Scanners a lista de bloqueados por 20hs" disabled=no protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list=bloqueados address-list-timeout=20h chain=input comment="Adiciona Null Scanners a lista de bloqueados por 20hs" disabled=no protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
## Agora vamos dropar as tentativas de conexão com o router dos ips detectados. ##
add action=drop chain=input comment="Dropa conexoes de scanners" disabled=no protocol=tcp src-address-list=bloqueados
Agora vamos ao knock knock. Vou utilizar, neste exemplo, o serviço da porta 8291 que é o acesso ao winbox. Caso você queira outros serviços basta mudar a porta e/ou protocolo. Vou usar a seguinte sequência de portas: 3002, 2003 e 3200. Utilize portas distantes umas das outras.
## Vamos adicionar a lista o ip do primeiro digito correto por 5 segundos ##
add action=add-src-to-address-list address-list=digito1 address-list-timeout=5s chain=input comment="Digito 1" disabled=no dst-port=3002 protocol=tcp
## Caso o primeiro digito esteja na lista, vamos manter ip do primeiro digito correto, na segunda lista de digito correto por 5 segundos também. ##
add action=add-src-to-address-list address-list=digito2 address-list-timeout=5s chain=input comment="Digito 2" disabled=no dst-port=2003 protocol=tcp src-address-list=digito1
## Por fim, vamos adicionar o ip do terceiro digito correto a lista por 5 segundos também. ##
add action=add-src-to-address-list address-list=digito3 address-list-timeout=5s chain=input comment="Digito 3" disabled=no dst-port=3200 protocol=tcp src-address-list=digito2
## Após confirmar a combinação correta de portas, vamos adicionar o ip a lista de liberados por 1 hora para acesso a porta 8291. ##
add action=add-src-to-address-list address-list=liberados address-list-timeout=1h chain=input comment="Adiciona src ip a lista de liberados por 1h" disabled=no dst-port=8291 protocol=tcp src-address-list=digito3
## Agora precisamos aceitar SOMENTE as conexões dessa lista de ips liberados. ##
add action=accept chain=input comment="Aceita conexoes liberadas p/ Winbox" disabled=no dst-port=8291 protocol=tcp src-address-list=liberados
## Por fim, dropamos o restante. ##
add action=drop chain=input comment="Dropa conexoes nao autorizadas ao Winbox" disabled=no dst-port=8291 protocol=tcp
Alguém pode pensar que o tempo de 5 segundos é pouco, mas pode ter certeza que é suficiente. Você pode gravar no seu winbox a sequência de portas a serem "batidas" pra facilitar. Caso deseje você pode aumentar o tempo também. O mais importante é lembrar que essa regra de "knock knock" só terá eficiência se você implementar antes o filtro contra SCANNERS. Caso contrário, qualquer port scanner entra na lista de liberados com facilidade, ok?
Espero ter ajudado. Qualquer dúvida posta ai.
Abraços a todos.