[FUG-BR] Infra Web Services

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Terça Maio 24 13:54:24 BRT 2016


> Discussão bacana mas tenho uma dúvida.
> Este Firewall de outro sabor(Linux, OpenBSD, NetBSD) tem que possuir
> as mesmas regras que o FreeBSD/IPFW ?

Não, exatamente ao contrário. A essência chave aqui é o conceito de Defense in Depth e Layered Security onde um ativo de controle preenche o GAP do outro. Você precisa, no caso dos firewall, distribuir stateless pra proteger contra ataques volumétricos e não elaborados, negação de serviço, anomalias de protocolos, pacotes artificialmente mal formados etc, sem nem pensar em gastar memória, lembrar de states, ou gastar CPU fazendo deep inspection, etc. Depois, em outro Layer, fazer firewall misto, stateless pra tudo que por definição é stateless (ICMP, UDP), stateless pras anomalias TCP (combinação invalida de flags, ataques stealth, etc) e stateful seletivo pros serviços TCP/SCTP mais críticos. Entre um Layer e outro você pode claro ter regras repetidas, especialmente as anti-spoof, controle ingress, policy pra serviços normalmente usados pra amplificação (NTP, DNS, CHARGEN, SNMP, TFTP, …) ja que em outro Layer voce tem outra perspectiva dos perímetros.

Depois, e só depois que os grandes comedores de recurso tiverem sido limpos, você segue com Firewall Statefull e Firewall-NG (DPI, Palo Alto, NTOPNG, etc) pois será um momento onde ataques mais aprimorados terão passado dos controles anteriores, mas em volume menor então pode ser inspecionado com controles mais refinados (e consequentemente mais caros sob o ponto de vista de consumo de recursos computacionais). Você ja estará em uma profundidade distante da borda, então começa caber stateful e afins.

A mesma teoria é pra IDS/IPS, primeiro tratar a detecção (IDS) com Respostas Ativas (bloqueios, triggers disparadas de eventos detectados), mas jamais meter 1 IPS sem que o próprio IPS tenha sido protegido antes, nem colocar um IPS depois do outro em linha fazendo as mesmas coisas. A ideia é sempre o conceito militar onde você não tem como garantir defesa com uma única solução milagrosa, e deve portanto distribuir sua defensa em camadas onde uma preencherá o gap da anterior. Da mesma forma se você nunca consegue ter garantia total de defesa, tenha sempre em mente que de um ponto de controle pro outro, sempre passará alguma coisa nociva, algum ataque. A idéia que algo sempre vai passar portanto se ela é uma certeza, a gente tem sempre que considerar como tratar.

Por isso a terminação deve ser um WAF, ou seja o vetor principal de risco (o usuário autentico ou o agente que esta atacando) não deve nunca chegar na aplicação, na regra do negócio, no “ouro”. O fim-a-fim dele encerra no WAF, a terminação, ou em algo que o valha (proxy de entrada com ha-proxy, varnish, ou algum legado comercial caso exista, F5 BigIP da vida, etc).

--
Patrick Tracanelli

FreeBSD Brasil LTDA.
Tel.: (31) 3516-0800
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd