This post is also available in: Português English Español
Dois dos primeiros e principais mecanismos de filtragem presentes nos firewalls, foram criados entre os anos de 1989 e 1994, inicialmente pela Digital Equipaments e posteriormente pelo laboratório Bell Labs da AT&T.
Apesar da idade avançada, se tratando de aspectos tecnológicos, as filtragens sem e com estado (stateless e stateful) formaram a base para a construção e evolução de soluções de firewall usadas hoje.
Compreender o funcionamento destes mecanismos facilita o entendimento das novas tecnologias, além de auxiliar, de maneira substancial, na definição da melhor aplicação – de acordo com a necessidade do ambiente.
Mesmo com a complexidade por trás das soluções de segurança e firewall, os filtros stateful são utilizados com grande frequência na atualidade, mas, quase sempre, de maneira transparente – não sendo gerenciável ou visível pelos administradores e analistas de segurança.
Trataremos de maneira introdutória o tema para garantir que você possa se beneficiar do entendimento de ambos os conceitos que são tão importantes para firewalls.
Filtragem de pacotes
Toda comunicação em uma rede de computadores é segmentada em pequenos pacotes de acordo com a unidade máxima de transferência entre as redes (MTU), geralmente de 1500 bytes. Em cada uma das camadas, existem informações de cabeçalho – úteis ao processamento – além da parte de dados (payload), onde a informação é, de fato, transportada.
A filtragem de pacotes nada mais é do que um mecanismo capaz de analisar os cabeçalhos em determinadas camadas da suíte TCP/IP e, com base em um padrão de regras pré-estabelecido, encaminhar o pacote para o próximo passo ou desconsiderá-lo.
Este é o conceito básico para entender uma estrutura completa de pacotes, somente possível pois os firewalls são colocados de maneira estratégica em uma topologia de rede, por onde o tráfego inter-redes é afunilado ou estrangulado.
Uma vez que o pacote passa pelo firewall, e somente desta maneira ele pode chegar até o destino final, o mesmo tem o poder de definir se isso deve ou não ser encaminhado. O encaminhamento de pacotes é o recurso fundamental de roteamento, função também desempenhada por um firewall.
Filtragem stateless ou sem estado
A filtragem sem estado oferece um recurso de avaliação de pacotes de maneira independente, onde não há conhecimento sobre a conexão. Isso quer dizer que cada pacote que passa pelo firewall, independente de ser uma nova conexão ou já existente, é avaliado pelas regras estabelecidas pelo administrador.
É comum nestas arquiteturas criar uma regra para cada direção de tráfego, prevendo tanto a saída (envio) de um pacote, quanto a entrada (recebimento) – o que ocorre comumente em interfaces de redes diferentes. Como não há conhecimento das conexões, não é possível prever o retorno da conexão.
Os ambientes que possuem esse mecanismo de filtragem têm a tendência comum de ter um número maior de regras, por causa da necessidade de sempre se prever os dois sentidos de uma comunicação (entrada e saída).
Os firewalls stateless são cada vez menos utilizados. Ainda assim, está está presente em dispositivos de rede cujo principal foco não é segurança e garante que regras básicas de acesso possam ser criadas, evitando exposições desnecessárias.
O conceito mais importante a ser registrado sobre os firewalls stateless é que não possuem conhecimento acerca das conexões e, por causa disso, aplicam suas regras em todos os pacotes que atravessam o dispositivo.
Firewall stateful ou com estado
Os firewalls stateful foram concebidos posteriormente, a fim de solucionar aspectos de segurança que surgiram com a primeira geração, como por exemplo o caso de forjar (spoof) informações de conexão.
A importância fundamental foi de orientar a filtragem para conexão e permitir que o mecanismo de filtragem passasse a conhecer as conexões. Com base nisso, legitimaria um pacote ou não. Esse recurso auxiliar ficou conhecido como tabela de conexões ou tabela de estados.
Com a tabela de estados, todo início de conexão é devidamente registrado (um novo estado é criado). Quando o pacote retorna, antes de iniciar o processo de avaliação das regras de acesso, o firewall stateful verifica a tabela de estados, valida se há alguma conexão associada e, caso afirmativo, aceita a conexão, sem processar as regras. Do contrário, descarta o pacote.
A segurança do ambiente é incrementada consideravelmente com a utilização de firewall stateful, tendo em vista que há rastreabilidade de parâmetros utilizados para validar uma conexão ativa na estrutura. O nível e complexidade do tracking depende do fabricante. Alguns utilizam somente parâmetros de endereços e portas de origem e destino, enquanto outros utilizam número de sequência e reconhecimento, tamanho de janela etc (no caso do protocolo TCP).
A medida que a conexão evolui em termos de trocas de pacotes, a tabela de estados é sempre atualizada com as informações para garantir a continuidade de segurança e integridade. Este processo também garante a validade da conexão, sem que seja necessário avaliar as regras de acesso definidas pelo administrador.
Em um firewall stateful há uma economia considerável de recursos computacionais, uma vez que há um esforço inicial para a criação de novas conexões, que é recompensado até o encerramento pela não necessidade de processar as regras de acesso. É muito comum encontrar esse mecanismo de filtragem nas mais modernas soluções, que continua sendo um elemento fundamental na estratégia de defesa em profundidade.
This post is also available in: Português English Español