Você está na página 1de 108

Firewall no MikroTik

73
l2
al
w
re
Fi
D
Ea
Introdução
2

Objetivos do curso

 Ensinar o aluno para que serve e onde aplicar um firewall em


sua rede.

73
l2
 Ensinar as melhores práticas para relacionadas a performance

al
w
e segurança na implementação e manutenção de firewalls

re
com o MikroTik/RouterOS.
Fi
D
Ea

 Esse não é um treinamento básico de MikroTik/RouterOS, é


extremamente recomendado que você faça o treinamento de
“MikroTik básico” e “Revisão de Redes” antes de começar.
Introdução
3

Agenda

Conhecendo
o firewall

73
l2
Tabela

al
Tabela RAW

w
e outros FILTER

re
Fi
D
Ea

Tabela Tabela
MANGLE NAT
Introdução
4
Firewall

 O firewall é normalmente usado como ferramenta de segurança


para prevenir o acesso não autorizado a rede interna e/ou
acesso ao roteador em si, bloquear diversos tipos de ataques e
controlar o fluxo de dados que é destinado, originado ou

73
encaminhado pelo roteador.

l2
al
w
 Além da segurança é no firewall que serão desempenhadas
re
Fi
diversas funções importantes como a classificação e marcação
D
de pacotes para desenvolvimento de regras de QoS.
Ea

 A classificação do tráfego feita no firewall pode ser baseada em


vários classificadores como endereços MAC, endereços IP, tipos
de endereços IP, portas, TOS, tamanho do pacotes, etc...
Introdução
5

Firewall - Opções

73
l2
al
 Filter Rules: Regras para filtro de pacotes.

w
re
 NAT: Onde é feito a tradução de endereços e portas.

 Fi
Mangle: Marcação de pacotes, conexão e roteamento.
D
Ea

 RAW: Usada para saltar a conntrack para um determinado fluxo de dados e até mesmo para ganhar desempenho
na contenção de ataques de DoS e DDoS.

 Service Ports: Onde são localizados os NAT Helpers.

 Connections: Onde são localizadas as conexões existentes.

 Address List: Lista de endereços IPS inseridos de forma dinâmica ou estática e que podem ser utilizadas em várias
partes do firewall.

 Layer 7 Protocols: Filtros de camada 7.


Introdução
6
Estrutura do Firewall
Firewall

Tabela Filter Tabela NAT Tabela Mangle


Canal input

73
Canal input Canal SRCNAT

l2
regras regras
regras

al
regras Canal Output

w
regras

re
regras
Fi
Canal Output Canal DSTNAT
D
regras Canal Forward
regras
Ea

regras regras
regras
Canal Prerouting
Canal Forward
regras
regras
Canal Postrouting
regras
regras
Introdução
7
Fluxo do Firewall V6

73
l2
al
w
re
Fi
D
Ea

http://wiki.mikrotik.com/wiki/Manual:Packet_Flow_v6
Introdução
8
Fluxo do Firewall V6

73
l2
al
w
re
Fi
D
Ea

http://wiki.mikrotik.com/wiki/Manual:Packet_Flow_v6
Introdução
9
Fluxo do Firewall simplificado

Chegada
Firewall
Decisão
Prerouting DSTNAT de Forward Postrouting

73
SRCNAT
roteamento

l2
al
Saída

w
Output

re
Input
Fi
D
Decisão
Ea

de
roteamento

Destinado Originado
Processo local
ao roteador no roteador
Introdução
10
Princípios gerais

73
l2
al
w
re
Fi
D
Ea

O firewall da MikroTik é do tipo “Default Accept”


ou seja, por padrão aceita todos os pacotes.
Podemos mudar essa política através de regras.
Introdução
11
Princípios gerais

As regras de Firewall são sempre processadas


canal por canal, na ordem que são listadas, ou
seja de cima para baixo.

73
l2
al
w
re
Fi
D
Ea
Introdução
12

Processamento das regras


As regras de Firewall funcionam como
“estruturas condicionais simples”.
_________________________________________
Se combina com as condições especificadas
Então executa uma ação.

73
l2
SE <condição> ENTÃO <ação>

al
w
re
Fi
D
Ea
Introdução
13
Processamento das regras
 Se um pacote não atende TODAS as condições de uma regra
ele passa para a regra seguinte. Não havendo mais nenhuma
regra a ser lida por padrão o pacote é aceito.

73
l2
Regra 0 – COMBINA?

al
Regra 1 –SIM
COMBINA?
– Executa a ação especificada e não faz a leitura das regras de baixo.

w
Regra 2 – COMBINA?

re
SIM––Vai
NÃO Executa a ação especificada
para próxima regra e não faz a leitura das regras de baixo.
Fi
SIM – Executa a ação especificada e não faz a leitura das regras de baixo.
NÃO – Vai para próxima regra
D
Ea

NÃO – Pacote aceito


Introdução
14
LAB 1 - Testando o processamento de regras no Firewall

LAB 1

73
l2
al
w
re
Fi
D
Ea

Objetivo
1. Liberar acesso a partir da rede 1 para o 8.8.8.8.
2. Liberar acesso a partir da rede 1 para o 8.8.4.4.
3. Dropar acesso a partir da rede 1 para qualquer outro destino.
4. Alterar a posição da regra de drop e verificar o que acontece.
5. Incluir uma regra de log e analisar o resultado.
Introdução
LAB 1 15
Testando o processamento de regras

Regra n° 0 Regra n° 1 Regra n° 2

73
l2
al
w
re
Fi
D
Ea
Introdução
LAB 1 16

Testes do LAB 1

1. Efetuar os testes de ping a partir do PC1 para:


 8.8.8.8

73
 8.8.4.4

l2
 uol.com.br

al
w
re
2.Analisar os resultados;
Fi
D
Ea

3.Efetuar os eventuais reparos.


Introdução
LAB 1 17
Testando o processamento de regras
Altere a posição da regra de DROP conforme
imagem e faça os teste da página anterior
novamente.

73
l2
al
w
re
Fi
Altere a posição da regra de DROP conforme
D
Ea

imagem e faça os teste da página anterior


novamente.
Introdução
LAB 1 18

Firewall – Princípios gerais


 Quando um pacote atende TODAS as condições
da regra, uma ação é tomada com ele, não
importando as regras que estejam abaixo nesse

73
canal, pois elas não serão processadas.

l2
al
w
re
 Algumas exceções ao critério acima devem ser
Fi
consideradas como as ações de: passthrough, log
D
Ea

e add to address list.

 Um pacote que não se enquadre em qualquer


regra do canal, por padrão será aceito.
Introdução
LAB 1 19

Incluindo a regra de log


1 - Altere a posição da regra de DROP conforme imagem.

73
l2
al
w
2 – Crie uma regra de LOG

re
Fi
D conforme a imagem.
Ea

3 – A partir do PC1 faça um ping


para uol.com e verifique se gerou
alguma mensagem no log.
Introdução
LAB 1 20

Incluindo a regra de log


1 - Altere a posição da regra de LOG conforme imagem.

73
l2
3 – A partir do PC1 faça um ping para uol.com e

al
verifique se gerou mensagens de log conforme a

w
imagem abaixo.

re
Fi
D
Ea
Introdução
LAB 1 21

Conclusão do LAB 1

1. Com esse laboratório conseguimos observar a


importância do posicionamento das regras de firewall.

73
l2
2.Sempre deixe as regras mais específicas acima das

al
w
regras que são menos específicas.

re
Fi
D
Ea
Filters
22

TCP
ICMP

73
l2
UDP

al
w
Firewall - Filters
re
Fi
D
Ea

DNS

DMZ
Rede
local
Filters
23
Firewall – Filter Rules

Firewall
FORWARD

73
l2
INPUT OUTPUT
Internet

al
w
INPUT
PC
re
OUTPUT
Fi
D
FORWARD
Ea

Resumo

INPUT - Trata tráfego que é destinado ao roteador.


OUTPUT - Trata tráfego que é originado no roteador.
FORWARD - Trata tráfego que passa pelo roteador.
Filters
24
Fluxo do Firewall filters simplificado

Firewall
Chegada Forward Saída

73
l2
al
w
Input Output

re
Fi
D
Ea

Processo local
Filters
25
Fluxo do Firewall filters simplificado

Firewall
Decisão
Chegada de Forward Saída

73
roteamento

l2
al
Output

w
Input

re
Fi Decisão
D
de
Ea

roteamento

Destinado Originado
Processo local
ao roteador no roteador
Filters
26
LAB 2 - Testando os canais da tabela filters

LAB 2

73
l2
al
w
re
Fi
D
Ea

Objetivo
1. Apague todas as regras do firewall filters antes de começar esse laboratório.

2. Liberar o ping a partir da rede 1 para o 8.8.8.8.


3. Dropar o ping a partir da rede 1 para o 8.8.4.4.
4. Dropar o ping a partir do roteador para o 8.8.8.8.
5. Liberar o ping a partir do roteador para o 8.8.4.4.
Filters
LAB 2 27

Testando os canais da tabela filters

73
l2
al
w
re
Fi
D
Ea
Filters
LAB 2 28

Testando os canais da tabela filters

73
l2
al
Poderíamos atingir o objetivo

w
re
proposto criando somente duas
Fi regras.
D
Ea
Filters
LAB 2 29

Conclusão do LAB 2

73
1. Com esse simples laboratório conseguimos testar dois

l2
al
canais (forward e output).

w
re
2.Lembrando que:
 Fi
O canal output trata tráfego que é originado no roteador.
D
 O canal forward trata tráfego que passa pelo roteador.
Ea
Filters
30
LAB 3 - Testando os canais da tabela filters

LAB 3

73
l2
al
w
re
Fi
D
Objetivo
Ea

1. Acesse o site www.uol.com a partir do navegador de internet do PC real.


2. Crie uma regra para bloquear o acesso a sites HTTP a partir da rede 3.
3. Tente acessar o site www.uol.com novamente (não pode abrir).
4. Tente acessar o roteador pelo navegador através do endereço 192.168.3.1.
5. Crie uma regra no firewall para bloquear o acesso ao roteador via HTTP.
6. Abra o menu system > packages e verifique se a atualizações disponíveis.
7. Faça um regra de firewall bloqueando o acesso as atualizações.
Filters
LAB 3 31

Conclusão do LAB 3

1. Com esse simples laboratório conseguimos testar od


três canais.

73
l2
al
2.Regras de forward não terão efeito algum em

w
re
pacotes destinados ou originados no roteador.
Fi
D
Ea

3. Lembrando que:
 O canal input trata tráfego que é destinado ao roteador.
 O canal output trata tráfego que é originado no roteador.
 O canal forward trata tráfego que passa pelo roteador.
Filters
32
Ações da tabela filter
Ações nos filtros de firewall:
 accept: Aceita o pacote.
 add to address list: Adiociona o end. de IP para uma lista de endereços.
 drop: Descarta o pacote silenciosamente.

73
 reject: Descarta o pacote e responde com uma mensagem de icmp ou tcp reset.
 frastrack connection: Coloca uma determinada conexão em um “caminho rápido”.

l2
 jump: Faz um pacote ser desviado para outra chain.

al
 log: Gera um log para cada pacote que combinar com a regra.

w
 passthrough: Contabiliza o pacote.

re
 return: Volta o pacote para chain original em casos onde ele foi desviado por uma ação de jump.
 Fi
tarpit: Responde mensagens de SYN sem alocar recursos no roteador.
D
Ea
Filters
33
Resumo de ações da tabela filter
Ações nos filtros de firewall:
 accept: Aceita o pacote.
 drop: Descarta o pacote silenciosamente.

73
 reject: Descarta o pacote e responde com uma mensagem de icmp ou tcp reset.

l2
 log: Gera um log para cada pacote que combinar com a regra.

al
 passthrough: Contabiliza o pacote.

w
re
Fi
D
Ea
Filters
34

Firewall – Organização das regras

73
l2
al
w
 As regras da tabela filter podem ser organizadas e
re
Fi
mostradas da seguinte forma:
D
Ea

all: Mostra todas as regras.


dynamic: Regras criadas dinamicamente por serviços.
forward, input output: Regras referente a cada canal.
static: Regras criadas estaticamente pelos usuários.
Filters
35
Firewall – Address List

73
 A address list contém uma lista de endereços IP

l2
al
que pode ser utilizada em várias partes do firewall.

w
re
 Pode-se adicionar entradas de forma dinâmica
Fi
usando o filtro ou mangle conforme abaixo:
D
Ea

Action:
add dst to address list: Adiciona o IP de destino à lista.
add src to address list: Adiciona o IP de origem à lista.
Address List: Nome da lista de endereços.
Timeout: Por quanto tempo a entrada permanecerá na lista.
Filters
36
Interface list

73
l2
al
w
re
Fi
D
Ea

 Com o uso de interface list podemos agrupar um


conjunto de interfaces e evitar a criação de varias
regras de firewall para atingir um objetivo.
Protegendo seu roteador
37

Protegendo seu roteador

73
l2
al
w
re
Fi Internet
D
Ea

Rede local
Protegendo seu roteador
38
Regras de segurança

Quando falamos de segurança temos que


primeiramente definir como o roteador irá

73
fazer o tratamento de pacotes que não se

l2
al
enquadrem nas regras de firewall.

w
re
Fi
D
 Basicamente deveremos escolher se o firewall
Ea

será default accept ou default drop.


Protegendo seu roteador
39
Default accept
 Defaul accept (Esse é o padrão do RoterOS)
 Aceitar tudo por padrão facilita a administrar a rede no dia a dia,
porém com essa escolha poderemos ativar algum serviço e
esquecer de criar regras de firewall para proteção e com isso

73
este serviço pode ficar vulnerável.

l2
al
 Usando esse padrão você precisa criar regras de firewall para

w
re
bloquear o tráfego indesejado.
Fi
D
Ea
Protegendo seu roteador
40
Default Drop
 Defaul drop
 Dropar tudo por padrão irá dificultar um pouco a ativação de novos
serviços de rede. Após ativar novos serviços eles ficaram exposto
somente se explicitamente for criada uma regra que faça tal liberação.

73
l2
 Usando esse padrão você precisará criar uma regra de drop geral e

al
colocar logo acima as regras de firewall com accept para o tráfego

w
re
desejado.
Fi
D
Ea
Protegendo seu roteador
41
Default accept X Default drop

Default accept Default drop


Facilidade de implementação Facilidade de implementação

73
l2
al
Segurança Segurança

w
re
Fi
D
Algumas regras Default Drop
Ea

Algumas regras default accept Tipos de conexão


Ping flood Rede de suporte

Port scanner Drop geral


Port knocking
Brute force
VPN (PPTP e L2TP)
DNS amplification
Ping flood
Outros ataques de DoS e DDoS
OSPF
BGP
Protegendo seu roteador
42

Default accept
 Implementando regras de firewall usando default accept

Default accept

73
l2
al
Ping flood

w
re
Port scanner
Fi
D
Ea

Brute force

DNS amplification

Outros ataques de DoS e DDoS


Protegendo seu roteador
43
Firewall – Ping flood
 Ping Flood consiste no envio de grandes volumes de mensagens
ICMP aleatórias.

73
 Para evitar o Ping flood, podemos bloquear todo tráfego de

l2
al
ICMP.

w
re
Fi
D
 Ao bloquear todo trafego de ICMP podemos ter problemas com
Ea

algumas aplicações (monitoramento e outros protocolos).

 Por isso é aconselhável colocarmos uma exceção permitindo um


pelo menos 30 mensagens de ICMP por segundo.
Protegendo seu roteador
44

Firewal – Evitando ping flood

73
l2
al
w
re
Fi
D
Ea

Comandos
/ip firewall filter
add chain=input comment="Aceita 30 mensagens ICMP por segundo" limit=30,5 protocol=icmp
add action=drop chain=input comment="Dropa todo ICMP" protocol=icmp
Protegendo seu roteador
45
Firewall – Port Scan

73
l2
al
w
re
Fi
D
Ea

Comandos

/ip firewall filter


add action=accept chain=input comment="Aceita estabelecidas e relacionadas" connection-state=established,related
add action=add-src-to-address-list address-list=atacante-ps address-list-timeout=14w2d chain=input comment="Detecta atacanete para TCP" protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list=atacante-ps address-list-timeout=14w2d chain=input comment="Detecta atacanete para UDP" protocol=udp psd=21,3s,5,1
add action=drop chain=input comment="Dropa atacantes de Port-Scanner" src-address-list=atacante-ps
Protegendo seu roteador
46
Brute force

73
l2
al
w
re
Fi
D
Comandos
Ea

/ip firewall filter


add action=add-src-to-address-list address-list=brute-force-1 address-list-timeout=5m chain=input comment="Adiciona IP de origem na lista brute-force-1" dst-port=65111 \
protocol=tcp
add action=add-src-to-address-list address-list=brute-force-2 address-list-timeout=5m chain=input comment="Adiciona IP de origem na lista brute-force-2" dst-port=65111 \
protocol=tcp src-address-list=brute-force-1
add action=add-src-to-address-list address-list=brute-force-3 address-list-timeout=5m chain=input comment="Adiciona IP de origem na lista brute-force-3" dst-port=65111 \
protocol=tcp src-address-list=brute-force-2
add action=add-src-to-address-list address-list=brute-force-drop address-list-timeout=1w chain=input comment="Adiciona IP de origem na lista brute-force-drop" dst-port=\
65111 protocol=tcp src-address-list=brute-force-3
add action=drop chain=input comment="Dropa acesso total para IPs que est\E3o na lista brute-force-drop" src-address-list=brute-force-drop
Protegendo seu roteador
47
Ataques de DoS

DoS

73
l2
al
w
Denial of service
re
Fi
D
Ea

Negação de serviço
Protegendo seu roteador
48
Funcionamento comum DNS

SCR DST
1.1.1.1 2.2.2.2

73
l2
Servidor

al
Qual é o endereço de IP do site de DNS

w
redesbrasil.com ? 2.2.2.2

re
Fi
D
Ea

PC O endereço de IP do site
1.1.1.1 redesbrasil.com é 200.1.2.3 .

DST SCR
1.1.1.1 2.2.2.2
Protegendo seu roteador
49
Ataque de DNS

IP spoffing = Falsificação de IP

73
l2
SCR DST
SCR DST Servidor 2.2.2.2 3.3.3.3
3.3.3.3 2.2.2.2

al
de DNS

w
2.2.2.2

re
Fi
D
1Mbps 1Mbps 1Mbps 30Mbps 30Mbps 30Mbps
Ea

Vítima
Atacante 3.3.3.3
1.1.1.1
Protegendo seu roteador
50
Firewal – Ataques do tipo DoS

 Ataques DoS:

 O principal objetivo do ataque de DoS é o consumo de recursos

73
de CPU Mémoria ou banda.

l2
al
 Usualmente o roteador é inundado com requisições de

w
re
conexões TCP/SYN causando resposta de TCP/SYN-ACK e a
espera do pacote TCP/ACK. Fi
D
Ea

 O ataque pode ser intencional ou causado por vírus


em clientes.

 Todos os IP’s com mais de 15 conexões com o roteador


podem ser considerados atacantes.
Protegendo seu roteador
51

Entendendo uma conexão TCP

73
RAM

l2
al
w
re
Fi
Roteador
PC
(alvo)
D
Ea
Protegendo seu roteador
52

Firewal – Ataques do tipo DoS

73
RAM

l2
al
w
re
Fi
Roteador
Atacante
(alvo)
D
Ea
Protegendo seu roteador
53

Firewal – Ataques do tipo DoS

Se simplesmente descartamos as conexões,


permitiremos que o atacante crie uma nova conexão.

73
l2
Para que isso não ocorra, podemos implementar a

al
w
proteção em dois estágios:

re
Fi
D
Ea

Detecção – Criar uma lista de atacantes DoS com base em


“connection limit”.

Supressão – Aplicando restrições aos que forem detectados.


Protegendo seu roteador
54
Firewal – Detectando um ataque DoS

 Criar a lista de atacantes


para posteriormente
aplicarmos a supressão
adequada.

73
l2
al
w
re
Fi
D
Ea
Protegendo seu roteador
55

Firewal – Suprimindo um ataque DoS


 Com a ação “tarpit”
aceitamos a conexão e a
fechamos, não deixando no
entanto o atacante trafegar.

73
l2
 Ação tarpit: Responde com

al
w
SYN/ACK ao pacote TCP SYN

re
entrante, mas não aloca
recursos. Fi
D
Ea

 Essa regra deve ser colocada


antes da regra de detecção
ou então a address list irá
reescrevê-la todo tempo.
Protegendo seu roteador
56
Firewal – DDoS
Ataque de DDoS são bastante parecidos com os de
DoS,porém partem de um grande número de hosts
infectados.

73
l2
al
w
re
Fi
D
Ea

A única medida que podemos


tomar é habilitar a opção TCP
SynCookie no Connection
Tracking do firewall.
Protegendo seu roteador
57

Default drop
 Implementando regras de firewall usando default drop

Default Drop

73
Tipos de conexão

l2
al
Drop geral

w
re
Rede de suporte
Fi
D
Port knocking
Ea

VPN (PPTP e L2TP)

Ping flood

OSPF

BGP
Protegendo seu roteador
58
Proteção básica

73
l2
al
w
re
 Regras do canal input Fi
D
Ea

 Descarta conexões inválidas.


 Aceitar conexões estabelecidas e relacionadas
 Aceitar todas conexões da rede de suporte.
 Dropar o restante.
Protegendo seu roteador
59
Estado das conexões

O firewall do MikroTik é capaz de analisar os estados de conexões que


podem ser os seguintes:

73
l2
new: Significa que o pacote está iniciando uma nova conexão ou faz parte de uma

al
conexão que ainda não trafegou pacotes em ambas direções.

w
established: Significa que o pacote faz parte de uma conexão já estabelecida

re
anteriormente.
Fi
related: Significa que o pacote inicia uma nova conexão, porém está associada a uma
D
Ea

conexão existente.
invalid: Significa que o pacote não pertence a nenhuma conexão existente e nem está
iniciando outra.
untracked: Pacotes que foram setados na tabela RAW para fazer um bypass da
connection tracking.
Protegendo seu roteador
60
Port knocking
 A técnica do “Port knocking” consegue implementar um passo a mais para segurança
de seu roteador e até mesmo da sua rede local. TCP / 7788

 O roteador ou sua rede local não ficará com portas de serviço expostas.
TCP / 4455
 Para ter acesso as portas de serviços o usuário deverá saber uma sequencia pré-
determinada de portas chave. Acesso FULL
 Em nosso exemplo iremos usar como portas chave a sequencia de portas TCP 7788 e

73
4455.

l2
al
w
re
Fi
D
Ea

Comandos

/ip firewall filter


add action=add-src-to-address-list address-list=pre-rede-suporte address-list-timeout=3s chain=input comment="Adiciona IP de origem na lista pre-rede-suporte" dst-port=\
7788 protocol=tcp
add action=add-src-to-address-list address-list=rede-suporte address-list-timeout=5h chain=input comment="Adiciona o IP de origem na lista rede-suporte" dst-port=4455 \
protocol=tcp src-address-list=pre-rede-suporte
Protegendo sua rede local
61

Protegendo sua rede local

73
l2
al
w
re
Fi
D
Internet
Ea

Rede local
Protegendo sua rede local
62
Protegendo rede local com IPs públicos

Internet

73
l2
al
w
re
Fi
D
Ea

200.1.1.1 200.1.1.2 200.1.1.2


Protegendo sua rede local
63
Protegendo rede local com IPs públicos

73
l2
al
w
re
Comandos
Fi
D
/ip firewall filter
Ea

add action=accept chain=forward comment="Libera acesso externo para lista liberados-acesso-externo" dst-address-list=liberados-acesso-externo src-address-list=\
!rede-local
add action=drop chain=forward comment="Drop de portas baixas" connection-state=new dst-address-list=rede-local dst-port=0-1024 protocol=tcp src-address-list=\
!rede-local
add action=drop chain=forward comment="Drop de portas baixas" connection-state=new dst-address-list=rede-local dst-port=0-1024 protocol=udp src-address-list=\
!rede-local

/ip firewall address-list


add address=10.8.8.0/24 list=rede-local
add address=10.8.8.100 list=liberados-acesso-externo
Protegendo sua rede local
64
Bogons
 Bogons são prefixos reservados (como 192.168.X.Y) ou são prefixos que não foram disponibilizados para uso público.

 Eles devem ser filtrados pois não alcançáveis publicamente.

 Atualmente não há mais praticamente IPv4 prefixos sem uso, assim a lista de bogons ficou bem curta.

73
l2
al
w
re
Comandos
Fi
D
/ip firewall filter
Ea

add action=drop chain=forward comment="Dropa trafego com destino a BOGONS" dst-address-list=BOGONS


add action=drop chain=forward comment="Dropa trafego com end. de origem de BOGONS" src-address-list=BOGONS
/ip firewall address-list
add address=0.0.0.0/8 list=BOGONS
add address=10.0.0.0/8 comment="Ative se n\E3o estiver usando essa rede na sua rede local" disabled=yes list=BOGONS
add address=100.64.0.0/10 list=BOGONS
add address=127.0.0.0/8 list=BOGONS
add address=169.254.0.0/16 list=BOGONS
add address=172.16.0.0/12 comment="Ative se n\E3o estiver usando essa rede na sua rede local" disabled=yes list=BOGONS
add address=192.0.0.0/24 list=BOGONS
add address=192.0.2.0/24 list=BOGONS
add address=192.168.0.0/16 comment="Ative se n\E3o estiver usando essa rede na sua rede local" disabled=yes list=BOGONS
add address=198.18.0.0/15 list=BOGONS
add address=198.51.100.0/24 list=BOGONS
add address=203.0.113.0/24 list=BOGONS
add address=224.0.0.0/3 list=BOGONS
Protegendo sua rede local
65
Filtro Anti-Spoofing
 Filtros anti-spoofing evitam uma série de ataques que acontecem na
internet.
 É sempre uma boa prática aplicar esse tipo de filtro em seu firewall.
Internet

73
l2
al
w
SRC DST
187.3.4.5 8.8.8.8

re
Fi
D
Ea

200.1.1.1 200.1.1.2 200.1.1.3

Comandos
/ip firewall filter
add action=drop chain=forward comment="Filtro anti-spoofing" dst-address-list=!rede-local src-address-list=!rede-local

/ip firewall address-list


add address=10.1.1.0/24 list=rede-local
add address=10.2.2.0/24 list=rede-local
add address=10.3.3.0/24 list=rede-local
Protegendo sua rede local
66
Forward com default drop

Lembre-se que se os host de sua


rede fazem consulta de DNS

73
externamente, deverá ser feita a
liberação de DNS no canal forward.

l2
al
w
re
Fi
D
Ea

Comandos
/ip firewall filter
add action=drop chain=input comment="Drop geral"
add action=accept chain=forward comment="Aceita HTTP e HTTPS" dst-port=80,443 protocol=tcp src-address-list=rede-local
add action=accept chain=forward comment="Aceita conexoes estabelecidas e relacionadas" connection-state=established,related
add action=accept chain=forward comment="Aceita ICMP" protocol=icmp src-address-list=rede-local
add action=drop chain=forward comment="Drop geral"

/ip firewall address-list


add address=10.1.1.0/24 list=rede-local
add address=10.2.2.0/24 list=rede-local
add address=10.3.3.0/24 list=rede-local
Protegendo sua rede local
67
Jump
ICMP
Regra
Regra
Regra Regra
Regra

73
Regra Regra

l2
Regra

al
Jump canal ICMP

w
re
Regra
Fi
D
block sites
Ea

Regra
Regra
Regra
Jump canal block sites Regra
Regra
Regra Regra
Regra
Regra
Protegendo sua rede local
68
Aceitando pacotes ICMP conhecidos

Comandos no canal forward


/ip firewall filter
add action=accept chain=forward comment="echo reply" icmp-options=0:0 limit=5,10:packet protocol=icmp
add action=accept chain=forward comment="net unreachable" icmp-options=3:0 protocol=icmp
add action=accept chain=forward comment="host unreachable" icmp-options=3:1 protocol=icmp

73
add action=accept chain=forward comment="protocol unreachable" icmp-options=3:2 protocol=icmp
add action=accept chain=forward comment="port unreachable" icmp-options=3:3 protocol=icmp

l2
add action=accept chain=forward comment="fragmentation needed" icmp-options=3:4 protocol=icmp
add action=accept chain=forward comment="echo" icmp-options=8:0 limit=5,10:packet protocol=icmp

al
add action=accept chain=forward comment="time exceeded " icmp-options=11:0-255 protocol=icmp
add action=drop chain=forward comment="Drop outros pacotes de ICMP" protocol=icmp

w
re
Fi
D
Ea

Comandos usando o jump

/ip firewall filter


add action=accept chain=icmp comment="echo reply" icmp-options=0:0 limit=5,10:packet protocol=icmp
add action=accept chain=icmp comment="net unreachable" icmp-options=3:0 protocol=icmp
add action=accept chain=icmp comment="host unreachable" icmp-options=3:1 protocol=icmp
add action=accept chain=icmp comment="protocol unreachable" icmp-options=3:2 protocol=icmp
add action=accept chain=icmp comment="port unreachable" icmp-options=3:3 protocol=icmp
add action=accept chain=icmp comment="fragmentation needed" icmp-options=3:4 protocol=icmp
add action=accept chain=icmp comment="echo" icmp-options=8:0 limit=5,10:packet protocol=icmp
add action=accept chain=icmp comment="time exceeded " icmp-options=11:0-255 protocol=icmp
add action=drop chain=icmp comment="Drop outros pacotes de ICMP" protocol=icmp
Protegendo sua rede local
69
Bloqueando sites pelo firewall

73
l2
al
w
re
Fi
D
Ea

Comandos
/ip firewall filter
add action=jump chain=forward dst-address-list=!rede-local jump-target=sites-bloquados src-address-list=rede-local
add action=drop chain=sites-bloquados comment="Bloqueia Youtube" content=youtube.com/
add action=drop chain=sites-bloquados comment="Bloqueia Facebook" content=facebook.com
NAT
70
Firewall - NAT

Tradução de endereços e portas

73
l2
al
w
re
Fi
D
Ea
NAT
71
Entendo os canais do NAT
 NAT – Network Address Translation é uma técnica que permite que vários hosts em uma LAN usem um
conjunto de endereços IP’s para comunicação interna e outro para comunicação externa.

 Existem dois tipos de NAT :

 SRC NAT: O roteador faz alterações de IP ou porta de origem.

73
l2
SRC DST SRC DST

al
Regra

w
Port Port
SYN Nova porta Port

re
SRC-NAT
Address (IP) Address (IP)
Fi Novo IP Address (IP)
D
Ea

 DST NAT: O roteador faz alterações de IP ou porta de destino.

SRC DST SRC DST


Regra
Port Port
SYN Port Nova porta
DST-NAT
Address (IP) Address (IP) Address (IP) Novo IP
NAT
72
Localização DST-NAT e SRC-NAT

Firewall
Decisão

73
Chegada DSTNAT de Forward SRCNAT Saída
roteamento

l2
al
Output

w
re
Input
Fi
D
Ea

Decisão
de
roteamento

Processo local
NAT
73
Oque cada canal do NAT processa

As regras de NAT são organizadas em canais:

73
dstnat: Processa o tráfego enviado PARA o

l2
al
roteador e ATRAVÉS do roteador, antes que ele

w
re
seja dividido em INPUT e/ou FORWARD.
Fi
D
Ea

srcnat: Processa o tráfego enviado A PARTIR do


roteador e ATRAVÉS do roteador, depois que ele
sai de OUTPUT e/ou FORWARD.
NAT
74
SRC-NAT

73
l2
SCR DST SCR DST
192.168.1.254 8.8.8.8 192.168.1.254 8.8.8.8

al
SEM NAT

w
re
Fi
WAN
187.32.81.27
8.8.8.8
D
Ea

PC
192.168.1.254/24

DST SCR
192.168.1.254 8.8.8.8
NAT
75
SRC-NAT

73
l2
SCR DST SCR DST
192.168.1.254 8.8.8.8 187.32.81.27 8.8.8.8

al
w
SRC NAT

re
Fi
WAN
187.32.81.27
8.8.8.8
D
Ea

PC
192.168.1.254/24

DST SCR DST SCR


192.168.1.254 8.8.8.8 187.32.81.27 8.8.8.8
NAT
76
Localização da Connection Tracking

Firewall
Chegada

73
Decisão
Conntrack

l2
DSTNAT de Forward SRCNAT Saída
roteamento

al
w
Output

re
Fi
Input
D
Conntrack
Ea

Decisão
de
roteamento

Processo local
NAT
77
Connection Track
 Refere-se a habilidade do roteador em manter o estado da
informação relativa as conexões, tais como endereços IP de origem
e destino, as respectivas portas, estado da conexão, tipo de
protocolos e timeouts. Firewalls que fazem connection track são
chamados de “statefull” e são mais seguros que os que fazem

73
processamentos “stateless”.

l2
al
w
re
Fi
D
Ea
NAT
78
Connection Track
 O sistema de connection tracking é o coração do
firewall. Ele obtém e mantém informações sobre todas
conexões ativas.

73
l2
 Quando se desabilita a função “connection tracking” são

al
w
perdidas as funcionalidades NAT e as marcações de

re
pacotes que dependam de conexão. No entanto,
Fi
pacotes podem ser marcados de forma direta.
D
Ea

 Connection track é exigente de recursos de hardware.


Quando o equipamento trabalha somente como bridge
é aconselhável desabilitá-la.
NAT
79
Ações mais utilizadas no SRC-NAT

Masquerade: Altera o endereço de IP de


origem usando o IP da interface de saída.

73
SRC-NAT: Altera o endereço de IP e/ou porta

l2
al
de origem por um IP e/ou porta de sua

w
re
escolha. Fi
D
Ea

NETMAP: Faz mapeamento de endereços, ação


geralmente utilizada para mapear IPs privados
em IPs públicos.
NAT
80
Usando a ação masquerade
 Source NAT: A ação “Masquerade” troca o endereço IP
de origem de uma determinada rede pelo endereço IP
da interface de saída. Portanto se temos, por exemplo,
a interface ether5 com endereço IP 185.185.185.185 e
uma rede local 192.168.0.0/16 por trás da ether1,

73
l2
podemos fazer o seguinte:

al
w
re
Fi
D
Ea

 Desta forma, todos os endereços IPs da rede local


vão obter acesso a internet utilizando o endereço
IP 185.185.185.185
NAT
81
Usando a ação src-nat

Internet

 Forçando mascaramento

73
200.1.1.2/29

ser feito por um endereço 200.1.1.1/29

l2
al
de IP de sua escolha.

w
re
Fi
D
Ea

10.1.1.1 10.1.1.2 10.1.1.3

Comandos
/ip firewall nat
add action=src-nat chain=srcnat comment="For\E7ando mascaramento da rede local para o end. 200.1.1.2" dst-address-list=!rede-local dst-address-type=!multicast \
src-address-list=rede-local to-addresses=200.1.1.2
NAT
82
Usando a ação src-nat

Internet

10.1.1.0/24 => 200.1.1.2/29

Forçado um IP público

73
10.2.2.0/24 => 200.1.1.1/29

l2
para cada sub-rede

al
w
re
Fi
Rede 1 Rede 2
D
Ea

10.1.1.1 10.1.1.2 10.2.2.1 10.2.2.2

Comandos
/ip firewall nat
add action=src-nat chain=srcnat comment="For\E7ando mascaramento da rede local 10.1.1.0/24 para o end. 200.1.1.1" dst-address-list=!rede-local dst-address-type=\
!multicast src-address=10.1.1.0/24 to-addresses=200.1.1.1
add action=src-nat chain=srcnat comment="For\E7ando mascaramento da rede local 10.2.2.0/24 para o end. 200.1.1.2" dst-address-list=!rede-local dst-address-type=\
!multicast src-address=10.2.2.0/24 to-addresses=200.1.1.2
NAT
83
Usando a ação net-map

Internet

 NETMAP com sub-redes iguais


10.1.1.0/24 mapeada na rede 200.1.1.0/24

73
200.1.1.0/24

l2
al
w
re
Fi
D 10.1.1.0/24
Ea

10.1.1.1 10.1.1.2 10.1.1.3

Comandos
/ip firewall nat
add action=netmap chain=srcnat comment="Mapeamento de endere\E7os 1:1" dst-address-list=!rede-local dst-address-type=!multicast src-address=10.1.1.0/24 to-addresses=\
200.1.1.0/24
NAT
84
Usando a ação net-map

Internet

 NETMAP com sub-redes iguais


10.1.1.0/24 mapeada na rede 200.1.1.0/29

73
200.1.1.0/29

l2
al
w
re
Fi
D 10.1.1.0/24
Ea

10.1.1.1 10.1.1.2 10.1.1.3

Comandos
/ip firewall nat
add action=netmap chain=srcnat comment="Mapeamento de endere\E7os da rede 10.1.1.0/24 na rede 200.1.1.0/29" dst-address-list=!rede-local dst-address-type=!multicast \
src-address=10.1.1.0/24 to-addresses=200.1.1.0/29
NAT
85
DSTNAT

73
SCR DST

l2
SCR DST
200.1.1.1 187.32.81.27 200.1.1.1 192.168.3.252

al
w
DST NAT

re
WAN
Internet
187.32.81.27
Fi
D
PC
Ea

R1
200.1.1.1/24 192.168.3.1
R2
Rede local 192.168.3.252
NAT
86

Usando a ação dst-nat


 Redirecionando de portas: O NAT nos
possibilita redirecionar portas para permitir
acesso a serviços que rodem na rede interna.

73
Dessa forma podemos dar acesso a serviços de

l2
clientes sem utilização de endereço IP público.

al
w
re
 Redirecionamento para Fi
D
acesso ao servidor
Ea

WEB do cliente
192.168.1.200 pela
porta 80.
NAT
87

Usando a ação dst-nat


 Redirecionando um IP (também conhecido com DMZ).
Internet

73
l2
200.1.1.1

al
w
re
Fi
D
10.1.1.1
Ea

10.1.1.1 10.1.1.2 10.1.1.3

Comandos
/ip firewall nat
add action=dst-nat chain=dstnat comment="Redirecionamento do end. de IP 200.1.1.1 para o 10.1.1.1" dst-address=200.1.1.1 dst-address-type=local to-addresses=10.1.1.1
NAT
88

Usando a ação redirect

Redirecionando:

73
Páginas HTTP para o web-proxy.

l2
al
Requisições de DNS

w
re
ICMP Fi
D
Ea
NAT
89

Debug

Podemos usar o LOG do firewall para debugar

73
redirecionamentos que por ventura não estiverem

l2
funcionando.

al
w
re
Comece por mapear o endereço de origem para criar
Fi
uma regra de LOG para essa origem em específico.
D
Ea
Mangle
90

Firewall - Mangle
Marcações e alterações de pacotes

73
l2
al
w
re
Fi
D
Ea
Mangle
91

Para que serve o Mangle


 O mangle no MikroTik é uma facilidade que permite
efetuar marcações e alterações nos pacotes.

73
 A marcações feitas no mangle são usadas para diversos

l2
al
fins, como por exemplo: QoS, Controle de banda

w
re
avançado, Politica de roteamento avançada,
Fi
Balanceamento de carga e outros.
D
Ea

 Com o mangle também é possível fazer alterações em


alguns campos do cabeçalho IP como o “ToS”,
TTL, etc...
Mangle
92
Canais da tabela Mangle

Chegada
Firewall
Conntrack

73
Decisão
Prerouting

l2
DSTNAT de Forward Postrouting SRCNAT
roteamento

al
w
Output

re
Saída

Fi
Input
D
Conntrack
Ea

Decisão
de
roteamento

Processo local
Mangle
93

Ações mais comuns

 As opções de marcações incluem:


 mark-packet: Marca pacotes, geralmente utilizadas para QoS.
 mark-routing: Marca pacotes para política de roteamento.

73
l2
 mark-connection: Marca conexões para ajudar o firewall em

al
w
algumas tarefas.

re
Fi
D
Ea

Obs.: Cada pacote pode conter os 3 tipos de marcas ao


mesmo tempo. Porém não pode conter 2 marcas do mesmo
tipo.
Mangle
94
Marcações

Para que serve ?

73
Marcas de pacotes Marcas de roteamento

l2
al
w
re
Fi
D
Ea

 QoS  Politicas de roteamento


 Controle de banda avançado  Loadbalance
Mangle
95
Marcações

Para que serve marcas de conexões?

73
l2
al
w
re
Fi
D
Ea

 Evitar que todos os pacotes sejam abertos no firewall


 Economia de uso de recursos da CPU
 Ajudar em algumas póliticas de roteamento
teste
96

Marcas de conexão

Sem marcas de conexão Com marcas de conexão

73
l2
al
w
Conexão HTTP Conexão HTTP

re
Firewall Firewall
Fi
D
Ea

Internet Internet
Mangle
97
Marcas de roteamento
 Desviar porta TCP/80 e TCP/443 para o link GVT

73
l2
al
w
re
Fi
D
Ea
Mangle
98
Marcas de roteamento

 Uma rede para cada link

73
l2
al
w
re
Fi
D
Ea
Mangle
99
Marcas de pacotes
 Limitando a banda para o WhatsApp
 Podemos usar a lista de endereços dos servidores do WhatsApp
que é disponibilizada no link https://www.whatsapp.com/cidr.txt

73
l2
al
w
re
Fi
D
Ea

Comandos
/ip firewall mangle
add action=mark-connection chain=forward comment="Marca conex\F5es para whatsapp" connection-state=new dst-address-list=whatsapp log-prefix="" new-connection-mark=\
conexao-whatsapp passthrough=yes src-address-list=rede-local
add action=mark-packet chain=forward comment="Marca pacotes para whatsapp" connection-mark=conexao-whatsapp log-prefix="" new-packet-mark=pacotes-whatsapp
passthrough=no

/queue simple
add max-limit=256k/256k name="limita banda whatsapp" packet-marks=pacotes-whatsapp target=10.0.0.0/8
Mangle
100
Marcas de pacotes
Classificando serviços para uso nas queues tree

73
l2
al
w
re
Comandos Fi
D
Ea

/ip firewall mangle


add action=mark-connection chain=prerouting comment=DNS connection-state=new dst-port=53 new-connection-mark=conexao--dns passthrough=yes protocol=udp
add action=mark-packet chain=prerouting connection-mark=conexao--dns new-packet-mark=pacotes-dns passthrough=no
add action=mark-connection chain=prerouting comment="HTTP e HTTPS" connection-state=new dst-port=80,443 new-connection-mark=conexao-http passthrough=yes protocol=tcp
add action=mark-packet chain=prerouting connection-mark=conexao-http new-packet-mark=pacotes-http passthrough=no
add action=mark-connection chain=prerouting comment=ICMP connection-state=new new-connection-mark=conexao-icmp passthrough=yes protocol=icmp
add action=mark-packet chain=prerouting connection-mark=conexao-icmp new-packet-mark=pacotes-icmp passthrough=no

/queue tree
add max-limit=256k name=Download-geral parent=bridge-rede-local
add limit-at=100k max-limit=256k name=HTTP packet-mark=pacotes-http parent=Download-geral
add limit-at=100k max-limit=256k name=DNS packet-mark=pacotes-dns parent=Download-geral
add limit-at=56k max-limit=256k name=ICMP packet-mark=pacotes-icmp parent=Download-gera
Mangle
101
Alterações de pacotes

 Além das marcações de que já citamos anteriormente a tabela


Mangle também pode ser usada para fazer alterações alguns
campos do cabeçalho IP.

73
l2
al
 Abaixo segue uma lista dos principais campos que podem ser

w
re
alterados:
 TTL Fi
D
Ea

 TOS/DSCP
 MSS
 Priotity
Raw e outros
102
Tabela RAW
 A tabela RAW pode ser usada para fazer um bypass ou drop de
pacotes antes que os pacotes cheguem até a connection tracking e
com isso consegue reduzir drasticamente a sobrecargas na CPU.

73
l2
 Filtros contra ataque de DoS e ou DDoS devem preferivelmente ser

al
w
aplicados na tabela RAW.

re
Fi
D
Ea

 As ações mais comuns da tabela RAW são:


 Drop: Usada para dropar pacotes antes que ele avance para
processos internos.
 No track: Usada para fazer com que pacotes façam um bypass
da connection tracking.
Mangle
103
Canais da tabela RAW
Chegada

Prerouting RAW Firewall


Conntrack

73
Decisão
Prerouting

l2
DSTNAT de Forward Postrouting SRCNAT
roteamento

al
w
Output

re
Saída

Fi
Input Conntrack
D
Ea

Decisão
de
roteamento

Output RAW

Processo local
Raw e outros
104
Fasttrack
 Com o recurso de Fasttrack ativo os pacotes ir fazer um
bypass dos seguintes recursos.
 firewall
 connection tracking
 simple queues e queue tree with parent=global

73
 ip accounting

l2
 ipsec
 hotspot

al
 universal client

w
 Vrf

re
Fi
D
 Ativando Fasttrack você pode aumentar em até 5x a
Ea

performance do roteador.
 Para mais informações visite http://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack
Comandos
/ip firewall filter
add chain=forward action=fasttrack-connection connection-state=established,related
Raw e outros
105
Fasttrack
Chegada

Firewall
Conntrack

Decisão
Prerouting DSTNAT de Forward Postrouting SRCNAT
roteamento

Output
Saída

73
Input

l2
Conntrack

al
Decisão

w
de
roteamento

re
Fi
Processo local
D
Ea
Raw e outros
106
Layer 7

 Com filtros layer 7 podemos fazer uma analise mais avançada dos pacotes que
passam pelo Firewall.

 Usando filtros layer 7, como o próprio nome sugere o firewall consegue ler

73
dados diretamente da camada de aplicação.

l2
al
 Geralmente usado para para bloqueio de aplicações e sites que que não

w
re
puderam ser detectados com outros métodos.
Fi
D
 O uso desse recurso pode aplicar uma alta sobrecarga no CPU, por isso devemos
Ea

evitar esse tipo de filtro.

 Mais informações e exemplos podem ser encontrados nas URLs abaixo.

http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/L7
http://l7-filter.sourceforge.net/protocols
teste
107
Bloqueados sites com firewall layer 7

Exemplo de como filtrar facebook e youtube


com firewall layer7

73
l2
al
w
re
Comandos Fi
D
Ea

/ip firewall layer7-protocol


add name=sites-bloqueados regexp="^.+(facebook.com|youtube.com).*\$"

/ip firewall filter


add action=drop chain=forward connection-mark=con-sites-bloqueados
add action=drop chain=input connection-mark=con-sites-bloqueados

/ip firewall mangle


add action=mark-connection chain=prerouting connection-state=new dst-port=53 layer7-protocol=sites-bloqueados new-connection-mark=con-sites-bloqueados
passthrough=no \
protocol=udp
Raw e outros
108
NAT Helpers

73
l2
al
w
re
Fi
 Hosts atrás de uma rede “nateada” não possuem conectividade
D
Ea

fim-afim verdadeira. Por isso alguns protocolos podem não


funcionar corretamente neste cenário. Serviços que requerem
iniciação de conexões TCP fora da rede, bem como protocolos
“stateless” como UDP, podem não funcionar. Para resolver este
problema, a implementação de NAT no Mikrotik prevê alguns
“NAT Helpers” que têm a função de auxiliar nesses serviços.