Academia MT - Mtctce - 270619
Academia MT - Mtctce - 270619
Academia MT - Mtctce - 270619
_____________________________________________________________
_____________________________________________________________
Curso
Introdutório
Roteamento
Avançado
OSPF e Túneis
wlan1
Internet
ether2
.1
192.168.XX.0/24
wlan2 wlan1
.1 wlan1
ether2
ether1 .1
.1 ether3 192.168.XX.0/24
wlan1
192.168.255.0/24
172.30.1.0/24 ether2
.1
192.168.XX.0/24
Acesse e Baixe a Apostila
● Objetivos
2. Implementar
1. Segurança
2. Controle de Tráfego
3. Performance
6 Módulos
LAB
LAB
1 Desabilite
O antivírus
O firewall do Windows
As interfaces wireless e virtuais
2 Conecte na ether2
Acessar por MAC
LAB
Remover a Configuração
LAB
/user LAB
______________________________________________________________
______________________________________________________________
1
5 2
3
LAB
/interface list - Usos
/ip service LAB
Ações
• Colocar o router em local seguro
• Desabilitar a porta serial
• Desabilitar LCD
• Protejer o botão de Reset
Comandos
# https://wiki.mikrotik.com/wiki/Manual:RouterBOARD_settings#Protected_bootloader
/system routerboard settings set protectedrouterboot=enabled \
reformat-hold-button=30s
DHCP - Client / Relay / Server
● Conteúdo
1. DHCP communication analysis
2. DHCP Client identification/configuration
3. DHCP Server configuration:
1. DHCP networks
2. DHCP options (build-in and custom)
3. IP Pool
4. Advanced DHCP
Porta: 68 Porta: 67
00:50:00:00:02:00
192.168.1.1
Discovery 50:00:00:01:00:00
1 SRC DST
Offer
Port 68 67
IP 0.0.0.0 255.255.255.255 2 SRC DST
MAC 00:50:00:00:02:00 FF:FF:FF:FF:FF:FF Port 67 68
IP 192.168.1.1 192.168.1.254
Request MAC 50:00:00:01:00:00 00:50:00:00:02:00
3 SRC DST
Acknowledgement
Port 68 67
IP 0.0.0.0 255.255.255.255 4 SRC DST
MAC 00:50:00:00:02:00 FF:FF:FF:FF:FF:FF Port 67 68
IP 192.168.1.1 192.168.1.254
MAC 50:00:00:01:00:00 00:50:00:00:02:00
Conectar na RB do Instrutor
LAB
Wi-Fi
Station
Estudante
AP Bridge
Instrutor
https://wiki.mikrotik.com/wiki/Manual:IP/DHCP_Client#Lease_script_example
(Adiciona automaticamente uma Default Route com a Marca = WAN1 e a
remove quando a concessão expira ou é removida)
DHCP Client Options
https://wiki.mikrotik.com/wiki/Manual:IP/DHCP_Client
Habilitar Acesso Por RoMON
LAB
Identificar a RB
LAB
Fazer Update (Current Stable)
LAB
DHCP Server adicionar na bridge_LAN1 (1-2)
1. Adicionar IP LAB
192.168.XX.1/24
bridge_LAN1
DHCP Server adicionar na bridge_LAN1 (2-2)
2. Adicionar DHCP Server LAB
bridge_LAN1
192.168.XX.0/24
192.168.XX.1
192.168.XX.101-
192.168.XX.199
172.30.1.1
Acesso à Internet
Wi-Fi
Station
Estudante
AP Bridge
Instrutor
Adicione a Regra de NAT
LAB
Teste a navegação!
Faça Backup!
wlan1_WAN
DHCP Server (1-3)
Interface: Só é
permitido 1 servidor
00:50:00:00:02:00
192.168.1.1
50:00:00:01:00:00
3 = Router
1 = Subnet Mask
15 = Domain Name
42 = NTP Servers
Dynamic Host Configuration Protocol (DHCP) and Bootstrap Protocol (BOOTP) Parameters
http://www.iana.org/assignments/bootp-dhcp-parameters
DHCP Server - Lease LAB
On-Alert: executa
script (de log, envio
de e-mail ou outro)
Objetivo
• Enviar e-mail alertando sobre um Rouge DHCP Server
Comandos
192.168.XX.0/24
Internet
ether2
ISP/WISP ether1
ether1 172.30.1.0/24
.1 ether3
DHCP Relay
192.168.255.0/24 192.168.XX.0/24
ether1
ether3
10.2.2.1/24
DHCP Server do DHCP Relay
LAB
1 3
2
DHCP Relay - ether3 (1-3)
LAB
1. Adicionar
2. Adicionar
DHCP Relay - ether3 (2-3)
LAB
3. Adicionar o
DHCP Relay
Ether3_LAN
DHCP Relay - ether3 (3-3)
LAB
Ether1_WAN
DHCP Server - Options (1-3)
192.168.1.1
192.168.1.254
192.168.1.0/24 10.2.2.0/24
DHCP Server - Options (2-3)
121 = Classless Static Route Option
LAB
/ip dhcp-server option add
/ip route add distance=1 dst-address= \
10.2.2.0/24 gateway=192.168.1.254
Sequência
[Máscara de sub-rede (CIDR)] [End. de rede] [Gateway]
Conversão
Decimal Hexadecimal
24 10 2 2 192 168 1 254 18 0A 02 02 C0 A8 01 FE
DHCP Server - Options (3-3)
121 = Classless Static Route Option
Distribuir para 1 PC
1. Configurar a Lease
para Make Static
2. Atribuir a Option
DHCP Server - Options Sets
121 = Classless Static Route Option
LAB
COM CLASSLESS !
yes: só option 121
special classless:
option 3 + option 121
DHCP Server - Options
LAB
Testar a configuração
1. Renovar o IP no PC
2. Verificar a rota
3. Pinga de PC para PC
nos 2 sentidos?
4. Desfazer o LAB
5. Voltar o Backup
https://ip-pro.eu/en/mikrotik_dhcp_option_121_generator
IP > Pool
*
DHCP - Client / Relay / Server
RESUMO e P & R
● Conteúdo
1. DHCP communication analysis
2. DHCP Client identification/configuration
3. DHCP Server configuration:
1. DHCP networks
2. DHCP options (build-in and custom)
3. IP Pool
4. Advanced DHCP
Comandos
/system ntp client
set enabled=yes primary-ntp=2001:12ff::8 secondary-ntp=200.189.40.8
/system clock LAB
Comandos
/system clock
set time-zone-autodetect=no
/system clock manual
set dst-delta=+01:00 dst-end="feb/17/2019 00:00:00" dst-start="nov/04/2018 00:00:00" \
time-zone=-03:00
/ip cloud
LAB
DNS - Client / Server
● Conteúdo
1. Basic configuration
2. Static DNS Entry
DNS - Resolução de Nome
www.mikrotik.com
Host.Sub-Domain.Top-Level-Domain.
http://www.root-servers.org/
DNS Client
LAB
/ip dns
IPv4 e IPv6
• Ping
• Traceroute
• Web Proxy
• Hotspot
DNS Server
/ip dns
LAB
/ip dns
Habilitamos aqui
Entradas Estáticas,
primeira pesquisa
Entradas Dinâmicas,
segunda pesquisa
Tamanho do Cache
(512..10240 KiB)
Limpa o Cache
PTR = Reverso
/ip dns static
DNS Server - Static
LAB
http://aurelio.net/regex/guia/
DNS Server - Redirect
DICA
DNS - Client / Cache
RESUMO - P & R
● Conteúdo
1. Basic configuration
2. Static DNS Entry
Packet Flow (Fluxo de Pacotes)
● Programa
1. Why this diagram is necessary?
● Porque é necessário?
Para sabermos quando, porque e
onde passam os pacotes, e assim
resolver tarefas mais complicadas
como bloqueios, redirecionamentos,
marcações, classificações,
priorizações, políticas e outras
Fluxo de Pacotes v6
https://wiki.mikrotik.com/wiki/Manual:Packet_Flow
Fluxo de Pacotes v6
https://wiki.mikrotik.com/wiki/Manual:Packet_Flow_v6
Fluxo de Pacotes v6
https://wiki.mikrotik.com/wiki/Manual:Packet_Flow_v6
Fluxo de Pacotes Completo
FORWARD
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
Fluxo de Pacotes Completo
FORWARD
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
Diagrama de Fluxo de Pacotes
RESUMO e P & R
● Programa
1. Why this diagram is necessary?
● Programa
1. Connection tracking
2. Filter
1. chains (default/custom)
2. all rule "actions" covered
3. most common rule "conditions" covered
3. NAT
1. chains (default/custom)
2. all rule "actions" covered
3. most common rule "conditions" covered
4. NAT helpers
4. Mangle
1. chains (default/custom)
2. all rule "actions" covered
3. most common rule "conditions" covered
5. Some complicated rule "conditions" covered ("advanced",
"extra" tab)
*
6. uPNP
Firewall
O padrão é Accept
Tabelas (/ip firewall)
/ip firewall filter add action= /ip firewall nat add action=
Estrutura do Firewall Actions
/ip firewall mangle add action= /ip firewall raw add action=
Processamento das Regras (1-2)
É sequencial
all: Todas
dynamic: Dinâmicas
financeiro: Criada
forward: Padrão
input: Padrão
output: Padrão
static: Estáticas
/ip firewall filter
TCP
ICMP
UDP
DNS
DMZ
Rede
local
/ip firewall filter add chain=
/ip firewall filter add chain=
FORWARD
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
/ip firewall filter add chain=
FORWARD
INPUT OUTPUT
OUTPUT INPUT
FORWARD
Protege o Router
INPUT
INPUT
Protege as Redes Locais
FORWARD
FORWARD
/ip firewall filter add action=
*
Adicionar Address List
LAB
Objetivo
• Facilitar a configuração do Firewall
• Adicionar IPs e Redes usadas nos Labs
Comandos
/ip firewall address-list
add address=192.168.30.0/24 list=REDE_LOCAL
add address=192.168.30.254 list=IP-REDE_SUPORTE
add address=8.8.4.4 list=DNS_SERVER
add address=8.8.8.8 list=DNS_SERVER
add address=www.facebook.com list=FACEBOOK
add address=facebook.com list=FACEBOOK
add address=www.facebook.com.br list=FACEBOOK
add address=facebook.com.br list=FACEBOOK
/ip firewall address-list
LAB
IP > Firewall > Filter Rules: (+) Advanced
Default Accept
IP Suporte
Ping Flood
Port Scanner
Brute Force Login
DoS e DDoS
DNS Amplification
Anti-Spoofing
Tráfego Específico *
IP de Suporte
LAB
Objetivo
Comandos
LAB
Objetivo
• Não bloquear todo o tráfego ICMP, pois podemos ter problemas com
outras aplicações
• Limitar a inundação em 30 mensagens ICMPs e dropar o resto
Comandos
LAB
Objetivo
• Detectar varreduras de portas TCP e UDP
• Bloquear o IP atacante vindo pela WAN e LAN por 100 dias
Comandos
/ip firewall filter
add action=drop chain=input comment="Dropa ATACANTE_PS " src-address-list=\
ATACANTE_PS
add action=add-src-to-address-list address-list=ATACANTE_PS address-list-timeout=14w2d \
chain=input comment="Detecta ATACANTE_PS TCP" protocol=tcp \
psd=21,3s,3,1 src-address-list=!DNS_SERVER
add action=add-src-to-address-list address-list=ATACANTE_PS address-list-timeout=14w2d \
chain=input comment="Detecta ATACANTE_PS UDP" protocol=udp \
psd=21,3s,3,1 src-address-list=!DNS_SERVER
Brute Force Login
LAB
Objetivo
• Detectar tentativas de login de Brute Force às portas 22 do SSH e 8291 do
Winbox
• Bloquear o IP atacante
Comandos
/ip firewall filter
add action=drop chain=input comment="Dropa IPs da lista BRUTE_FORCE_SSH+WINBOX" src-address-list=\
BRUTE_FORCE_SSH+WINBOX
add action=add-src-to-address-list address-list=BRUTE_FORCE_SSH+WINBOX address-list-timeout=1w \
chain=input comment="Adiciona IP de origem na lista BRUTE_FORCE_SSH+WINBOX, por 7 dias" \
connection-state=new dst-port=22,8291 protocol=tcp src-address-list=BRUTE_FORCE_SSH+WINBOX_3
add action=add-src-to-address-list address-list=BRUTE_FORCE_SSH+WINBOX_3 address-list-timeout=3m \
chain=input comment="Adiciona IP de origem na lista BRUTE_FORCE_SSH+WINBOX_3, por 3 minutos" \
connection-state=new dst-port=22,8291 protocol=tcp src-address-list=BRUTE_FORCE_SSH+WINBOX_2
add action=add-src-to-address-list address-list=BRUTE_FORCE_SSH+WINBOX_2 address-list-timeout=3m \
chain=input comment="Adiciona IP de origem na lista BRUTE_FORCE_SSH+WINBOX_2, por 3 minutos" \
connection-state=new dst-port=22,8291 protocol=tcp src-address-list=BRUTE_FORCE_SSH+WINBOX_1
add action=add-src-to-address-list address-list=BRUTE_FORCE_SSH+WINBOX_1 address-list-timeout=3m \
chain=input comment="Adiciona IP de origem na lista BRUTE_FORCE_SSH+WINBOX_1, por 3 minutos" \
connection-state=new dst-port=22,8291 protocol=tcp
Conexão TCP - Three-way HandShake
RAM
Ataque DoS - SYN Flood (1-2)
RAM
Ataque DoS - SYN Flood (2-2)
LAB
Objetivo
• 1) Detectar atacante DoS e criar Address List com o IP de origem
• 2) Suprimir atacante com 15 conexões abertas do mesmo IP
• Usar o Tarpit, que responde com SYN-ACK sem alocar recursos do
roteador
Comandos
Objetivo
• Bloquear ataques de DoS aos servidores de DNS (TCP e UDP),
direcionados para o router (input) e para os clientes (forward)
• Obs.: Fator/Poder de Amplificação: DNS 54x, NTP 557x, SSDP(UPnP)
30x, SNMPv2 6x, LDAP/CLDAP 70X
Comandos
/ip firewall filter
add action=drop chain=input comment="Dropa acesso DNS UDP pela WAN" dst-port=53 \
in-interface-list=WAN protocol=udp
add action=drop chain=input comment="Dropa acesso DNS TCP pela WAN" dst-port=53 \
in-interface-list=WAN protocol=tcp
add action=drop chain=forward comment="Dropa acesso DNS UDP pela WAN" dst-port=53 \
in-interface-list=WAN protocol=udp
add action=drop chain=forward comment="Dropa acesso DNS TCP pela WAN" dst-port=53 \
in-interface-list=WAN protocol=tcp
IP Spoofing - Falsificação de IP (DoS)
com Amplificação / Reflexão
Atacante Vítima
1.1.1.1 3.3.3.3
Qual IP do site?
DNS Server O IP do site é ...
Link 1Mbps Link 50Mbps
2.2.2.2
Link 30Mbps
Objetivo
• Filtrar ataques pra Internet à partir da Rede Local
• Obs.: Colocar no primeiro equipamento que o pacote do cliente passa
Comandos
Objetivo
• Bloquear o Facebook e logar
Comandos
Default Drop
Drop Geral
Tratando Conexões
VPNs
Ajustar Regras
Port Knocking
Jump
Drop Geral
LAB
Objetivo
• Bloquear conexões entrantes e passantes vindo da WAN
• Permitir DST-NAT
Comandos
Objetivo
• Aceitar conexões entrantes e passantes Established, Related e Untracked
• Descartar conexões entrantes e passantes Invalid
• Dar mais performance, pois somente o estado das novas (New) conexões
serão analizadas
Comandos
/ip firewall filter
add action=accept chain=input comment="Aceita Established, Related, Untracked - Input" \
connection-state=established,related,untracked
add action=drop chain=input comment="Descarta Invalid" connection-state=invalid
add action=accept chain=forward comment="Aceita Established, Related, Untracked - Forward" \
connection-state=established,related,untracked
add action=drop chain=forward comment="Descarta Invalid" connection-state=invalid
Liberar Portas Baixas e Altas Necessárias
DICA
Objetivo
• Liberar portas para navegação e outros serviços, TCP e UDP
• Baixas = 0-1023 e Altas = 1024-65535
Comandos
DICA
Objetivo
• Liberar portas para VPNs
Comandos
/ip firewall filter
add action=accept chain=input comment=PPTP dst-port=1723 in-interface-list=WAN protocol=tcp
add action=accept chain=input comment=SSTP dst-port=443 in-interface-list=WAN protocol=tcp
add action=accept chain=input comment=PPTP e EoIP dst-port=47 in-interface-list=WAN protocol=udp
add action=accept chain=input comment=OVPN dst-port=1194 in-interface-list=WAN protocol=udp
add action=accept chain=input comment=L2TP dst-port=1701 in-interface-list=WAN protocol=udp
add action=accept chain=input comment=IPsec dst-port=500 in-interface-list=WAN protocol=udp
add action=accept chain=input comment=IPsec dst-port=4500 in-interface-list=WAN protocol=udp
Port Knocking
LAB
Objetivo
• Permitir acesso ao SSH e Winbox, batendo na porta 55555,
depois na porta 11111
• Deixar mais seguro o acesso via WAN e LAN
• Liberar acesso ao SSH e Winbox, por 5 horas e também logar
Comandos
/ip firewall filter
add action=accept chain=input comment="PortKnock - Libera Address List SUPORTE" \
dst-port=22,8291 log-prefix=SUPORTE protocol=tcp src-address-list=SUPORTE
add action=add-src-to-address-list address-list=SUPORTE address-list-timeout=5h \
chain=input comment="PortKnock_2 11111" connection-state=new dst-port=11111 \
protocol=tcp src-address-list=PRE_SUPORTE
add action=add-src-to-address-list address-list=PRE_SUPORTE \
address-list-timeout=30s chain=input comment="PortKnock_1 55555" \
connection-state=new dst-port=55555 protocol=tcp
Jump
ICMP
Regra Regra
Regra
Regra Regra
Regra
Regra
Jump canal ICMP
Regra
Regra
Regra
BlockSites
Jump canal
Regra
BlockSites
Regra
Regra Regra
Regra
Regra Regra
Regra
Jump ICMP DICA
Objetivo
• Permitir algumas mensagens ICMP e dropar outras
• https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml
/ip firewall filter
add action=jump chain=input comment="Jump para a Chain = icmp" jump-target=icmp \
protocol=icmp
add action=accept chain=icmp comment="echo reply, 30 por seg" icmp-options=0:0 limit=\
30,5:packet protocol=icmp
add action=accept chain=icmp comment="echo request, 30 por seg" icmp-options=\
8:0 limit=30,5: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="time exceeded" icmp-options=11:0-255 \
protocol=icmp
add action=drop chain=icmp comment="Dropa outros pacotes de ICMP" protocol=icmp
NAT - Network Address Translation
Tradução de Endereço de Rede
NAT é um método que modifica o cabeçalho (header)
dos pacotes. O primeiro pacote (new) é registrado na
ConnTrack
Há 2 tipos de NAT:
1. Source NAT (src-nat), para WAN
2. Destination NAT (dst-nat), para LAN ou
Router
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
*
src-nat e dst-nat
Stateless Statefull
https://wiki.mikrotik.com/wiki/Manual:IP/Firewall/Connection_tracking *
Fluxo de Pacotes Connections Tracking
FORWARD
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
*
Connections Tracking
NAT *
Firewall
connection-bytes
connection-mark
connection-type
connection-state
connection-limit
connection-rate
layer7-protocol
new-connection-mark *
tarpit
FastTrack (NATeia mais rápido)
É ativado se:
• não configurar Mesh e
Metarouter Interface
• não usar Sniffer, Torch e
Traffic Generator
• não usar /tool mac-scan
• não usar /tool ip-scan
• habilitar Fast Path e Route
Cache em IP/Settings
Comandos
/ip firewall filter
add action=fasttrack-connection chain=forward comment="Marca conexoes pra FastTrack" \
connection-state=established,related
add action=accept chain=forward comment=\
"Aceita conexoes Estabelecidas e Relacionadas" connection-state=established,related
FastTrack (IPv4, TCP, UDP e NAT)
*
https://wiki.mikrotik.com/wiki/Manual:IP/Fasttrack
FastTrack Resumo
Bypass
hotspot universal client
connection tracking
firewall
simple queues
queue tree with parent=global
IP accounting
IPSec
VRF
Não funciona
Controle de Banda
Filtros no Firewall
Cenários
Borda com NAT e sem controles
Borda com NAT e No-Track
Fluxo de Pacotes com FastTrack
FORWARD
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
*
/ip firewall nat add chain=srcnat
Sem NAT
Src: 8.8.8.8
Dst: 192.168.1.2
/ip firewall nat add chain=srcnat
Com
SRC-NAT
masquerade
src-nat
192.168.1.2/24 src-nat
Comandos
/ip firewall nat
add action=src-nat chain=srcnat comment=\
"Mascara a rede 192.168.1.0/24 para o IP 200.1.1.1" dst-address-list=!REDE_LOCAL \
dst-address-type=!multicast src-address=192.168.1.0/24 to-addresses=200.1.1.1
add action=src-nat chain=srcnat comment=\
"Mascara a rede 192.168.2.0/24 para o IP 200.1.1.2" dst-address-list=!REDE_LOCAL \
dst-address-type=!multicast src-address=192.168.2.0/24 to-addresses=200.1.1.2
srcnat - Action: netmap
192.168.1.1/24 netmap
Comandos
192.168.1.1/24 netmap
Comandos
192.168.1.1/24 same
Comandos
192.168.1.1/24
192.168.1.2 177.1.1.1
200.1.1.1
Comandos
/ip firewall nat
add action=dst-nat chain=dstnat comment="Redireciona TUDO do IP 200.1.1.1 para o 192.168.1.2" \
dst-address=200.1.1.1 dst-address-type=local to-addresses=192.168.1.2
Dica: colocar como exceção os serviços do MikroTik, tais como 21, 22, 80, 2000, 8291 ...
/ip firewall nat add chain=dstnat (Port)
192.168.1.1/24
192.168.1.2:80 177.1.1.1:5781
200.1.1.1:80
Comandos
/ip firewall nat
add action=dst-nat chain=dstnat comment="Redireciona Só a Porta 80 (HTTP)" dst-address=\
200.1.1.1 dst-address-type=local dst-port=80 protocol=tcp to-addresses=192.168.1.2 \
to-ports=80 *
/ip firewall nat add chain=dstnat (+log)
Comandos
/ip firewall nat
add action=dst-nat chain=dstnat comment="Loga (debuga) tudo que entra com destino ao IP 200.\
1.1.1, que seja TCP na porta 80 (HTTP)" dst-address=200.1.1.1 dst-port=80 log=yes \
log-prefix="200.1.1.1:80 - " protocol=tcp to-addresses=192.168.1.2 to-ports=80
Objetivo
• Acessar recurso na Rede Local, através do IP público
• https://wiki.mikrotik.com/wiki/Hairpin_NAT
Comandos
1) Pergunte ao vizinho:
1. O IP da interface WAN (172.30.1.ABC)
2. O IP do PC (192.168.XY.?/24)
Filtra ataques
• Flood
• DoS e DDOS
• Anti Spoofing
Cenários
• Grande parte do tráfego usa IPs públicos e pequena parte usa IPs
privados. Ex.: Problema ao cair vários usuários com túneis PPPoE
• Precisa ativar NAT nos roteadores internos para fazer algum tipo de
redirecionamento. Ex: Página de bloqueio
Fluxo de Pacotes Raw
FORWARD
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
Raw - Actions: drop
LAB
Objetivo
• Aceitar 30 pings e dropar o resto
• Bloquear Spoofing da Rede Local
• Consumir pouco a CPU
Comandos
Objetivo
• Não natear a minha Rede Local com IPs Públicos (Ex.: 177.1.1.0/24)
• Economizar processamento da CPU
Comandos
Objetivo
Comandos
/ip firewall raw
add action=accept chain=prerouting comment="Deixa pacotes destinados a execoes
passarem pela conntrack" dst-address-list=passa-pela-contrack
add action=accept chain=prerouting comment="Deixa pacotes originados a execoes
passarem pela conntrack" src-address-list=passa-pela-contrack
add action=notrack chain=prerouting comment="Faz bypass de todo restante"
Portas e Protocolos do ROS
Port / Proto Descrição Port / Proto Descrição
20/tcp FTP data connection 1966/udp MME originator message traffic
21/tcp FTP control connection 1966/tcp MME gateway protocol
22/tcp Secure Shell (SSH) remote Login protocol 2000/tcp Bandwidth test server
23/tcp Telnet protocol
5246,5247/udp CAPsMAN
53/tcp
DNS 5678/udp Mikrotik Neighbor Discovery Protocol
53/udp
67/udp Bootstrap protocol or DHCP Server 6343/tcp Default OpenFlow port
1080/tcp SOCKS proxy protocol /50 Encapsulating Security Payload for IPv4 (ESP)
https://wiki.mikrotik.com/wiki/Manual:IP/Services#Protocols_and_ports
/ip firewall mangle
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
Mangle - Actions
DICA
Objetivo
• Fragmentar pacotes de links de VPN devido à sobrecarga do
encapsulamento (overhead), antes de enviá-lo pelo link
Comandos
1. mark connection
Marca o primeiro pacote (new)
Salva informações na ConnTrack
(solicitação e resposta)
2. mark packet
Todo o fluxo (QoS/Limitar)
3. mark routing
Para políticas de roteamento
estático
**
Mangle - Actions: mark … (1-2)
LAB em
Queue
Tree
Objetivo
• Marcar serviços para fazer QoS na Queue Tree
Comandos
/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-connection chain=prerouting connection-state=new dst-port=80,443 \
new-connection-mark=conexao-http passthrough=yes protocol=udp
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_Total parent=bridge_LAN
add limit-at=100k max-limit=256k name="HTTP e HTTPS" packet-mark=pacotes-http parent=\
Download_Total
add limit-at=100k max-limit=256k name=DNS packet-mark=pacotes-dns parent=\
Download_Total
add limit-at=56k max-limit=256k name=ICMP packet-mark=pacotes-icmp parent=\
Download_Total
Mangle - Actions: mark … (2-2) LAB em
Queue
Tree
Mangle - Advanced: PCC
Ex.:
Objetivo
• Todo pacote que entra por uma Interface WAN, volta pela mesma WAN
• Balancear com PCC, 2 WAN’s, uma com 100M e outra com 35M
• Rotear proporcionalmente para cada WAN
https://conversor-de-medidas.com/matematica/mdc-maximo-divisor-comum/ *
Layer7
• Faz uma analise mais avançada dos pacotes, busca
parâmetros nas streams ICMP, TCP e UDP
http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/L7
http://l7-filter.sourceforge.net/protocols *
Layer7
LAB
Objetivo
• Bloquear Facebook
(Obs.: Quando o usuário estiver logado, o Facebook usará o HTTPS,
assim o L7 não poderá identificar esse tráfego.) *
Comandos
/ip firewall layer7-protocol
add name=facebook regexp="^.+(facebook.com|facebook.com.br).*\$"
/ip upnp
https://wiki.mikrotik.com/wiki/Manual:IP/UPnP *
Firewall - filter / nat / mangle / raw
RESUMO e P & R
● Programa
1. Connection tracking
2. Filter
1. chains (default/custom)
2. all rule "actions" covered
3. most common rule "conditions" covered
3. NAT
1. chains (default/custom)
2. all rule "actions" covered
3. most common rule "conditions" covered
4. NAT helpers
4. Mangle
1. chains (default/custom)
2. all rule "actions" covered
3. most common rule "conditions" covered
5. Some complicated rule "conditions"
covered ("advanced", "extra" tab)
6. uPNP
Web Proxy
● Programa
1. Basic configuration
2. Proxy rule lists
1. Access list
2. Direct Access list
3. Cache list
3. Regular expression
Web Proxy
Web Proxy
Cache On Disk: no HD ou
na RAM?
!
Web Cache - Gerência
Web Cache - Gerência
cache-on-disk: - no yes
cache-path: - - disk1/CACHE
Web Proxy - Arquivo de Erro
LAB
Web Proxy - 3 Filtros HTTP
redirect-to: se action=deny,
pode especificar uma URL
Web Proxy - Access (/ip proxy access)
dst-host: IP ou
nome DNS
path: caminho
dentro do site
wiki.mikrotik.com/wiki/Manual:IP/Proxy
www.mikrotik.com/thedude
Web Proxy - Firewall de Conteúdo
LAB
*
Web Proxy/Cache - Segurança
RESUMO e P & R
● Programa
1. Basic configuration
2. Proxy rule lists
1. Access list
2. Direct Access list
3. Cache list
3. Regular expression
QoS (Quality of Service)
● Programa
1. HTB
1. HTB general information
2. HTB implementation (queue tree)
3. HTB structure
4. HTB Dual Limitation
5. HTB priority
2. Burst
3. Queue types
1. FIFO
2. SFQ
3. RED
4. PCQ
5. queue size
4. Simple queues
5. Simple queue and queue tree interaction
Quality of Service - QoS
A Qualidade de Serviço é a
garantia de largura de banda,
quando temos poucos
recursos ou necessidade de
controle do tráfego
Sem QoS
1. Limitar
2. Garantir
3. Priorizar
https://wiki.mikrotik.com/wiki/Manual:Queue_Size
Rate (Taxa)
https://wiki.mikrotik.com/wiki/Manual:HTB-Token_Bucket_Algorithm
HTB Hierarchical Token Bucket
A estrutura deve:
1. Classificar e marcar tráfego em Mangle
2. Criar queues (simple/tree) pro tráfego marcado
3. Anexar em Parent (interface ou queue)
https://wiki.mikrotik.com/wiki/Manual:HTB
HTB - Estrutura das Queues
3. Só funciona:
• para queue-Filha
• se especificarmos CIR e MIR
HTB 1 - Limit At
https://wiki.mikrotik.com/wiki/Manual:HTB
HTB 1 - Limit At
Queue Disciplines
(qdisc)
Consumo da
CPU: Médio
PRE POST
ROUTING INPUT OUTPUT ROUTING
ROUTING
MANGLE MANGLE
DST-NAT ADJUSTA-
INPUT MENT POSTROUTING
TO IN LOCAL ROUTING
QUEUE TREE
PROCESS TO OUT DECISION INTERFACE HTB
INPUT OUTPUT
INTERFACE INTERFACE
/queue type PFIFO, BFIFO e MQ PFIFO
Todo pacote que não for enfileirado (se a fila estiver cheia) será descartado. Tamanhos
grandes de fila poderão aumentar a latência, mas provê melhor utilização do canal
https://wiki.mikrotik.com/wiki/Manual:Queue#PFIFO.2C_BFIFO_and_MQ_PFIFO
/queue type RED Random Early Detection
https://wiki.mikrotik.com/wiki/Manual:Queue#RED
/queue type SFQ Stochastic Fairness Queuing
https://wiki.mikrotik.com/wiki/Manual:Queue#SFQ
/queue type PCQ Per Connection Queuing
https://wiki.mikrotik.com/wiki/Manual:Queue#PCQ
https://wiki.mikrotik.com/wiki/Manual:Queues_-_PCQ
/queue type PCQ Per Connection Queuing
Limita a banda
Compartilha a banda
/queue simple
1. Download (↓)
2. Upload (↑)
3. Total (Up + Down) (↓ + ↑)
Priority
1 = Maior
Tráfego utilizado 8 = Menor
Verde = 0 - 50%
Amarelo = 51 - 75%
Vermelho = 76 - 100% garantido em uso
(ocorre descartes)
/queue simple add LAB
1. Target: IP do PC
2. Max Limit:
a) Target Upload = 512k
b) Target Download = 1M
3. Faça download da Imagem_ISO do
endereço http://172.30.1.X
4. Observe o tráfego no Torch e na aba Traffic
da Queue
DICA
/ip kid-control
Burst (Rajada)
1. Permite taxas de
dados mais elevadas
que a MIR, durante
um curto período de
tempo
https://wiki.mikrotik.com/wiki/Manual:Queues_-_Burst
https://www.youtube.com/watch?v=pQVs9qs3Qjk
Como funciona o Burst
É dado ao cliente:
. Max Limit = 256 kbps
. Burst Limit = 512 kbps
. Burst Threshold = 192 kbps
. Burst Time = 8 seg
. Limit-At = 128 kbps
https://ip-pro.eu/en/tools/mikrotik_burst_calculator
/queue tree add
1. Não é ordenada
2. Todo o tráfego passa junto
3. Podemos criar uma fila bidirecional na
HTB Global
4. Podemos criar uma fila unidirecional
numa Interface HTB
5. Cada queue-Filha deve ter pacote
marcado em /ip firewall mangle
Mangle - Actions: mark … (1-2) LAB
Objetivo
• Marcar serviços para fazer QoS na Queue Tree
Comandos
/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-connection chain=prerouting connection-state=new dst-port=80,443 \
new-connection-mark=conexao-http passthrough=yes protocol=udp
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=10M name=Download_Total parent=bridge_LAN1
add limit-at=9M max-limit=10M name="HTTP e HTTPS" packet-mark=pacotes-http parent=\
Download_Total
add limit-at=512k max-limit=10M name=DNS packet-mark=pacotes-dns parent=\
Download_Total
add limit-at=512k max-limit=10M name=ICMP packet-mark=pacotes-icmp parent=\
Download_Total
Mangle - Actions: mark … (2-2) LAB
QoS (Quality of Service)
RESUMO e P & R
● Programa
1. HTB
1. HTB general information
2. HTB implementation (queue tree)
3. HTB structure
4. HTB Dual Limitation
5. HTB priority
2. Burst
3. Queue types
1. FIFO
2. SFQ
3. RED
4. PCQ
5. queue size
4. Simple queues
5. Simple queue and queue tree interaction