/
Segmentação Zero Trust

Compreendendo firewalls com estado versus firewalls sem estado para inspeção de protocolo com estado

Firewalls têm sido um componente fundamental da estratégia de segurança cibernética para empresas por muito tempo. Eles passaram por grandes adições e aprimoramentos de recursos de produtos ao longo dos anos. Uma característica particular que remonta a 1994 é a inspeção de estado.

O que é uma inspeção de estado?

Uma inspeção de estado, também conhecida como filtragem dinâmica de pacotes, ocorre quando um firewall filtra pacotes de dados com base no ESTADO e no CONTEXTO das conexões de rede. Vamos explorar o que “estado” e “contexto” significam para uma conexão de rede.

Estado

Vamos usar o protocolo de rede de comunicação baseado em TCP entre dois terminais como forma de entender o estado da conexão. No TCP, os quatro bits (SYN, ACK, RST, FIN) dos nove bits de controle atribuíveis são usados para controlar o estado da conexão. Os firewalls podem aplicar políticas com base nesse estado de conexão; no entanto, você também precisa considerar qualquer pacote restante, retransmitido ou atrasado para passar por ele após o término da conexão.

Vejamos um exemplo simplista de rastreamento de estado em firewalls:

  1. Quando um aplicativo cliente inicia uma conexão usando um handshake tridirecional, a pilha TCP define o sinalizador SYN para indicar o início da conexão. Esse sinalizador é usado pelo firewall para indicar uma NOVA conexão.
  2. O servidor responde à conexão enviando um SYN + ACK, momento em que o firewall vê pacotes de ambos os lados e promove seu estado de conexão interna para ESTABELECIDO. Embora, do ponto de vista do TCP, a conexão ainda não esteja totalmente estabelecida até que o cliente envie uma resposta com ACK.
  3. Da mesma forma, quando um firewall vê um pacote RST ou FIN+ACK, ele marca o estado da conexão para exclusão e quaisquer pacotes futuros dessa conexão serão descartados.

Pseudo estado

Nem todos os protocolos de rede têm um estado como o TCP. O UDP, por exemplo, é um protocolo muito usado que é de natureza apátrida. Os aplicativos que usam esse protocolo manterão o estado usando a lógica do aplicativo ou poderão funcionar sem ela. Poucos aplicativos populares usando UDP seriam DNS, TFTP, SNMP, RIP, DHCP, etc.

O firewall com estado atual cria um “pseudo-estado” para esses protocolos. Por exemplo, quando um firewall vê um pacote de saída, como uma solicitação de DNS, ele cria uma entrada usando o endereço IP e a porta da origem e do destino. Em seguida, ele usa esses dados de conexão junto com os dados de tempo limite de conexão para permitir que o pacote de entrada, como o DNS, responda.

Contexto

O contexto de uma conexão inclui os metadados associados aos pacotes, como:

  • Endereço IP e porta dos endpoints de origem e destino
  • Hora do último pacote recebido para lidar com conexões ociosas
  • Comprimento do pacote
  • Números e sinalizadores de sequência TCP de camada 4
  • Dados da camada 3 relacionados à fragmentação e remontagem para identificar a sessão do pacote fragmentado, etc.

Inspeção com estado versus inspeção sem estado

A principal diferença entre um firewall com estado e um firewall sem estado é que um firewall com estado analisará o contexto completo do tráfego e dos pacotes de dados, acompanhando constantemente o estado das conexões de rede (portanto, “com estado”). Em vez disso, um firewall sem estado analisará o tráfego e os pacotes de dados sem exigir o contexto completo da conexão.

Agora, vamos examinar mais de perto os firewalls de inspeção com estado versus sem estado.

Firewalls sem estado

Como funciona um firewall sem estado?

Usando a Figura 1, podemos entender o funcionamento interno de um firewall sem estado. Um firewall sem estado aplica a política de segurança aos dados de tráfego de entrada ou saída (1) inspecionando os cabeçalhos do protocolo do pacote. Ele examinará a partir de OSI camadas 2 a 4. Após a inspeção, um firewall sem estado compara essas informações com a tabela de políticas (2). A partir daí, ele decide a ação política (4.a e 4.b): PERMITIR, NEGAR ou REDEFINIR o pacote.

stateless_firewall_policy_decisions

Figura 1: Diagrama de fluxo mostrando decisões políticas para um firewall sem estado

Quais são as vantagens de um firewall sem estado?

  • Menos uso intensivo de recursos: A pesquisa de políticas é executada em dados de pacotes estáticos e na tabela de políticas, portanto, a quantidade de recursos de CPU e memória necessários para fazer a pesquisa é baixa. Isso é eficaz para dispositivos de pesquisa de políticas estáticas, como roteadores e switches, usando recursos como listas de controle de acesso (ACLs).
  • Sem aumento da latência: O processamento adicional adiciona latência de sobrecarga mínima ou, em termos simples, processamento de taxa de linha dos pacotes.

Quais são os contras de um firewall sem estado?

  • Filtragem limitada: Um firewall sem estado baseia sua decisão usando apenas dados de baixa fidelidade do firewall, o que fornece capacidade limitada de filtragem.
  • Configuração da ACL:Configurar e gerenciar as ACLs nesses dispositivos é propenso a erros em pequena escala e quase impossível em grande escala.

Deixe-me explicar os desafios de configurar e gerenciar ACLs em pequena e grande escala. Primeiro, vejamos o caso da implantação em pequena escala.

  • Os firewalls sem estado são de natureza unidirecional porque tomam decisões políticas inspecionando o conteúdo do pacote atual, independentemente do fluxo ao qual os pacotes possam pertencer. Para escrever uma política com precisão, os dois lados da conexão precisam estar na lista branca de um protocolo de comunicação bidirecional como o TCP. Escrever duas regras para policiar uma conexão se torna problemático.
  • Agora, pense em um protocolo como o FTP, em que há dois conjuntos de conexões para cada transação e a conexão de dados pode ter uma porta desconhecida, embora o tempo de conexão seja negociado, não há como um firewall sem estado colocar isso na lista branca. Essa incapacidade de escrever políticas para todos os aplicativos cria uma grande falha na segurança.
  • Outro caso de uso pode ser que um host interno origine a conexão com a Internet externa. Como você cria uma política usando a ACL para permitir todo o tráfego de resposta? Essa ferramenta não foi criada para controles de políticas mais precisos e não é muito útil para um microssegmentação estrutura em que a política é muito refinada e direcional por natureza.

Vamos passar para o problema de grande escala agora.

  • Por um momento, vamos imaginar que você tenha uma varinha mágica para superar todos os problemas descritos no parágrafo anterior. Mesmo nesse caso, os recursos como TCAM (memória ternária endereçável ao conteúdo) no hardware do switch ou roteador são tão limitados que, em grande escala, você não pode escrever uma política para todos os seus aplicativos devido ao esgotamento do espaço do TCAM.
  • Mesmo para uma implementação não baseada em hardware, o número de ACLs cria muitos problemas. Por exemplo, um produto que eu costumava trabalhar no passado levaria trinta ou mais minutos para analisar e criar uma tabela de pesquisa eficiente (Tabela de políticas na Figura 1 acima) em um sistema ACL amplamente configurado. E esse processo seria acionado toda vez que uma única regra fosse adicionada ou excluída. Considere ter tanto tempo de inatividade e impacto em seus negócios essenciais para essas tarefas rotineiras do dia a dia.

Firewalls reflexivos, também conhecidos como ACLs reflexivos

Uma ACL reflexiva, também conhecida como ACL de filtragem de sessão IP, é um mecanismo para colocar o tráfego de retorno na lista branca de forma dinâmica. A maior parte do fluxo de trabalho na decisão de política é semelhante ao firewall sem estado, exceto pelo mecanismo para identificar um novo fluxo de trabalho e adicionar uma entrada de ACL dinâmica automatizada sem estado. Vamos ver a vida útil de um pacote usando o diagrama de fluxo de trabalho abaixo.

reflexive_acl_policy_decisions

Figura 2: Diagrama de fluxo mostrando decisões políticas para uma ACL reflexiva

Quando uma ACL reflexiva detecta uma nova conexão IP de saída (6 na Fig. 2), ela adiciona uma entrada de ACL dinâmica (7) invertendo o endereço IP e a porta de origem e destino. A nova ACL dinâmica permite que o tráfego de retorno seja validado com base nela. Da mesma forma, o firewall reflexivo remove a ACL dinâmica quando detecta pacotes FIN de ambos os lados, um pacote RST ou um eventual tempo limite. Dessa forma, quando a sessão terminar ou for encerrada, quaisquer pacotes falsos futuros serão descartados.

Quais são os benefícios de um firewall reflexivo?

O único benefício de um firewall reflexivo em relação a um firewall sem estado é sua capacidade de colocar automaticamente na lista branca o tráfego de retorno. Isso ajuda a evitar a escrita manual da regra de ACL reversa.

Quais são os contras de um firewall reflexivo?

As ACLs reflexivas ainda estão agindo inteiramente sobre as informações estáticas dentro do pacote. A razão para isso é que, embora elas ofereçam um avanço em relação às ACLs padrão em termos de redação das regras para tráfego reverso, é fácil contornar a ACL reflexiva. O firewall reflexivo sofre das mesmas deficiências do firewall sem estado. Uma forma de testar isso seria fragmentar o pacote para que as informações sobre as quais a ACL reflexiva atuaria fossem divididas em vários pacotes. Dessa forma, a ACL reflexiva não pode decidir permitir ou descartar o pacote individual. Um firewall com estado, por outro lado, é capaz de remontar os fragmentos inteiros divididos em vários pacotes e, em seguida, basear sua decisão nos dados do pacote STATE + CONTEXT + para toda a sessão.

A outra desvantagem das ACLs reflexivas é sua capacidade de trabalhar apenas com determinados tipos de aplicativos. Por exemplo: um aplicativo FTP muito comum usado para transferir arquivos pela rede funciona negociando dinamicamente as portas de dados a serem usadas para transferência por meio de uma conexão de plano de controle separada. Como as ACLs reflexivas são estáticas, elas podem colocar na lista branca somente conexões bidirecionais entre dois hosts usando a mesma tupla de cinco. Portanto, eles não podem oferecer suporte a aplicativos como FTP.

Firewalls com estado

Um firewall com estado atua no ESTADO e no CONTEXTO de uma conexão para aplicar a política de firewall. Para entender o funcionamento interno de um firewall com monitoramento de estado, vamos consultar o fluxograma abaixo.

stateful_firewall_policy_decisions

Figura 3: Diagrama de fluxo mostrando decisões políticas para um firewall com monitoramento de estado

Como funciona um firewall com monitoramento de estado?

  1. Pesquisa de 5 tuplas: Quando um pacote chega ao firewall (1 na Fig. 3), ele tenta fazer uma pesquisa de fluxo usando cinco tuplas (IP de origem, porta de origem, IP de destino, porta de destino, protocolo) em uma tabela chamada tabela de fluxo ou conexão para encontrar uma correspondência (2). Isso é diferente do firewall sem estado, em que a pesquisa de 5 tuplas é executada na tabela de políticas em vez da tabela de fluxo. A tabela de fluxo e as tabelas associadas não mostradas na figura contêm o STATE+CONTEXT de todos os fluxos vistos anteriormente.
  2. Processamento rápido de caminho/plano de dados: Se uma entrada for encontrada, o pacote passará por um caminho rápido, também conhecido como processamento de plano de dados. O processamento simples e rápido envolverá verificações de taxa, verificação de saneamento de IP de camada 3 para evitar ataques baseados em fragmentação e remontagem, verificação de saneamento de camada 4 para evitar ataques como spoofing, DOS etc. Se o firewall puder fazer testes de camada 7, ele passará por filtros adicionais chamados Application Layer Gateways (AlgS). Se todas as verificações ocorrerem sem problemas, o pacote será encaminhado para o próximo salto (3.b).
  3. Processamento lento de caminho/painel de controle: Se a pesquisa de fluxo resultar em uma falha (3.a), presume-se que o pacote é para uma nova conexão e, em seguida, ele precisa passar por verificações adicionais de política, e esse caminho é chamado de caminho lento, também conhecido como processamento do plano de controle. No caminho de processamento de controle, o firewall não apenas verificará tudo o que faz em um caminho rápido, mas também decidirá se essa nova conexão é permitida pela política de firewall.
  4. Pesquisa de políticas: O firewall então fará a pesquisa de políticas usando o STATE + CONTEXT da conexão (5).
  5. Se houver uma correspondência de política e uma ação for especificada para essa política, como PERMITIR, NEGAR ou RESET, a ação apropriada será tomada (8.a ou 8.b). Os firewalls avançados com estado também podem ser informados sobre o tipo de inspeção de conteúdo a ser executada. Isso é levado em consideração e o firewall cria uma entrada na tabela de fluxo (9), para que os pacotes subsequentes dessa conexão possam ser processados mais rapidamente, evitando o processamento do plano de controle.

Quais são as vantagens de um firewall com monitoramento de estado?

  • Maior proteção: Um firewall com estado fornece inspeção completa do protocolo considerando o STATE+ CONTEXT do fluxo, eliminando assim a superfície de ataques adicionais e aprimorando gerenciamento de vulnerabilidades em um sistema.
  • Mais avançado:Um firewall com estado atua como um alicerce para firewalls ou gateways mais avançados da camada de aplicativo.
  • Capacidade de configuração: Um firewall com monitoramento de estado entende o fluxo da rede e pode identificar pacotes de dados de um fluxo, permitindo assim a criação simples de regras para conexões bidirecionais ou protocolos de rede de pseudo-estado.
  • Protocolos complexos: Como um firewall com estado pode examinar mais profundamente as cargas de pacotes, ele pode entender protocolos complexos que negociam portas e protocolos de comunicação em tempo de execução e aplicar as políticas de firewall adequadamente. Pense em protocolos como FTP, protocolos P2P etc.

Quais são os contras de um firewall com monitoramento de estado?

  • Poder de processamento: Os firewalls de estado fazem verificações adicionais para fornecer mais segurança, e essas outras verificações precisam de mais poder de processamento em termos de ciclos de CPU e memória. Arquitetos e desenvolvedores de firewall eficientes pensaram sobre esse problema, e a maioria dos firewalls mais recentes supera ou reduz esse problema com um design algorítmico de última geração para separar o controle e o processamento do plano de dados, alcançando assim um desempenho de firewall sem estado quase semelhante. Mas eu darei aos apátridas firewall uma vitória aqui em comparação com o firewall estável.
  • Superfície de ataque maior: Um firewall com estado pode ter uma maior superfície de ataque em comparação com um firewall sem estado devido ao maior tamanho da base de código. Uma simples pesquisa no Google fornece vários exemplos. Porém, com o tempo, certos tipos de firewalls, como aqueles incorporados em sistemas operacionais como Linux e Windows, foram testados e hoje servem como firewalls de estado de nível corporativo.

Conclusão

Não existe um firewall perfeito. Cada tipo de firewall tem um lugar em uma estratégia de defesa aprofundada. Um firewall sem estado pode ajudar em locais onde o policiamento grosseiro é adequado, e um firewall com estado é útil em locais onde controles de políticas mais precisos e profundos e segmentação de rede ou microssegmentação são obrigatórios.

Atualmente, existem até mesmo vários tipos de firewalls de inspeção de tráfego de dados entre a inspeção de protocolo sem estado e a inspeção de protocolo com estado. É importante estar ciente disso ao selecionar um firewall para seu ambiente.

Agora que você está equipado com o conhecimento técnico do estado, minha próxima postagem no blog discutirá por que o firewall com estado é importante para a microssegmentação e por que você deve garantir que seu fornecedor de segmentação faça isso.

Saiba mais

Para obter mais informações sobre firewalls e outras decisões comerciais críticas relacionadas à estratégia de segurança da sua empresa, entre em contato conosco.

Tópicos relacionados

Nenhum item encontrado.

Artigos relacionados

Richard Bird, CISO de segurança de API, fala sobre o poder da criatividade cibernética
Segmentação Zero Trust

Richard Bird, CISO de segurança de API, fala sobre o poder da criatividade cibernética

Aprenda com Richard Bird, CISO da Traceable AI, sobre o poder transformador da narrativa criativa e a integração do Zero Trust e da segurança da API.

5 mitos do Zero Trust desmascarados por John Kindervag e Michael Farnum
Segmentação Zero Trust

5 mitos do Zero Trust desmascarados por John Kindervag e Michael Farnum

Obtenha informações de John Kindervag, criador do Zero Trust e evangelista-chefe da Illumio, e Michael Farnum, CISO consultivo da Trace3, sobre os mitos mais comuns do Zero Trust que eles estão vendo no setor e as verdades por trás deles.

Combine ZTNA e ZTS para obter Zero Trust de ponta a ponta
Segmentação Zero Trust

Combine ZTNA e ZTS para obter Zero Trust de ponta a ponta

Saiba por que sua rede tem falhas de segurança se você não estiver emparelhando ZTNA com ZTS.

Nenhum item encontrado.

Assume Breach.
Minimize Impact.
Increase Resilience.

Ready to learn more about Zero Trust Segmentation?