Tecnologia

Tecnologia, IoT e Telecom

Mascaramento de NAT com Mikrotik de forma segura

Mascaramento de NAT com Mikrotik de forma segura

Conceito Básico: O que é Mascaramento (NAT)?

O mascaramento (masquerade) é uma forma de Source NAT (SNAT) onde o roteador MikroTik pega todos os pacotes originados da sua rede interna (ex: 10.3.3.0/24) e, ao enviá-los para a internet, substitui o IP de origem pelo seu IP público. A resposta da internet volta para o IP público, e o MikroTik é inteligente o suficiente para redirecionar a resposta para o dispositivo interno correto.


Passo 1: Configuração Básica do Mascaramento

Esta é a configuração mínima necessária para que os dispositivos da sua rede interna acessem a internet.

    1. Acesse o MikroTik via WinBox, WebFig ou SSH.
    2. Vá em IP > Firewall e clique na aba NAT.
    3. Clique no sinal de + para adicionar uma nova regra NAT.
    4. Configure a regra da seguinte forma:
      • Chain: srcnat
      • Src. Address: Digite o endereço da sua rede interna. Por exemplo, 10.3.3.0/24. É uma boa prática ser específico aqui, ao invés de deixar "any".
      • Out. Interface: Selecione a interface que está conectada à internet (ex: ether1-wan, pppoe-out1). Usar a interface é mais dinâmico se seu IP público mudar.
      • Action: masquerade
    5. Clique em Comment e adicione uma descrição, como NAT - Mascaramento para Internet.
    6. Clique em Apply e OK.
       
add action=masquerade chain=srcnat out-interface="ether1 - WAN" src-address=
\10.3.3.0/24

Pronto! Seu mascaramento básico está funcionando. No entanto, isso por si só NÃO É SEGURO. Você apenas permitiu que todos os dispositivos internos saiam para a internet, mas não configurou um firewall para bloquear tráfego indesejado de entrada.


Passo 2: Tornando o Mascaramento Seguro (A Parte Mais Importante)

A segurança é implementada principalmente com as regras de filtro na chain forward. Estas regras controlam o tráfego que passa através do roteador (da LAN para a WAN e vice-versa).

O MikroTik possui uma configuração padrão de firewall quando você usa o modo de configuração rápida (/system default-config print). Vamos entender e refinar essas regras, que já são um bom ponto de partida para segurança.

As 3 Regras Essenciais de Firewall na Chain forward:

    1. Regra para Estabelecer Conexões Internas (Allow Established/Related):
      • Esta é a regra de segurança mais crítica. Ela permite que respostas de conexões iniciadas de dentro da sua rede entrem.
      • Chain: forward
      • Connection State: Marque established e related.
      • Action: accept
      • Comment: Aceitar conexões estabelecidas e relacionadas
    2. Regra para Permitir Saída para a Internet (Allow LAN to WAN):
      • Permite que dispositivos da sua LAN iniciem conexões para a internet.
      • Chain: forward
      • Src. Address: 10.3.3.0/24 (sua rede LAN)
      • Out. Interface: Sua interface WAN (ex: ether1-wan)
      • Action: accept
      • Comment: Permitir LAN -> Internet
    3. Regra para Negar Tudo (Drop All):
      • Esta regra deve ser a ÚLTIMA na lista de regras forward. Ela descarta silenciosamente qualquer tráfego que não foi explicitamente permitido pelas regras anteriores. Isso bloqueia qualquer tentativa de acesso não solicitado da internet para sua rede interna.
      • Chain: forward
      • Action: drop
      • Comment: Bloquear todo tráfego não autorizado
       
       
       
/ip firewall filter

add action=accept chain=forward comment=\
   "Aceitar conexoes estabelecidas e relacionadas" connection-state=\
   established,related


add action=accept chain=forward comment="Permitir LAN -> Internet" \
   out-interface="ether1 - WAN" src-address=10.3.3.0/24

add action=drop chain=forward comment=\
   "Bloquear todo trafego nao autorizado"


add action=drop chain=input dst-port=22,23,80,8291 protocol=tcp src-address=\
   !10.3.3.0/24
/ip firewall nat

Ordem das Regras é Fundamental!

A ordem de avaliação das regras é de cima para baixo. Sua lista forward deve estar nesta ordem:

    1. Aceitar conexões estabelecidas e relacionadas (Estado: established, related)
    2. Permitir LAN -> Internet (Da LAN para a WAN)
    3. Bloquear todo tráfego não autorizado (Drop all)

Com essa configuração, o que acontece:

    • Um dispositivo interno (ex: 10.3.3.10) faz uma requisição ao Google.
    • O pacote passa pela regra de mascaramento (srcnat) e vai para a internet.
    • A resposta do Google volta para o MikroTik.
    • Na chain forward, a resposta é identificada como parte de uma conexão established pela primeira regra e é permitida.

Um hacker da internet tenta escanear sua porta 22. Esse pacote não é established nem related e não veio de dentro, então ele é pego pela última regra (drop) e descartado, protegendo sua rede.
 

Passo 3: Boas Práticas Adicionais de Segurança

    1. Firewall na Chain input: Proteja o próprio roteador MikroTik. A chain input controla o tráfego destinado ao roteador (para gerenciá-lo). Restrinja o acesso às portas de administração (winbox 8291, ssh 22, www 80, www-ssl 443) apenas para endereços IP confiáveis da sua rede interna. Exemplo de regra para drop:
      • Chain: input
      • Protocol: tcp
      • Dst. Port: 22, 23, 80, 8291 (SSH, Telnet, WebFig, WinBox)
      • Src. Address: !10.3.3.0/24 (O ! significa NÃO, ou seja, nega se for da LAN)
      • Action: drop
      • Coloque esta regra antes da regra que aceita conexões estabelecidas na chain input.
    2. Desative Serviços Não Usados: Vá em IP > Services e desative (disable) serviços que você não usa, como api, api-ssl, telnet, ftp.
    3. Atualize o RouterOS: Sempre mantenha o sistema operacional do seu MikroTik atualizado para corrigir vulnerabilidades de segurança.
    4. Seja Específico no Src. Address da regra NAT: Se você tem uma VLAN de servidores que não deve ter acesso à internet, não inclua seu IP na regra de mascaramento. Quanto mais específico, melhor.
       

Resumo da Configuração Segura

LocalChainParâmetros ChaveActionComentário
IP > Firewall > NATsrcnatSrc. Address=10.3.3.0/24, Out. Interface=ether1-wanmasqueradeNAT - Mascaramento para Internet
IP > Firewall > FilterforwardConnection State=established,relatedacceptAceitar conexões estabelecidas
IP > Firewall > FilterforwardSrc. Address=10.3.3.0/24, Out. Interface=ether1-wanacceptPermitir LAN -> Internet
IP > Firewall > Filterforward dropBloquear todo tráfego não autorizado