Boas práticas com Firewall MikroTik por Jorge Fernando Matsudo

32 Slides627.85 KB

Boas práticas com Firewall MikroTik por Jorge Fernando Matsudo Iwano MDBR0010, MTCRE, MTCTCE, MTCUME, MTCINE

Tópicos Introdução Fluxograma NetFilter Criando filtros simples Criando listas de endereços Utilizando chains Introdução a Layer7 Topologias de uso comuns Boas práticas Vantagens e desvantagens

Introdução Conceito Match Ação Hierarquia das regras Analogia com programação if ( protocolo "tcp") { if ( porta 25) { dropa(); } } if ( protocolo "tcp") { if ( porta 80) { aceita(); } }

Introdução - Match Endereço IP ou Range Origem Destino Protocolo TCP, UDP, GRE, ICMP OSPF, etc. Porta HTTP - TCP/80 HTTPS - TCP/443 DNS – UDP/53 Endereço MAC

Introdução - Match Interface Entrada Saída Pacotes com marcados Mark Packet Mark Connection Listas de endereços Camada 7 Analise da aplicação DSCP

Introdução - Action

Introdução - Hierarquia

Introdução Exemplos de protocolos de aplicação Aplicação Protocolo Porta HTTP TCP 80 HTTPS TCP 443 SMTP TCP 25 POP TCP 110 IMAP TCP 143 DNS UDP 53 FTP TCP 21 FTP-DATA TCP 20 SIP UDP 5060 EoIP GRE PPtP TCP / GRE 1723

Introdução Dica para descobrir que protocolo certas aplicações utilizam. Arquivo “services” Linux: “/etc/services” Windows: “C:\Windows\System32\drivers\etc\services” Utilitário “torch” do RouterOS Instalar ferramenta de análise de tráfego no host cliente Consultar documentação da aplicação

Fluxograma NetFilter Tables Filter NAT Mangle Chain Input Output Forward Prerouting Postrouting Target Accept Drop Jump

Fluxograma NetFilter Chains Default

Criando filtros simples Bloqueio de trafego direcionado ao RouterOS /ip firewall filter add chain input \ src-address 192.168.0.10 action drop Bloqueio de trafego partindo do RouterOS /ip firewall filter add chain output \ dst-address 192.168.0.10 action drop Deve-se ter cuidado na criação das regras, para não correr o risco de perder acesso remoto. Ex: /ip firewall filter add chain input action drop

Criando filtros simples Bloqueio de trafego passando pelo RouterOS Básico /ip firewall filter add chain forward \ src-address 192.168.0.10 action drop Mais especifico /ip firewall filter add chain forward \ dst-address 192.168.0.10 in-interface ether1-LAN \ action drop Mais especifico ainda /ip firewall filter add chain forward \ dst-address 192.168.0.10 in-interface ether1-LAN \ out-interface ether2-WAN action drop

Criando listas de endereços Cadastrando IPs /ip firewall address-list add address 192.168.0.10 \ list diretoria /ip firewall address-list add address 192.168.0.11 \ list diretoria Cadastrando Bloco de IPs /ip firewall address-list add address 10.10.0.0/24 \ list redeProvedor /ip firewall address-list add address 10.10.1.0/24 \ list redeProvedor

Criando listas de endereços Utilizando as listas /ip firewall filter add chain "forward" \ src-address-list diretoria action accept /ip firewall filter add chain "forward" \ src-address-list redeProvedor action accept /ip firewall filter add chain “input" \ src-address-list BlackList action drop

Utilizando chains Otimização na estrutura do firewall Evita repetição de regras

Utilizando chains Exemplo: Chain log-and-drop /ip firewall filter add action log chain log-and-drop disabled no /ip firewall filter add action drop chain log-and-drop \ disabled no Chain packTCP /ip firewall filter add action accept chain packTCP connection-state established \ disabled no add action accept chain packTCP connection-state related disabled no add action accept chain packTCP connection-state new disabled no add action drop chain packTCP connection-state invalid disabled no add action jump chain packTCP disabled no jump-target log-and-drop

Introdução a Layer7 Analise do trafego na camada de aplicação Evita que os usuários burlem bloqueios feitos por portas. Exemplos Rodar emule sobre porta 80/tcp Rodar um proxy fora do ambiente restrito na porta 80/tcp Elevação no processamento. Deve-se ser analisado CPU, Trafégo, etc.

Introdução a Layer7 Tabela de eficiência http://l7-filter.sourceforge.net/protocols

Introdução a Layer7 Lista de expressões regulares http://wiki.mikrotik.com/wiki/Basic traffic shaping based on layer-7 protocols

Introdução a Layer7 Cadastrar expressões regulares /ip firewall layer7-protocol add name http \ regexp "http/(0\\.9 1\\.0 1\\.1) [1-5][0-9][0-9] [\t-\ \r - ]*(connection: content-type: content-length: date:) post [\t-\r - ]* \ http/[01]\\.[019]" /ip firewall filter add action accept chain forward disabled no \ layer7-protocol http add action drop chain forward disabled no \ layer7-protocol bittorrent

Topologias de uso comuns RouterOS em modo Bridge (transparente) Filtros QoS Controle de banda

Topologias de uso comuns RouterOS em modo router e NAT Redirecionamentos Mascaramentos Filtros QoS Controle de Banda Concentrador de Tuneis VPN IPSec L2TP Etc.

Boas práticas Serviços do RouterOS Deixar somente os serviços que realmente você utilizar. Podemos até mudar a porta default de um serviço!

Boas práticas Criar uma política de acesso default Bloqueia tudo e libera item a item Libera tudo e bloqueia item a item Criação de Chains que podem ser utilizadas em várias partes do firewall Log and Drop Detect-PortScan PackTCP

Boas práticas Caso de provedores Bloqueio de portas nos concentradores de usuários Windows (135-139, 445) SMTP (25) Vírus/Trojans/Etc. Limite de conexões simultâneas P2P (torrent/emule/etc.) /ip firewall filter add chain forward action drop \ tcp-flags syn protocol tcp connection-limit 100,32 \ disabled no Vírus/Trojans/Etc.

Boas práticas Port Knocking Podemos prevenir ataques do tipo Brute Force /ip firewall filter add action add-src-to-address-list address-list knock-1 \ address-list-timeout 10s chain input disabled no \ dst-port 1234 protocol tcp add action add-src-to-address-list address-list knock-2 \ address-list-timeout 1m chain input disabled no \ dst-port 4321 protocol tcp src-address-list knock-1 add action accept chain input connection-state new \ disabled no dst-port 22 protocol tcp \ src-address-list knock-2 add action accept chain input connection-state established \ disabled no dst-port 22 protocol tcp add action drop chain input disabled no dst-port 22 \ protocol tcp

Boas práticas IP Spoofing A técnica consiste em falsificar IP de origem Como se proteger? Criando filtros (drop) Pacotes da sua com origem LAN entrando pela WAN Pacotes que não são da sua LAN saindo para rede WAN /ip firewall address-list add list meusblocos address 192.168.0.0/24 add list meusblocos address 192.168.1.0/24 /ip firewall filter add action drop chain forward disabled no \ in-interface ether-LAN src-address-list !meusblocos add action drop chain forward disabled no \ in-interface ether-WAN src-address-list meusblocos

Boas práticas Bloqueio de endereços inválidos /ip firewall address-list add add add add add list ips-invalidos list ips-invalidos list ips-invalidos list ips-invalidos list ips-invalidos address 127.0.0.0/8 address 224.0.0.0/3 address 10.0.0.0/8 address 172.16.0.0/12 address 192.168.0.0/16 /ip firewall add action drop chain forward \ disabled no src-address-list ips-invalidos

Vantagens e Desvantagens Pontos positivos SO Embarcado Manipulação das regras de forma visual Facilidade em manutenções Hardwares dedicados (RB) Facilidade de backup e restore “vi firewall.sh; ./firewall.sh; iptables –nvL” ? exemplo-script.txt Ponto negativo Limitado, no que se diz respeito a utilização de outros softwares de rede, ex: utilização de uma ferramenta de IDS.

Wiki MikroTik http://wiki.mikrotik.com Podemos encontrar uma vasta documentação e exemplos.

Obrigado! Jorge Fernando Matsudo Iwano Email: [email protected], [email protected] Telefone: 82 8129-6959 / 7*925461 / 11 78354312 Skype: japaeye4u

Back to top button