Bridge Mikrotik
March 18th, 2010
Há tempos procuramos uma forma prática para filtro e classificação de pacotes através de bridges em determinados segmentos da rede. Heis que surge a solução, e de peso, utilizando apenas uma Router Board com mikrotik que mais assemelha-se a um pequeno HUB. Com isso, é possível substituir aquelas CPU’S que ocupam espaço e estão sujeitas a mais um grau de complexidade no que diz respeito a falhas e configuração.
-
Especificação do equipamento:
Dimensões – Peso: 12 cm x 09 cm x 28 cm / Peso: 210 g
CPU: Atheros AR7240 300MHz Processador de Rede
Memoria: 32MB DDR SDRAM onboard
Armazenamento: 64MB onboard NAND memory chip
Ethernet: Cinco portas 10/100 (switch) com Auto-MDI/X
Consumo de Energia: 6W consumo medio, máximo 10W
Sistema Operacional: MikroTik RouterOS v3, Level4
Preço: Entre R$ 179,00 a R$ 192,00
O propósito é que o tráfego em determinado segmento da rede ou domínio de colisão entre por uma porta ( a qual enxergará demais portas – Trunk ) e seja passado às demais portas as quais os hosts direcionados estejam conectados. As portas, com excessão da ether1 , não se comunicarão entre si. Além dos filtros para dropagem de alguns vírus e malware, e tráfego broadcast, será impedido tráfego oriundos da porta 67 e protocolo UDP ( servidores que desejam fornecer o DHCPOFFER na rede) a fim de evitar servidores dhcp alheios ofereçam ip a nossos clientes.
Cenário:
. O link a partir do segmento de rede o qual o tráfego será repassado para os demais pontos entrará na ETHER1, assim como tráfego do backbone.
. Clientes internos ou seguimentos que se conectam com o Link entrante ficarão entre a ETHER2 e a ETHER4 .
. Opcionalmente a ETHER5 será utilizada por outro segmento que realiza enlace com algum ponto conectado à RouterBoard, uma antena repetidora que recebe tráfego do link entrante, mas pode ser utilizado como outro cliente das demais portas.
Criando a interface Bridge entre as portas :
/interface bridge
add admin-mac=00:00:00:00:00:00 ageing-time=5m arp=enabled auto-mac=yes comment="" disabled=no forward-delay=15s l2mtu=1524 max-message-age=20s mtu=1500 name=bridge1 priority=\
0x8000 protocol-mode=none transmit-hold-count=6
Adicionando as portas à Bridge
/interface bridge port
add bridge=bridge1 comment="" disabled=no edge=auto external-fdb=auto horizon=none interface=ether1 path-cost=10 point-to-point=auto priority=0x80
add bridge=bridge1 comment="" disabled=no edge=auto external-fdb=auto horizon=none interface=ether5 path-cost=10 point-to-point=auto priority=0x80
add bridge=bridge1 comment="" disabled=no edge=auto external-fdb=auto horizon=none interface=ether4 path-cost=10 point-to-point=auto priority=0x80
add bridge=bridge1 comment="" disabled=no edge=auto external-fdb=auto horizon=none interface=ether3 path-cost=10 point-to-point=auto priority=0x80
add bridge=bridge1 comment="" disabled=no edge=auto external-fdb=auto horizon=none interface=ether2 path-cost=10 point-to-point=auto priority=0x80
.. e permitindo filtros a patir do firewall
/interface bridge settings
set use-ip-firewall=yes use-ip-firewall-for-pppoe=no use-ip-firewall-for-vlan=no
Bloqueando tráfego entre as portas exclusive a ether1, pois essa será nossa trunk
/interface bridge filter
add action=drop chain=forward comment="" disabled=no in-bridge=bridge1 in-interface=!ether1 out-bridge=bridge1 out-interface=!ether1
Adicionando NAT ao ip firewall para tratamento do tráfego da bridge pela camada de aplicação ( Firewall filter convencional do MK ):
/ip firewall nat
add action=accept chain=srcnat comment="" disabled=no out-interface=bridge1
Adicionando filtros para dropar malware’s, dhcp a partir de clientes, forward entre portas, etc …
/ip firewall filter
add action=drop chain=forward comment="BLoqueia DHCP cliente" disabled=no \
in-bridge-port=!ether1 protocol=udp src-port=67
add action=accept chain=forward comment="allow established connections" \
connection-state=established disabled=no
add action=accept chain=forward comment="allow related connections" \
connection-state=related disabled=no
add action=drop chain=forward comment="drop invalid connections" \
connection-state=invalid disabled=no
add action=drop chain=virus comment="Drop virus" disabled=no dst-port=69 \
protocol=udp
add action=drop chain=virus comment="Drop Blaster Worm" disabled=no dst-port=\
135-139 protocol=tcp
add action=drop chain=virus comment="Drop Messenger Worm" disabled=no \
dst-port=135-139 protocol=udp
add action=drop chain=virus comment="Drop Blaster Worm" disabled=no dst-port=\
445 protocol=tcp
add action=drop chain=virus comment="Drop Blaster Worm" disabled=no dst-port=\
445 protocol=udp
add action=drop chain=virus comment=________ disabled=no dst-port=593 \
protocol=tcp
add action=drop chain=virus comment=________ disabled=no dst-port=1024-1030 \
protocol=tcp
add action=drop chain=virus comment="Drop MyDoom" disabled=no dst-port=1080 \
protocol=tcp
add action=drop chain=virus comment=________ disabled=no dst-port=1214 \
protocol=tcp
add action=drop chain=virus comment="ndm requester" disabled=no dst-port=1363 \
protocol=tcp
add action=drop chain=virus comment="ndm server" disabled=no dst-port=1364 \
protocol=tcp
add action=drop chain=virus comment="screen cast" disabled=no dst-port=1368 \
protocol=tcp
add action=drop chain=virus comment=hromgrafx disabled=no dst-port=1373 \
protocol=tcp
add action=drop chain=virus comment=cichlid disabled=no dst-port=1377 \
protocol=tcp
add action=drop chain=virus comment=Worm disabled=no dst-port=1433-1434 \
protocol=tcp
add action=drop chain=virus comment="Bagle Virus" disabled=no dst-port=2745 \
protocol=tcp
add action=drop chain=virus comment="Drop Dumaru.Y" disabled=no dst-port=2283 \
protocol=tcp
add action=drop chain=virus comment="Drop Beagle" disabled=no dst-port=2535 \
protocol=tcp
add action=drop chain=virus comment="Drop Beagle.C-K" disabled=no dst-port=\
2745 protocol=tcp
add action=drop chain=virus comment="Drop MyDoom" disabled=no dst-port=\
3127-3128 protocol=tcp
add action=drop chain=virus comment="Drop Backdoor OptixPro" disabled=no \
dst-port=3410 protocol=tcp
add action=drop chain=virus comment=Worm disabled=no dst-port=4444 protocol=\
tcp
add action=drop chain=virus comment=Worm disabled=no dst-port=4444 protocol=\
udp
add action=drop chain=virus comment="Drop Sasser" disabled=no dst-port=5554 \
protocol=tcp
add action=drop chain=virus comment="Drop Beagle.B" disabled=no dst-port=8866 \
protocol=tcp
add action=drop chain=virus comment="Drop Dabber.A-B" disabled=no dst-port=\
9898 protocol=tcp
add action=drop chain=virus comment="Drop Dumaru.Y" disabled=no dst-port=\
10000 protocol=tcp
add action=drop chain=virus comment="Drop MyDoom.B" disabled=no dst-port=\
10080 protocol=tcp
add action=drop chain=virus comment="Drop NetBus" disabled=no dst-port=12345 \
protocol=tcp
add action=drop chain=virus comment="Drop Kuang2" disabled=no dst-port=17300 \
protocol=tcp
add action=drop chain=virus comment="Drop SubSeven" disabled=no dst-port=\
27374 protocol=tcp
add action=jump chain=forward comment="jump to the virus chain" disabled=no \
jump-target=virus
add action=accept chain=forward comment="Allow HTTP" disabled=no dst-port=80 \
protocol=tcp
add action=accept chain=forward comment="Allow SMTP" disabled=no dst-port=25 \
protocol=tcp
add action=accept chain=forward comment="allow TCP" disabled=no protocol=tcp
add action=accept chain=forward comment="allow ping" disabled=no protocol=\
icmp
add action=accept chain=forward comment="allow udp" disabled=no protocol=udp
add action=drop chain=forward comment="drop everything else" disabled=no
.. Desabilitando o Discovery Neighbor. Não permitir tráfego do protocolo CDP assim bloqueando a descoberta de interfaces mikrotik pela rede
/ip neighbor discovery
set bridge1 discover=no
set ether1 discover=no
set ether2 discover=no
set ether3 discover=no
set ether4 discover=no
set ether5 discover=no
Espero ter ajudado, qualquer dúvida enviem comentários ou diretamente pelo email: algodas@gmail.com
