Núcleo de Informação e Coordenação do Ponto BR

Portal de Boas Práticas para a Internet no Brasil

Navegação global

Conteúdo

Filtro antispoofing – exemplo para MikroTik

É necessário que os provedores de acesso à Internet adotem medidas para evitar que seus usuários, intencionalmente ou não, enviem na rede pacotes com origens inválidas (diferentes dos endereços que lhe são atribuídos). Isso é chamado spoofing e muitas vezes é utilizado para ataques de negação de serviço. Apenas um filtro aplicado no próprio provedor de acesso, preferencialmente na interface do roteador conectada diretamente ao usuário, é eficaz.

filtro antispoofing

A configuração ideal consiste em habilitar o uRPF e em se criar um filtro secundário, baseado numa lista de bogons. O MikroTik RouterOS só passou a suportar uRPF a partir da sua versão 6.0rc3, no entanto, apenas em IPv4.

Configuração para IPv4

/ip address
add address=192.0.2.1/30 comment="Endereco da interface do roteador. Precisa trocar" \ interface=ether1 network=192.0.2.0
...
/ip firewall address-list
add address=0.0.0.0/8 list=FILTRO-BOGONS-V4
add address=10.0.0.0/8 list=FILTRO-BOGONS-V4
add address=100.64.0.0/10 list=FILTRO-BOGONS-V4
add address=127.0.0.0/8 list=FILTRO-BOGONS-V4
add address=169.254.0.0/16 list=FILTRO-BOGONS-V4
add address=172.16.0.0/12 list=FILTRO-BOGONS-V4
add address=192.0.0.0/24 list=FILTRO-BOGONS-V4
add address=192.0.2.0/24 list=FILTRO-BOGONS-V4
add address=192.168.0.0/24 list=FILTRO-BOGONS-V4
add address=198.18.0.0/15 list=FILTRO-BOGONS-V4
add address=198.51.100.0/24 list=FILTRO-BOGONS-V4
add address=203.0.113.0/24 list=FILTRO-BOGONS-V4
add address=224.0.0.0/3 list=FILTRO-BOGONS-V4
/ip firewall filter
add action=drop chain=forward comment="Aplicando filtro de enderecos Bogons a interface" \
    in-interface=ether1 src-address-list=FILTRO-BOGONS-V4
/ip settings set rp-filter=strict

Configuração para IPv6


ipv6 address
add address=2001:db8:cafe:faca::1/64 advertise=no \
comment="Endereco da interface do roteador. Precisa trocar" \
interface=ether1
...
/ipv6 firewall address-list
add address=2001:500::/30 list=FILTRO-BOGONS-V6
add address=2001::/32 list=FILTRO-BOGONS-V6
add address=2001::/16 list=FILTRO-BOGONS-V6
add address=2001:678::/29 list=FILTRO-BOGONS-V6
add address=2001:c00::/23 list=FILTRO-BOGONS-V6
add address=2001:13c7:6000::/36 list=FILTRO-BOGONS-V6
add address=2001:13c7:7000::/36 list=FILTRO-BOGONS-V6
add address=2001:43f8::/29 list=FILTRO-BOGONS-V6
add address=2002::/16 list=FILTRO-BOGONS-V6
add address=2003::/16 list=FILTRO-BOGONS-V6
add address=2400::/12 list=FILTRO-BOGONS-V6
add address=2600::/12 list=FILTRO-BOGONS-V6
add address=2610::/23 list=FILTRO-BOGONS-V6
add address=2620::/23 list=FILTRO-BOGONS-V6
add address=2800::/12 list=FILTRO-BOGONS-V6
add address=2a00::/12 list=FILTRO-BOGONS-V6
add address=2801::/24 list=FILTRO-BOGONS-V6
add address=2c00::/12 list=FILTRO-BOGONS-V6
add address=fe80::/64 list=FILTRO-BOGONS-V6
add address=::/128 list=FILTRO-BOGONS-V6
/ipv6 firewall filter
add action=drop chain=forward in-interface=ether1 src-address=2001:db8::/32
add chain=forward in-interface=ether1 src-address-list=FILTRO-BOGONS-V6
add action=drop chain=forward in-interface=ether1

Endereços estáticos

Perceba que a lógica da configuração é habilitar o uRPF e ter também um filtro estático como redundância. Para isso serve a lista de bogons.

Quando o provedor trabalha com endereço fixo (global ou NAT), o filtro redundante pode ser bem mais específico, como no exemplo a seguir:

/ip address
add address=192.0.2.1/30 comment="Endereco da interface do roteador. Precisa trocar" \ interface=ether1 network=192.0.2.0

...

/ip firewall filter
add chain=forward comment="Permite endereco IP alocado ao roteador do client e CPE. Precisa trocar" \
 in-interface=ether1 src-address=192.0.2.2/32
add chain=forward comment="Permite o range de enderecos alocado ao cliente. Precisa trocar" \
 in-interface=ether1 src-address=198.51.100.0/24
add action=drop chain=forward in-interface=ether1
/ip settings set rp-filter=strict

...

/ipv6 address
add address=2001:db8:cafe:faca::1/64 advertise=no \
comment="Endereco da interface do roteador. Precisa trocar" \
interface=ether1

...

/ipv6 firewall filter
add chain=forward comment="Permite endereco IP alocado ao roteador do client e CPE. Precisa trocar" \
 in-interface=ether1 src-address=2001:db8:cafe:faca::2/128
add chain=forward comment="Permite o range de enderecos alocado ao cliente. Precisa trocar" \ 
 in-interface=ether1 src-address=2001:db8:f0ca:ca00::/56
add chain=forward in-interface=ether1 src-address=fe80::/64
add chain=forward in-interface=ether1 src-address=::/128
add action=drop chain=forward comment="Proibe o resto" in-interface=ether1

Referências

http://www.ripe.net/ripe/docs/ripe-431
http://www.team-cymru.org/Services/Bogons/bogon-dd.html
http://www.space.net/~gert/RIPE/ipv6-filters.html

Publicado por: EquipeBCP

A equipe do sítio http://bcp.nic.br é composta por profissionais de diversas áreas do NIC.br, que procuram destacar neste blog boas práticas que devem ser adotadas na Internet no Brasil.

3 responses to “Filtro antispoofing – exemplo para MikroTik”

  1. juniaoblack says:

    Muito bom, só um adendo: A Rede bogon 192.168.0.0 é /16 e não /24. Mas de resto está tudo show!

  2. Recent Blogroll Additions…

    […]usually posts some very interesting stuff like this. If you’re new to this site[…]…

  3. Technology says:

    Dreary Day

    It was a dreary day here today, so I just took to piddeling around on the internet and realized

Leave a Reply