<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.brasilpeeringforum.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sandino</id>
	<title>Wiki BPF - Contribuições do(a) usuário(a) [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.brasilpeeringforum.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sandino"/>
	<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/w/Especial:Contribui%C3%A7%C3%B5es/Sandino"/>
	<updated>2026-06-01T04:22:37Z</updated>
	<subtitle>Contribuições do(a) usuário(a)</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4025</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4025"/>
		<updated>2026-01-19T19:25:33Z</updated>

		<summary type="html">&lt;p&gt;Sandino: /* 📝 Observação Final (IPv6) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear.&lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
📌 '''Conceito'''&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🧩 '''Tipos de endereços recomendados'''&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
&lt;br /&gt;
*Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.*&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🔧 '''Criação da Address-List'''&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🔐 '''Uso com VPN'''&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🛡️ '''Boas práticas'''&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
⚠️ '''Impacto no Firewall'''&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
📝 '''Observação Final'''&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add chain=input connection-state=established,related action=accept comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
add chain=forward connection-state=established,related action=accept comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward'''&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;'''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o &amp;lt;code&amp;gt;/ip service&amp;lt;/code&amp;gt; o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;, antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
add action=drop chain=CE-DMZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
add action=drop chain=Zabbix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
&lt;br /&gt;
*Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS*&lt;br /&gt;
&lt;br /&gt;
=== 3.6. Aplicação de exemplo (DNS) ===&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🔧 '''Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🔐 '''Regras de Firewall – DNS Anycast'''&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🛡️ '''Boas práticas'''&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
📝 '''Observação'''&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
== 4. Regras de Firewall IPv6  ==&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 segue exatamente o mesmo conceito do IPv4, utilizando isolamento por aplicação através de chains dedicadas, evitando drops globais e mantendo o controle individual por serviço.&lt;br /&gt;
&lt;br /&gt;
A principal diferença é apenas o uso de &amp;lt;code&amp;gt;/ipv6 firewall filter&amp;lt;/code&amp;gt; e endereços IPv6 /128 para hosts, sempre tenha firewall IPv6 para as suas aplicações também.&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem ficar no início do firewall IPv6, garantindo o funcionamento correto das conexões já existentes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ipv6 firewall filter&lt;br /&gt;
add chain=forward connection-state=established,related action=accept comment=&amp;quot;CONEXOES ESTABELECIDAS/RELACIONADAS&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter sessões ativas&lt;br /&gt;
* Evitar reprocessamento desnecessário&lt;br /&gt;
* Garantir estabilidade dos serviços IPv6&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Redes Confiáveis (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
Assim como no IPv4, a address-list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; centraliza origens administrativas também no IPv6.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;forward&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Centralizar acessos administrativos&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Facilitar manutenção do firewall IPv6&lt;br /&gt;
&lt;br /&gt;
⚠️ *Evite adicionar prefixos IPv6 muito amplos (/32, /29). Sempre que possível, utilize o menor tamanho de prefixo possível ou prefixos bem definidos.*&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Regra de INPUT – DMZ IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso a endereços IPv6 de gestão publicados no próprio roteador.&lt;br /&gt;
&lt;br /&gt;
Somente origens presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; conseguem acessar serviços administrativos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=input comment=CE-DMZ dst-address=2804:XXXX:1::1/128 jump-target=CE-DMZ&lt;br /&gt;
add action=accept chain=CE-DMZ dst-port=22,8291 protocol=tcp src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
add action=drop chain=CE-DMZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger o acesso administrativo IPv6&lt;br /&gt;
* Restringir por origem confiável&lt;br /&gt;
* Bloquear tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 4.4 Aplicação de exemplo – DNS IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Neste cenário, os servidores DNS IPv6 são protegidos por uma chain dedicada (&amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na address-list &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; podem realizar consultas.&lt;br /&gt;
&lt;br /&gt;
Os IPs utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;2804:XXXX:2::4&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;2804:XXXX:4::5&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS PRIMARIO&amp;quot; dst-address=2804:XXXX:2::4/128 jump-target=DNS&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS SECUNDARIO&amp;quot; dst-address=2804:XXXX:2::5/128 jump-target=DNS&lt;br /&gt;
add action=accept chain=DNS protocol=icmp&lt;br /&gt;
add action=accept chain=DNS dst-port=53 protocol=udp src-address-list=RESOLVE-DNS&lt;br /&gt;
add action=drop chain=DNS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Evitar DNS aberto em IPv6&lt;br /&gt;
* Controlar resolução por origem&lt;br /&gt;
* Prevenir abuso e amplificação&lt;br /&gt;
'''📝 Observação Final (IPv6)'''&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 não deve ser tratado como opcional. Todo serviço publicado em IPv4 caso tenha IPv6 também necessita de firewall, visto que o IPv6 é possível disponibilizar acesso via ssh, amplificações e etc, IPv6 é o protocolo padrão da internet!&lt;br /&gt;
&lt;br /&gt;
== 5. Conclusão ==&lt;br /&gt;
&lt;br /&gt;
Este padrão de firewall por chain permite facilitar a gerencia das regras e garantir uma gerencia facilitada, evitando o problema de desabilitar o DROP geral de firewall que sempre ocorre em momentos de problema e acaba ficando dias sem estar habilitado ou até mesmo nunca mais habilitado novamente. A ideia é realizar um padrão de firewall onde garantimos segurança e gerencia facilitada.&lt;br /&gt;
&lt;br /&gt;
== 6. Sobre mim ==&lt;br /&gt;
&lt;br /&gt;
Este é meu primeiro publicado, em caso de qualquer erro ou sugestão de melhoria aceito com gratidão, caso tenha duvida e queira tirar duvidas sobre o firewall pode entrar em contato comigo:&lt;br /&gt;
&lt;br /&gt;
Telefone (whatsapp): 19 987601686&lt;br /&gt;
&lt;br /&gt;
e-mail: vitor.sandino@version2.com.br&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4024</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4024"/>
		<updated>2026-01-19T19:24:14Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear.&lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
📌 '''Conceito'''&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🧩 '''Tipos de endereços recomendados'''&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
&lt;br /&gt;
*Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.*&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🔧 '''Criação da Address-List'''&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🔐 '''Uso com VPN'''&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🛡️ '''Boas práticas'''&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
⚠️ '''Impacto no Firewall'''&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
📝 '''Observação Final'''&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add chain=input connection-state=established,related action=accept comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
add chain=forward connection-state=established,related action=accept comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward'''&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;'''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o &amp;lt;code&amp;gt;/ip service&amp;lt;/code&amp;gt; o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;, antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
add action=drop chain=CE-DMZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
add action=drop chain=Zabbix&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
&lt;br /&gt;
*Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS*&lt;br /&gt;
&lt;br /&gt;
=== 3.6. Aplicação de exemplo (DNS) ===&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🔧 '''Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🔐 '''Regras de Firewall – DNS Anycast'''&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
🛡️ '''Boas práticas'''&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
📝 '''Observação'''&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
== 4. Regras de Firewall IPv6 ==&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 segue exatamente o mesmo conceito do IPv4, utilizando isolamento por aplicação através de chains dedicadas, evitando drops globais e mantendo o controle individual por serviço.&lt;br /&gt;
&lt;br /&gt;
A principal diferença é apenas o uso de &amp;lt;code&amp;gt;/ipv6 firewall filter&amp;lt;/code&amp;gt; e endereços IPv6 /128 para hosts, sempre tenha firewall IPv6 para as suas aplicações também.&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem ficar no início do firewall IPv6, garantindo o funcionamento correto das conexões já existentes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ipv6 firewall filter&lt;br /&gt;
add chain=forward connection-state=established,related action=accept comment=&amp;quot;CONEXOES ESTABELECIDAS/RELACIONADAS&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter sessões ativas&lt;br /&gt;
* Evitar reprocessamento desnecessário&lt;br /&gt;
* Garantir estabilidade dos serviços IPv6&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Redes Confiáveis (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
Assim como no IPv4, a address-list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; centraliza origens administrativas também no IPv6.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;forward&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Centralizar acessos administrativos&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Facilitar manutenção do firewall IPv6&lt;br /&gt;
&lt;br /&gt;
⚠️ *Evite adicionar prefixos IPv6 muito amplos (/32, /29). Sempre que possível, utilize o menor tamanho de prefixo possível ou prefixos bem definidos.*&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Regra de INPUT – DMZ IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso a endereços IPv6 de gestão publicados no próprio roteador.&lt;br /&gt;
&lt;br /&gt;
Somente origens presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; conseguem acessar serviços administrativos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=input comment=CE-DMZ dst-address=2804:XXXX:1::1/128 jump-target=CE-DMZ&lt;br /&gt;
add action=accept chain=CE-DMZ dst-port=22,8291 protocol=tcp src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
add action=drop chain=CE-DMZ&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger o acesso administrativo IPv6&lt;br /&gt;
* Restringir por origem confiável&lt;br /&gt;
* Bloquear tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 4.4 Aplicação de exemplo – DNS IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Neste cenário, os servidores DNS IPv6 são protegidos por uma chain dedicada (&amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na address-list &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; podem realizar consultas.&lt;br /&gt;
&lt;br /&gt;
Os IPs utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;2804:XXXX:2::4&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;2804:XXXX:4::5&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS PRIMARIO&amp;quot; dst-address=2804:XXXX:2::4/128 jump-target=DNS&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS SECUNDARIO&amp;quot; dst-address=2804:XXXX:2::5/128 jump-target=DNS&lt;br /&gt;
add action=accept chain=DNS protocol=icmp&lt;br /&gt;
add action=accept chain=DNS dst-port=53 protocol=udp src-address-list=RESOLVE-DNS&lt;br /&gt;
add action=drop chain=DNS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Evitar DNS aberto em IPv6&lt;br /&gt;
* Controlar resolução por origem&lt;br /&gt;
* Prevenir abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
=== 📝 Observação Final (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 não deve ser tratado como opcional. Todo serviço publicado em IPv4 caso tenha IPv6 também necessita de firewall, visto que o IPv6 é possível disponibilizar acesso via ssh, amplificações e etc, IPv6 é o protocolo padrão da internet!&lt;br /&gt;
&lt;br /&gt;
== 5. Conclusão ==&lt;br /&gt;
&lt;br /&gt;
Este padrão de firewall por chain permite facilitar a gerencia das regras e garantir uma gerencia facilitada, evitando o problema de desabilitar o DROP geral de firewall que sempre ocorre em momentos de problema e acaba ficando dias sem estar habilitado ou até mesmo nunca mais habilitado novamente. A ideia é realizar um padrão de firewall onde garantimos segurança e gerencia facilitada.&lt;br /&gt;
&lt;br /&gt;
== 6. Sobre mim ==&lt;br /&gt;
&lt;br /&gt;
Este é meu primeiro publicado, em caso de qualquer erro ou sugestão de melhoria aceito com gratidão, caso tenha duvida e queira tirar duvidas sobre o firewall pode entrar em contato comigo:&lt;br /&gt;
&lt;br /&gt;
Telefone (whatsapp): 19 987601686&lt;br /&gt;
&lt;br /&gt;
e-mail: vitor.sandino@version2.com.br&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4023</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4023"/>
		<updated>2026-01-19T19:12:05Z</updated>

		<summary type="html">&lt;p&gt;Sandino: /* 5. Conclusão */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
== 4. Regras de Firewall IPv6 ==&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 segue exatamente o mesmo conceito do IPv4, utilizando isolamento por aplicação através de chains dedicadas, evitando drops globais e mantendo o controle individual por serviço.&lt;br /&gt;
&lt;br /&gt;
A principal diferença é apenas o uso de /ipv6 firewall filter e endereços IPv6 /128 para hosts, sempre tenha firewall IPv6 para as suas aplicações também.&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem ficar no início do firewall IPv6, garantindo o funcionamento correto das conexões já existentes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward connection-state=established,related&lt;br /&gt;
action=accept comment=&amp;quot;CONEXOES ESTABELECIDAS/RELACIONADAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Manter sessões ativas&lt;br /&gt;
&lt;br /&gt;
Evitar reprocessamento desnecessário&lt;br /&gt;
&lt;br /&gt;
Garantir estabilidade dos serviços IPv6&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Redes Confiáveis (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
Assim como no IPv4, a address-list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; centraliza origens administrativas também no IPv6.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;forward&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Centralizar acessos administrativos&lt;br /&gt;
&lt;br /&gt;
Evitar repetição de regras&lt;br /&gt;
&lt;br /&gt;
Facilitar manutenção do firewall IPv6&lt;br /&gt;
&lt;br /&gt;
⚠️ Evite adicionar prefixos IPv6 muito amplos (/32, /29).&lt;br /&gt;
Sempre que possível, utilize o menor tamanho de prefixo possível ou prefixos bem definidos.&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Regra de INPUT – DMZ IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso a endereços IPv6 de gestão publicados no próprio roteador.&lt;br /&gt;
&lt;br /&gt;
Somente origens presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; conseguem acessar serviços administrativos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=input comment=CE-DMZ dst-address=2804:XXXX:1::1/128 jump-target=CE-DMZ&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=CE-DMZ dst-port=22,8291 protocol=tcp src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger o acesso administrativo IPv6&lt;br /&gt;
&lt;br /&gt;
* Restringir por origem confiável&lt;br /&gt;
&lt;br /&gt;
* Bloquear tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 4.4 Aplicação de exemplo – DNS IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Neste cenário, os servidores DNS IPv6 são protegidos por uma chain dedicada (&amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na address-list &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; podem realizar consultas.&lt;br /&gt;
&lt;br /&gt;
Os IPs utilizados são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:2::4&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:4::5&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS PRIMARIO&amp;quot; dst-address=2804:XXXX:2::4/128 jump-target=DNS&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS SECUNDARIO&amp;quot; dst-address=2804:XXXX:2::5/128 jump-target=DNS&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=DNS protocol=icmp&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=DNS dst-port=53 protocol=udp src-address-list=RESOLVE-DNS&lt;br /&gt;
&lt;br /&gt;
add action=drop chain=DNS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Evitar DNS aberto em IPv6&lt;br /&gt;
&lt;br /&gt;
* Controlar resolução por origem&lt;br /&gt;
&lt;br /&gt;
* Prevenir abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
=== 📝 Observação Final (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 não deve ser tratado como opcional. Todo serviço publicado em IPv4 caso tenha IPv6 também necessita de firewall, visto que o IPv6 é possível disponibilizar acesso via ssh, amplificações e etc, IPv6 é o protocolo padrão da internet!&lt;br /&gt;
&lt;br /&gt;
== 5. Conclusão ==&lt;br /&gt;
Este padrão de firewall por chain permite facilitar a gerencia das regras e garantir uma gerencia facilitada, evitando o problema de desabilitar o DROP geral de firewall que sempre ocorre em momentos de problema e acaba ficando dias sem estar habilitado ou até mesmo nunca mais habilitado novamente. A ideia é realizar um padrão de firewall onde garantimos segurança e gerencia facilitada.&lt;br /&gt;
&lt;br /&gt;
== 6.  Sobre mim ==&lt;br /&gt;
Este é meu primeiro publicado, em caso de qualquer erro ou sugestão de melhoria aceito com gratidão, caso tenha duvida e queira tirar duvidas sobre o firewall pode entrar em contato comigo:&lt;br /&gt;
&lt;br /&gt;
Telefone (whatsapp): 19 987601686&lt;br /&gt;
&lt;br /&gt;
e-mail: vitor.sandino@version2.com.br&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4022</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4022"/>
		<updated>2026-01-19T19:09:16Z</updated>

		<summary type="html">&lt;p&gt;Sandino: /* 4.4 Aplicação de exemplo – DNS IPv6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
== 4. Regras de Firewall IPv6 ==&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 segue exatamente o mesmo conceito do IPv4, utilizando isolamento por aplicação através de chains dedicadas, evitando drops globais e mantendo o controle individual por serviço.&lt;br /&gt;
&lt;br /&gt;
A principal diferença é apenas o uso de /ipv6 firewall filter e endereços IPv6 /128 para hosts, sempre tenha firewall IPv6 para as suas aplicações também.&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem ficar no início do firewall IPv6, garantindo o funcionamento correto das conexões já existentes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward connection-state=established,related&lt;br /&gt;
action=accept comment=&amp;quot;CONEXOES ESTABELECIDAS/RELACIONADAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Manter sessões ativas&lt;br /&gt;
&lt;br /&gt;
Evitar reprocessamento desnecessário&lt;br /&gt;
&lt;br /&gt;
Garantir estabilidade dos serviços IPv6&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Redes Confiáveis (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
Assim como no IPv4, a address-list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; centraliza origens administrativas também no IPv6.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;forward&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Centralizar acessos administrativos&lt;br /&gt;
&lt;br /&gt;
Evitar repetição de regras&lt;br /&gt;
&lt;br /&gt;
Facilitar manutenção do firewall IPv6&lt;br /&gt;
&lt;br /&gt;
⚠️ Evite adicionar prefixos IPv6 muito amplos (/32, /29).&lt;br /&gt;
Sempre que possível, utilize o menor tamanho de prefixo possível ou prefixos bem definidos.&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Regra de INPUT – DMZ IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso a endereços IPv6 de gestão publicados no próprio roteador.&lt;br /&gt;
&lt;br /&gt;
Somente origens presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; conseguem acessar serviços administrativos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=input comment=CE-DMZ dst-address=2804:XXXX:1::1/128 jump-target=CE-DMZ&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=CE-DMZ dst-port=22,8291 protocol=tcp src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger o acesso administrativo IPv6&lt;br /&gt;
&lt;br /&gt;
* Restringir por origem confiável&lt;br /&gt;
&lt;br /&gt;
* Bloquear tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 4.4 Aplicação de exemplo – DNS IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Neste cenário, os servidores DNS IPv6 são protegidos por uma chain dedicada (&amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na address-list &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; podem realizar consultas.&lt;br /&gt;
&lt;br /&gt;
Os IPs utilizados são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:2::4&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:4::5&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS PRIMARIO&amp;quot; dst-address=2804:XXXX:2::4/128 jump-target=DNS&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS SECUNDARIO&amp;quot; dst-address=2804:XXXX:2::5/128 jump-target=DNS&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=DNS protocol=icmp&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=DNS dst-port=53 protocol=udp src-address-list=RESOLVE-DNS&lt;br /&gt;
&lt;br /&gt;
add action=drop chain=DNS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Evitar DNS aberto em IPv6&lt;br /&gt;
&lt;br /&gt;
* Controlar resolução por origem&lt;br /&gt;
&lt;br /&gt;
* Prevenir abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
=== 📝 Observação Final (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 não deve ser tratado como opcional. Todo serviço publicado em IPv4 caso tenha IPv6 também necessita de firewall, visto que o IPv6 é possível disponibilizar acesso via ssh, amplificações e etc, IPv6 é o protocolo padrão da internet!&lt;br /&gt;
&lt;br /&gt;
== 5. Conclusão ==&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4021</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4021"/>
		<updated>2026-01-19T19:08:37Z</updated>

		<summary type="html">&lt;p&gt;Sandino: /* 4.3 Regra de INPUT – DMZ IPv6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
== 4. Regras de Firewall IPv6 ==&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 segue exatamente o mesmo conceito do IPv4, utilizando isolamento por aplicação através de chains dedicadas, evitando drops globais e mantendo o controle individual por serviço.&lt;br /&gt;
&lt;br /&gt;
A principal diferença é apenas o uso de /ipv6 firewall filter e endereços IPv6 /128 para hosts, sempre tenha firewall IPv6 para as suas aplicações também.&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem ficar no início do firewall IPv6, garantindo o funcionamento correto das conexões já existentes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward connection-state=established,related&lt;br /&gt;
action=accept comment=&amp;quot;CONEXOES ESTABELECIDAS/RELACIONADAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Manter sessões ativas&lt;br /&gt;
&lt;br /&gt;
Evitar reprocessamento desnecessário&lt;br /&gt;
&lt;br /&gt;
Garantir estabilidade dos serviços IPv6&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Redes Confiáveis (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
Assim como no IPv4, a address-list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; centraliza origens administrativas também no IPv6.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;forward&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Centralizar acessos administrativos&lt;br /&gt;
&lt;br /&gt;
Evitar repetição de regras&lt;br /&gt;
&lt;br /&gt;
Facilitar manutenção do firewall IPv6&lt;br /&gt;
&lt;br /&gt;
⚠️ Evite adicionar prefixos IPv6 muito amplos (/32, /29).&lt;br /&gt;
Sempre que possível, utilize o menor tamanho de prefixo possível ou prefixos bem definidos.&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Regra de INPUT – DMZ IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso a endereços IPv6 de gestão publicados no próprio roteador.&lt;br /&gt;
&lt;br /&gt;
Somente origens presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; conseguem acessar serviços administrativos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=input comment=CE-DMZ dst-address=2804:XXXX:1::1/128 jump-target=CE-DMZ&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=CE-DMZ dst-port=22,8291 protocol=tcp src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger o acesso administrativo IPv6&lt;br /&gt;
&lt;br /&gt;
* Restringir por origem confiável&lt;br /&gt;
&lt;br /&gt;
* Bloquear tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 4.4 Aplicação de exemplo – DNS IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Neste cenário, os servidores DNS IPv6 são protegidos por uma chain dedicada (&amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na address-list &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; podem realizar consultas.&lt;br /&gt;
&lt;br /&gt;
Os IPs utilizados são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:2::4&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:4::5&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS PRIMARIO&amp;quot; dst-address=2804:XXXX:2::4/128 jump-target=DNS&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS SECUNDARIO&amp;quot; dst-address=2804:XXXX:2::5/128 jump-target=DNS&lt;br /&gt;
add action=accept chain=DNS protocol=icmp&lt;br /&gt;
add action=accept chain=DNS dst-port=53 protocol=tcp src-address-list=RESOLVE-DNS&lt;br /&gt;
add action=accept chain=DNS dst-port=53 protocol=udp src-address-list=RESOLVE-DNS&lt;br /&gt;
add action=drop chain=DNS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Evitar DNS aberto em IPv6&lt;br /&gt;
&lt;br /&gt;
* Controlar resolução por origem&lt;br /&gt;
&lt;br /&gt;
* Prevenir abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
=== 📝 Observação Final (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 não deve ser tratado como opcional. Todo serviço publicado em IPv4 caso tenha IPv6 também necessita de firewall, visto que o IPv6 é possível disponibilizar acesso via ssh, amplificações e etc, IPv6 é o protocolo padrão da internet!&lt;br /&gt;
&lt;br /&gt;
== 5. Conclusão ==&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4020</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4020"/>
		<updated>2026-01-19T19:08:18Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
== 4. Regras de Firewall IPv6 ==&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 segue exatamente o mesmo conceito do IPv4, utilizando isolamento por aplicação através de chains dedicadas, evitando drops globais e mantendo o controle individual por serviço.&lt;br /&gt;
&lt;br /&gt;
A principal diferença é apenas o uso de /ipv6 firewall filter e endereços IPv6 /128 para hosts, sempre tenha firewall IPv6 para as suas aplicações também.&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem ficar no início do firewall IPv6, garantindo o funcionamento correto das conexões já existentes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward connection-state=established,related&lt;br /&gt;
action=accept comment=&amp;quot;CONEXOES ESTABELECIDAS/RELACIONADAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Manter sessões ativas&lt;br /&gt;
&lt;br /&gt;
Evitar reprocessamento desnecessário&lt;br /&gt;
&lt;br /&gt;
Garantir estabilidade dos serviços IPv6&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Redes Confiáveis (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
Assim como no IPv4, a address-list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; centraliza origens administrativas também no IPv6.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;forward&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Centralizar acessos administrativos&lt;br /&gt;
&lt;br /&gt;
Evitar repetição de regras&lt;br /&gt;
&lt;br /&gt;
Facilitar manutenção do firewall IPv6&lt;br /&gt;
&lt;br /&gt;
⚠️ Evite adicionar prefixos IPv6 muito amplos (/32, /29).&lt;br /&gt;
Sempre que possível, utilize o menor tamanho de prefixo possível ou prefixos bem definidos.&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Regra de INPUT – DMZ IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso a endereços IPv6 de gestão publicados no próprio roteador.&lt;br /&gt;
&lt;br /&gt;
Somente origens presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; conseguem acessar serviços administrativos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=input comment=CE-DMZ dst-address=2804:XXXX:1::1/128 jump-target=CE-DMZ&lt;br /&gt;
add action=accept chain=CE-DMZ dst-port=22,8291 protocol=tcp src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger o acesso administrativo IPv6&lt;br /&gt;
&lt;br /&gt;
* Restringir por origem confiável&lt;br /&gt;
&lt;br /&gt;
* Bloquear tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 4.4 Aplicação de exemplo – DNS IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Neste cenário, os servidores DNS IPv6 são protegidos por uma chain dedicada (&amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na address-list &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; podem realizar consultas.&lt;br /&gt;
&lt;br /&gt;
Os IPs utilizados são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:2::4&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:4::5&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS PRIMARIO&amp;quot; dst-address=2804:XXXX:2::4/128 jump-target=DNS&lt;br /&gt;
add action=jump chain=forward comment=&amp;quot;DNS SECUNDARIO&amp;quot; dst-address=2804:XXXX:2::5/128 jump-target=DNS&lt;br /&gt;
add action=accept chain=DNS protocol=icmp&lt;br /&gt;
add action=accept chain=DNS dst-port=53 protocol=tcp src-address-list=RESOLVE-DNS&lt;br /&gt;
add action=accept chain=DNS dst-port=53 protocol=udp src-address-list=RESOLVE-DNS&lt;br /&gt;
add action=drop chain=DNS&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Evitar DNS aberto em IPv6&lt;br /&gt;
&lt;br /&gt;
* Controlar resolução por origem&lt;br /&gt;
&lt;br /&gt;
* Prevenir abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
=== 📝 Observação Final (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 não deve ser tratado como opcional. Todo serviço publicado em IPv4 caso tenha IPv6 também necessita de firewall, visto que o IPv6 é possível disponibilizar acesso via ssh, amplificações e etc, IPv6 é o protocolo padrão da internet!&lt;br /&gt;
&lt;br /&gt;
== 5. Conclusão ==&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4019</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4019"/>
		<updated>2026-01-19T19:04:36Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
== 4. Regras de Firewall IPv6 ==&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 segue exatamente o mesmo conceito do IPv4, utilizando isolamento por aplicação através de chains dedicadas, evitando drops globais e mantendo o controle individual por serviço.&lt;br /&gt;
&lt;br /&gt;
A principal diferença é apenas o uso de /ipv6 firewall filter e endereços IPv6 /128 para hosts, sempre tenha firewall IPv6 para as suas aplicações também.&lt;br /&gt;
&lt;br /&gt;
=== 4.1 Conexões estabelecidas ===&lt;br /&gt;
&lt;br /&gt;
Estas regras devem ficar no início do firewall IPv6, garantindo o funcionamento correto das conexões já existentes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward connection-state=established,related&lt;br /&gt;
action=accept comment=&amp;quot;CONEXOES ESTABELECIDAS/RELACIONADAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Manter sessões ativas&lt;br /&gt;
&lt;br /&gt;
Evitar reprocessamento desnecessário&lt;br /&gt;
&lt;br /&gt;
Garantir estabilidade dos serviços IPv6&lt;br /&gt;
&lt;br /&gt;
=== 4.2 Redes Confiáveis (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
Assim como no IPv4, a address-list &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; centraliza origens administrativas também no IPv6.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;forward&amp;lt;/code&amp;gt; e no &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=forward src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=jump chain=input src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
&lt;br /&gt;
Centralizar acessos administrativos&lt;br /&gt;
&lt;br /&gt;
Evitar repetição de regras&lt;br /&gt;
&lt;br /&gt;
Facilitar manutenção do firewall IPv6&lt;br /&gt;
&lt;br /&gt;
⚠️ Evite adicionar prefixos IPv6 muito amplos (/32, /29).&lt;br /&gt;
Sempre que possível, utilize o menor tamanho de prefixo possível ou prefixos bem definidos.&lt;br /&gt;
&lt;br /&gt;
=== 4.3 Regra de INPUT – DMZ IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Estas regras controlam o acesso a endereços IPv6 de gestão publicados no próprio roteador.&lt;br /&gt;
&lt;br /&gt;
Somente origens presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; conseguem acessar serviços administrativos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=input dst-address=2804:8dcc::7/128&lt;br /&gt;
action=jump jump-target=CE-DMZ comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=input dst-address=2804:8dcc:1::1/128&lt;br /&gt;
action=jump jump-target=CE-DMZ comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=CE-DMZ protocol=tcp dst-port=2210,8291&lt;br /&gt;
src-address-list=REDES_CONFIAVEIS action=accept&lt;br /&gt;
&lt;br /&gt;
add chain=CE-DMZ protocol=udp dst-port=2210,8291&lt;br /&gt;
src-address-list=REDES_CONFIAVEIS action=accept&lt;br /&gt;
&lt;br /&gt;
add chain=CE-DMZ action=drop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger o acesso administrativo IPv6&lt;br /&gt;
&lt;br /&gt;
* Restringir por origem confiável&lt;br /&gt;
&lt;br /&gt;
* Bloquear tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 4.4 Aplicação de exemplo – DNS Anycast IPv6 ===&lt;br /&gt;
&lt;br /&gt;
Neste cenário, os servidores DNS IPv6 são protegidos por uma chain dedicada (&amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na address-list &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; podem realizar consultas.&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX:2::4&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;2804:XXXX::5&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ipv6 firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=2804:8dcc:1::4/128&lt;br /&gt;
action=jump jump-target=DNS comment=&amp;quot;GODNS PRIMARIO GERENCIA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=2804:8dcc:1::5/128&lt;br /&gt;
action=jump jump-target=DNS comment=&amp;quot;GODNS SECUNDARIO GERENCIA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=2804:8dcc:2::4/128&lt;br /&gt;
action=jump jump-target=DNS comment=&amp;quot;GODNS PRIMARIO ANYCAST&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=2804:8dcc:2::5/128&lt;br /&gt;
action=jump jump-target=DNS comment=&amp;quot;GODNS SECUNDARIO ANYCAST&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=tcp dst-port=53&lt;br /&gt;
src-address-list=RESOLVE-DNS action=accept&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53&lt;br /&gt;
src-address-list=RESOLVE-DNS action=accept&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Evitar DNS aberto em IPv6&lt;br /&gt;
&lt;br /&gt;
* Controlar resolução por origem&lt;br /&gt;
&lt;br /&gt;
* Prevenir abuso e amplificação&lt;br /&gt;
&lt;br /&gt;
=== 📝 Observação Final (IPv6) ===&lt;br /&gt;
&lt;br /&gt;
O firewall IPv6 não deve ser tratado como opcional. Todo serviço publicado em IPv4 caso tenha IPv6 também necessita de firewall, visto que o IPv6 é possível disponibilizar acesso via ssh, amplificações e etc, IPv6 é o protocolo padrão da internet!&lt;br /&gt;
&lt;br /&gt;
== 5. Conclusão ==&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4018</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4018"/>
		<updated>2026-01-19T18:53:08Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4017</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4017"/>
		<updated>2026-01-19T18:52:19Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall filter&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4016</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4016"/>
		<updated>2026-01-19T18:51:43Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4015</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4015"/>
		<updated>2026-01-19T18:51:03Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4014</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4014"/>
		<updated>2026-01-19T18:50:31Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|semmoldura|alt=|centro]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4013</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4013"/>
		<updated>2026-01-19T18:49:56Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|esquerda|semmoldura]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
=== 3.1 Address list Redes Confiaveis ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4012</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4012"/>
		<updated>2026-01-19T18:49:09Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|esquerda|semmoldura]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4011</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4011"/>
		<updated>2026-01-19T18:48:25Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|esquerda|semmoldura]]&lt;br /&gt;
&lt;br /&gt;
== 3. Regras de Firewall IPv4 ==&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4010</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4010"/>
		<updated>2026-01-19T18:48:07Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. Introdução ==&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
== 2. Conceito do Firewall por CHAIN ==&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|esquerda|semmoldura]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Regras de Firewall IPv4 ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----🔧 Criação da Address-List&lt;br /&gt;
&lt;br /&gt;
'''Exemplo básico'''&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
=== 3.2 Conexões estabelecidas ===&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
'''Objetivo'''&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
=== 3.3 Conexões de redes confiáveis ===&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
=== 3.4 Regra para INPUT ===&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
=== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ===&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
&lt;br /&gt;
=== '''3.6. Aplicação de exemplo (DNS)''' ===&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4009</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4009"/>
		<updated>2026-01-19T18:46:30Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1. Introdução ===&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
=== 2. Conceito do Firewall por CHAIN ===&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|esquerda|semmoldura]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Regras de Firewall IPv4 ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----📌 Conceito&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----🧩 Tipos de endereços recomendados&lt;br /&gt;
&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 🔧 Criação da Address-List ==&lt;br /&gt;
&lt;br /&gt;
=== Exemplo básico ===&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----🔐 Uso com VPN&lt;br /&gt;
&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----⚠️ Impacto no Firewall&lt;br /&gt;
&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----📝 Observação Final&lt;br /&gt;
&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
==== 3.2 Conexões estabelecidas ====&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
==== 3.3 Conexões de redes confiáveis ====&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
==== 3.4 Regra para INPUT ====&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
==== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ====&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
'''3.6. Aplicação de exemplo (DNS)'''&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
----🔐 Regras de Firewall – DNS Anycast&lt;br /&gt;
&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----🛡️ Boas práticas&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----📝 Observação&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4008</id>
		<title>Firewall Servidores Mikrotik</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Firewall_Servidores_Mikrotik&amp;diff=4008"/>
		<updated>2026-01-19T18:45:08Z</updated>

		<summary type="html">&lt;p&gt;Sandino: Criou página com '=== 1. Introdução === O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip f...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1. Introdução ===&lt;br /&gt;
O objetivo desse documento é descrever um padrão de firewall para proteção de servidores (aplicações) em roteadores mikrotik, baseado em /'''ip firewall filter''', adotando um modelo mais simples de gerenciar suas regras. O conceito principal é negar por aplicação, ou seja, cada servidor (aplicação) possui sua própria chain e apenas os serviços necessários são abertos, utilizando um drop para cada aplicação individual.&lt;br /&gt;
&lt;br /&gt;
=== 2. Conceito do Firewall por CHAIN ===&lt;br /&gt;
Por padrão do mikrotik o firewall dele é ACCEPT, ou seja, ele não irá negar o trafego por padrão como normalmente os firewalls no mercado realizam, sendo assim precisamos realizar uma regra de DROP, o mais comum é fazer um DROP GERAL no final, com este tipo de configuração o DROP afeta o ambiente completo, sendo muito comum acabar o DROP ser desabilitado em momento de problema e nunca mais ser habilitado novamente (é raro mas acontece sempre kkkk), assim foi pensado em realizar o firewall por CHAIN, ou seja, cada servidor (aplicação) possui seu firewall independente, ou seja, o que é feito na chain de um servidor não impacta no outro, cada servidor possui seu drop, isolando as regras e deixando mais facil a gerencia com ambiente com bastante aplicações, para isto é utilizado JUMP e CHAIN, basicamente é criado uma CHAIN com nome da aplicação onde tudo que for em destino ao IP da aplicação desejada irá redirecionar para aquela CHAIN onde ela irá liberar as portas necessárias e o restante irá bloquear. &lt;br /&gt;
&lt;br /&gt;
O fluxo do trafego é pensado em aplicações que necessitam estar publicadas para internet ou somente para endereços específicos, então o trafego no geral vem da WAN do mikrotik e assim utilizando /'''ip firewall filter''' irá realizar filtros individuais para cada servidor sendo FORWARD pois o tráfego passa por ele e de INPUT para endereços públicos no próprio roteador, por exemplo endereço de acesso do equipamento.&lt;br /&gt;
[[Arquivo:Topologia-fw-server-mk.png|borda|esquerda|semmoldura]]&lt;br /&gt;
&lt;br /&gt;
=== 3. Regras de Firewall IPv4 ===&lt;br /&gt;
A &amp;lt;code&amp;gt;address-list REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é utilizada para identificar '''redes e endereços IP que possuem permissão administrativa''', como acessos de NOC, VPN, jump server ou redes internas confiáveis.&lt;br /&gt;
&lt;br /&gt;
Todas as regras de gestão e administração do firewall fazem referência a esta lista, evitando a necessidade de repetir IPs diretamente nas regras.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 📌 Conceito ==&lt;br /&gt;
A &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; deve conter '''apenas origens confiáveis''', pois qualquer endereço incluído nela poderá:&lt;br /&gt;
* Acessar serviços administrativos&lt;br /&gt;
* Ignorar regras específicas de servidores&lt;br /&gt;
* Ter prioridade no fluxo do firewall&lt;br /&gt;
⚠️ '''Nunca adicione IPs públicos ou redes desconhecidas''' a esta lista.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 🧩 Tipos de endereços recomendados ==&lt;br /&gt;
Normalmente, a lista pode conter:&lt;br /&gt;
* Redes internas (LAN / DC)&lt;br /&gt;
* Endereços de VPN&lt;br /&gt;
* IPs fixos do NOC&lt;br /&gt;
* Jump servers&lt;br /&gt;
* Hosts de administração&lt;br /&gt;
Exemplos comuns:&lt;br /&gt;
* &amp;lt;code&amp;gt;192.168.0.0/16&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;10.0.0.0/8&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;172.16.0.0/12&amp;lt;/code&amp;gt;&lt;br /&gt;
* IP público fixo do escritório&lt;br /&gt;
* IP de saída da VPN&lt;br /&gt;
* Evite utilizar redes muito amplas, tente deixar o mais restrito possível, evite usar a RFC1918 inteira.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 🔧 Criação da Address-List ==&lt;br /&gt;
&lt;br /&gt;
=== Exemplo básico ===&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=192.168.0.0/16 comment=&amp;quot;Rede interna&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.0.0.0/8 comment=&amp;quot;Rede privada&amp;quot;&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=200.200.200.10 comment=&amp;quot;IP fixo NOC&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 🔐 Uso com VPN ==&lt;br /&gt;
Caso exista VPN, é recomendado adicionar '''apenas a rede da VPN''', e não endereços individuais:&lt;br /&gt;
 &amp;lt;code&amp;gt;/ip firewall address-list&lt;br /&gt;
 add list=REDES_CONFIAVEIS address=10.99.0.0/24 comment=&amp;quot;Rede VPN Administrativa&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
Isso facilita manutenção e crescimento futuro.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 🛡️ Boas práticas ==&lt;br /&gt;
* Utilize '''comentários claros''' em cada entrada&lt;br /&gt;
* Revise periodicamente a lista&lt;br /&gt;
* Remova IPs temporários após uso&lt;br /&gt;
* Evite listas muito amplas sem necessidade&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== ⚠️ Impacto no Firewall ==&lt;br /&gt;
Qualquer tráfego originado de endereços presentes na &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Será aceito diretamente nas regras de forward e no input&lt;br /&gt;
* Terá acesso aos serviços administrativos&lt;br /&gt;
* Não passará pelas regras específicas de servidores&lt;br /&gt;
Por isso, esta lista deve ser tratada como '''zona de alta confiança'''.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 📝 Observação Final ==&lt;br /&gt;
A correta definição da &amp;lt;code&amp;gt;REDES_CONFIAVEIS&amp;lt;/code&amp;gt; é fundamental para a segurança do ambiente.&lt;br /&gt;
&lt;br /&gt;
Um erro nesta lista pode resultar em '''exposição administrativa indevida'''.&lt;br /&gt;
&lt;br /&gt;
Sempre valide os endereços antes de adicioná-los.&lt;br /&gt;
&lt;br /&gt;
==== 3.2 Conexões estabelecidas ====&lt;br /&gt;
Estas regras devem estar sempre no início do firewall, garantindo o funcionamento correto das sessões já criadas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip firewall filter &lt;br /&gt;
&lt;br /&gt;
 add chain=input connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add chain=forward connection-state=established,related action=accept \&lt;br /&gt;
     comment=&amp;quot;ACEITA CONEXÕES ESTABELECIDAS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Manter conexões ativas&lt;br /&gt;
* Evitar reprocessamento de pacotes&lt;br /&gt;
* Garantir estabilidade dos serviços&lt;br /&gt;
&lt;br /&gt;
==== 3.3 Conexões de redes confiáveis ====&lt;br /&gt;
Este bloco centraliza o tratamento de redes internas, VPNs ou endereços administrativos.&lt;br /&gt;
&lt;br /&gt;
Todo tráfego originado dessas redes é aceito diretamente no &amp;lt;code&amp;gt;'''forward''' e no '''input'''&amp;lt;/code&amp;gt;, sem passar pelas regras específicas de servidores, somente tenha cuidado com o que libera, evite liberar por exemplo seu prefixo completo de IPv4, libere IPs específicos, como /32, a partir do momento que você libera o seu bloco completo seu usuário final, uma maquina comprometida dentro da infraestrutura pode acessar aquela aplicação que muita das vezes pode não ser o necessário. &lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input src-address-list=REDES_CONFIAVEIS \&lt;br /&gt;
     jump-target=REDES_CONFIAVEIS comment=&amp;quot;REDES CONFIAVEIS&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=REDES_CONFIAVEIS&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Facilitar administração&lt;br /&gt;
* Evitar repetição de regras&lt;br /&gt;
* Padronizar acessos de gestão&lt;br /&gt;
&lt;br /&gt;
==== 3.4 Regra para INPUT ====&lt;br /&gt;
Estas regras controlam o acesso ao próprio roteador ou a endereços de gestão publicados.&lt;br /&gt;
&lt;br /&gt;
Somente redes previamente autorizadas podem acessar serviços administrativos, como winbox e ssh. Além de você ter o '''/ip service''' o bloqueio de ips de acesso ao bloquear no service o mikrotik ainda continua respondendo a porta, ele não bloqueia a porta e sim quem pode acessa-la, diferentemente do firewall que o roteador parará de escutar a porta para IPs fora da range liberada.&lt;br /&gt;
&lt;br /&gt;
As redes liberadas para acesso do seu roteador devem estar na address list '''REDES_CONFIAVEIS''', antes de aplicar valide que esteja a rede na sua address list.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=input dst-address=X.X.X.X jump-target=CE-DMZ \&lt;br /&gt;
     comment=&amp;quot;CE-DMZ INPUT&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=tcp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=udp dst-port=22,8291 \&lt;br /&gt;
     src-address-list=REDES_CONFIAVEIS&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=CE-DMZ protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=CE-DMZ&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Proteger serviços administrativos&lt;br /&gt;
* Restringir acesso por origem&lt;br /&gt;
* Impedir tentativas não autorizadas&lt;br /&gt;
&lt;br /&gt;
==== 3.5 Aplicação de exemplo (ZABBIX/GRAFANA) ====&lt;br /&gt;
Regras dedicadas ao servidor Zabbix, permitindo apenas os serviços necessários para acesso e operação.&lt;br /&gt;
&lt;br /&gt;
Qualquer outro tráfego destinado a este servidor é descartado.&lt;br /&gt;
 &amp;lt;code&amp;gt;add action=jump chain=forward dst-address=X.X.X.X jump-target=Zabbix \&lt;br /&gt;
     comment=&amp;quot;ZABBIX SERVER&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=tcp dst-port=80,443,3000&lt;br /&gt;
 &lt;br /&gt;
 add action=accept chain=Zabbix protocol=icmp&lt;br /&gt;
 &lt;br /&gt;
 add action=drop chain=Zabbix&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objetivo ===&lt;br /&gt;
* Limitar exposição do servidor&lt;br /&gt;
* Bloquear portas não utilizadas&lt;br /&gt;
* Manter o controle isolado por aplicação&lt;br /&gt;
* Desta forma somente liberamos a porta 80,443 e 3000 para internet (so libere para internet se realmente precisar acessar externo e não possa acessar via VPN por exemplo), evite o máximo aplicações publicas caso não existe 100% da necessidade, desta forma somente as portas necessárias ficariam abertas, por exemplo o SSH estaria fechado para todos neste caso, exceto para REDES_CONFIAVEIS&lt;br /&gt;
'''3.6. Aplicação de exemplo (DNS)'''&lt;br /&gt;
&lt;br /&gt;
Somente endereços presentes na &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; conseguem consultar o DNS.&lt;br /&gt;
&lt;br /&gt;
Qualquer outra origem é descartada, evitando DNS aberto e abusos.&lt;br /&gt;
&lt;br /&gt;
A lista normalmente contém:&lt;br /&gt;
* Blocos IPv4 públicos dos clientes&lt;br /&gt;
* Rede de CGNAT (&amp;lt;code&amp;gt;100.64.0.0/10&amp;lt;/code&amp;gt;) por padrão tente fazer as requisições para seu servidor de DNS não passar por CGNAT, com exemplo com exceção no PBR.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 🔧 Address-List &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; ==&lt;br /&gt;
/ip firewall address-list&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=100.64.0.0/10 comment=&amp;quot;CGNAT clientes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=187.45.120.0/24 comment=&amp;quot;Cliente ISP A&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add list=RESOLVE-DNS address=200.200.200.0/22 comment=&amp;quot;Meu bloco&amp;quot;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 🔐 Regras de Firewall – DNS Anycast ==&lt;br /&gt;
Os IPs Anycast utilizados são:&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.1&amp;lt;/code&amp;gt; – Primário&lt;br /&gt;
* &amp;lt;code&amp;gt;200.200.200.2&amp;lt;/code&amp;gt; – Secundário&lt;br /&gt;
Todo tráfego destinado a esses IPs é tratado na chain &amp;lt;code&amp;gt;DNS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
/ip firewall filter&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.1 action=jump jump-target=DNS comment=&amp;quot;DNS PRIMARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=forward dst-address=200.200.200.2 action=jump jump-target=DNS comment=&amp;quot;DNS SECUNDARIO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=icmp action=accept comment=&amp;quot;ICMP DNS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS protocol=udp dst-port=53 src-address-list=RESOLVE-DNS action=accept comment=&amp;quot;DNS UDP autorizado&amp;quot;&lt;br /&gt;
&lt;br /&gt;
add chain=DNS action=drop comment=&amp;quot;DROP DNS NAO AUTORIZADO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 🛡️ Boas práticas ==&lt;br /&gt;
* Nunca permitir DNS sem &amp;lt;code&amp;gt;address-list&amp;lt;/code&amp;gt;&lt;br /&gt;
* Separar lista de DNS de listas administrativas&lt;br /&gt;
* Manter comentários claros por cliente&lt;br /&gt;
* Revisar blocos removidos ou inativos&lt;br /&gt;
* Evitar liberar &amp;lt;code&amp;gt;0.0.0.0/0&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 📝 Observação ==&lt;br /&gt;
A &amp;lt;code&amp;gt;RESOLVE-DNS&amp;lt;/code&amp;gt; '''autoriza apenas resolução de nomes''', não acesso administrativo.&lt;br /&gt;
&lt;br /&gt;
Este modelo garante:&lt;br /&gt;
* DNS fechado&lt;br /&gt;
* Controle por cliente&lt;br /&gt;
* Segurança contra abuso e amplificação&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Topologia-fw-server-mk.png&amp;diff=4007</id>
		<title>Arquivo:Topologia-fw-server-mk.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Topologia-fw-server-mk.png&amp;diff=4007"/>
		<updated>2026-01-19T17:48:47Z</updated>

		<summary type="html">&lt;p&gt;Sandino: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exemplo&lt;/div&gt;</summary>
		<author><name>Sandino</name></author>
	</entry>
</feed>