Como a Filtragem de Pacotes Funciona

Esta seção descreve a implementação da filtragem de pacotes nesta versão do BorderManager. Leia toda esta seção. Ela contém as seguintes subseções:


Filtragem Estática de Pacotes

Os sistemas de filtragem estática de pacotes, como o que é usado nas versões anteriores do BorderManager, examinam cada pacote que cruza a fronteira entre a rede privada (intranet) e a rede pública (Internet). Os filtros estáticos de pacotes analisam o campo do cabeçalho de cada pacote para identificar um conjunto de características:

Essas características determinam se o pacote deve ser reencaminhado de acordo com conjuntos fixos de regras externas e internas. Cada conjunto de filtros trata do tráfego que chega ao firewall através de uma interface específica. Os números de portas, que costumam ser mencionados como "números de portas reconhecidos", são usados para filtrar o tráfego. As conexões para vários serviços, como e-mail, FTP, Telnet e assim por diante, são negadas pela filtragem dos pacotes que tentam usar um número de porta ou serviço específico.

Os firewalls baseados na filtragem de pacotes são dispositivos da camada Rede que não podem processar informações da camada superior. Eles não podem verificar pedidos do aplicativo nem podem controlar informações sobre o estado do aplicativo. Um firewall de filtragem estática de pacotes não pode determinar, simplesmente examinando o cabeçalho de um pacote que chega, se o pacote é o primeiro pacote de um cliente externo para um servidor interno ou uma resposta de um servidor externo para um cliente externo. O nível de proteção fornecido por esse tipo de firewall é limitado.


Recursos Avançados

Nesta versão do BorderManager, são introduzidos três recursos avançados de filtragem de pacotes IP para aprimorar a segurança de firewall:


Filtragem de Bits ACK do TCP

O TCP é um protocolo de transporte seguro e orientado a conexões. Uma conexão é sempre iniciada usando o "handshake tridirecional" reconhecido, como é mostrado a seguir:

Pacote 1: Cliente --> Flag do Servidor: SYN
(O cliente deseja iniciar uma conexão ou "sincronização".)

Pacote 2: Servidor --> Flags do Cliente: SYN, ACK
(ACK: O pedido de conexão do cliente [SYN] está sendo confirmado.)

Pacote 3: Cliente --> Flag do Servidor: ACK
(ACK: O pedido de conexão do servidor [SYN] está sendo confirmado.)

Quando a filtragem de bits ACK do TCP está ativada, somente pacotes de resposta (pacotes com o conjunto de bits ACK do TCP) são permitidos. Isso evita que todas as tentativas de conexão sejam iniciadas através dessa regra de filtro. A filtragem de bits ACK do TCP costuma ser aplicada para todos os filtros internos do TCP, visando evitar que hosts externos iniciem conexões do TCP para hosts internos. No entanto, essa opção nunca deve ser usada sob as circunstâncias a seguir:


Filtragem Dinâmica de Pacotes

A filtragem dinâmica de pacotes, conforme implementada no BorderManager, é projetada para superar as limitações da filtragem estática de pacotes. A filtragem dinâmica controla os pacotes que saem e que foram autorizados a passar, e permite que apenas os pacotes de resposta correspondentes retornem. Quando o primeiro pacote é transmitido para a rede pública (Internet), é criado dinamicamente um filtro inverso para permitir que o pacote de resposta retorne. Para ser contado como uma resposta, o pacote de resposta deve ser proveniente do host e da porta para onde o pacote externo foi enviado.

A filtragem dinâmica de pacotes suporta protocolos com e sem conexão (TCP, UDP, ICMP e assim por diante). Ela monitora cada conexão e cria uma exceção de filtro interno temporária (com limite de tempo) para a conexão. Isso permite que você bloqueie o tráfego que chega originado a partir de determinado endereço e número de porta e, ao mesmo tempo, permite o tráfego de retorno do mesmo endereço e número de porta. O filtro inverso é criado extraindo-se as seguintes informações do pacote:

Essas informações são armazenadas em uma tabela, que é comparada com a resposta. Se uma mensagem que chega não for uma resposta ao pedido original, ela será descartada. Esse filtro criado dinamicamente é usado para determinar as transferências de pacotes subseqüentes até a conexão ser terminada.

Para os protocolos orientados para conexão, como o TCP, o filtro que chega (inverso) é criado somente quando o primeiro pacote que sai é detectado. A filtragem de bits ACK do TCP é ativada automaticamente no filtro inverso para evitar que quaisquer tentativas de conexão feitas por intrusos sejam iniciadas através desse filtro.

Para o ICMP, somente as mensagens ICMP de resposta são permitidas. Todos os pedidos e mensagens de redirecionamento ICMP que tentarem retornar através de um filtro inverso serão descartados. Todas as outras mensagens de respostas de erro ICMP são tratadas internamente pela filtragem dinâmica de pacotes.

Sem a filtragem dinâmica, você precisaria criar dois filtros ICMP: uma para permitir que uma mensagem de erro ICMP fosse enviada e outra para permitir que ela retornasse. Com a filtragem dinâmica de pacotes, você não precisa mais criar esses filtros ICMP. Sem a filtragem dinâmica de pacotes, você precisaria de quatro conjuntos de filtros externos e internos (um total de, pelo menos, oito filtros separados) para estabelecer o serviço FTP.

As quatro tabelas a seguir listam as configurações de cada filtro externo e de cada filtro interno.

Canal de Controle

Externo

Interno

Interface de Origem

Privada

Pública

Interface de Destino

Pública

Privada

Tipo do Pacote

TCP

TCP

Porta de Origem

1024-65535

21

Porta de Destino

21

1024-65535

Endereço de Origem

Qualquer um

Qualquer um

Endereço de Destino

Qualquer um

Qualquer um

Filtragem de bits ACK

Desativada

Ativada

Filtragem Dinâmica

Desativada

Desativada

Canal de Dados do Comando PORT

Externo

Interno

Interface de Origem

Privada

Pública

Interface de Destino

Pública

Privada

Tipo do Pacote

TCP

TCP

Porta de Origem

1024-65535

20

Porta de Destino

20

1024-65535

Endereço de Origem

Qualquer um

Qualquer um

Endereço de Destino

Qualquer um

Qualquer um

Filtragem de Bits ACK

Ativada

Desativada

Filtragem Dinâmica

Desativada

Desativada

Canal de Dados do Comando PASV

Externo

Interno

Interface de Origem

Privada

Pública

Interface de Destino

Pública

Privada

Tipo do Pacote

TCP

TCP

Porta de Origem

1024-65535

1024-65535

Porta de Destino

1024-65535

1024-65535

Endereço de Origem

Qualquer um

Qualquer um

Endereço de Destino

Qualquer um

Qualquer um

Filtragem de Bits ACK

Desativada

Ativada

Filtragem Dinâmica

Desativada

Desativada

Canal de Mensagens de Erro ICMP

Externo

Interno

Interface de Origem

Privada

Pública

Interface de Destino

Pública

Privada

Tipo do Pacote

ICMP

ICMP

Porta de Origem

N/D

N/D

Porta de Destino

N/D

N/D

Endereço de Origem

Qualquer um

Qualquer um

Endereço de Destino

Qualquer um

Qualquer um

Filtragem de Bits ACK

N/D

N/D

Filtragem Dinâmica

Desativada

Desativada

Com a filtragem dinâmica de pacotes, você precisa de apenas um filtro externo para estabelecer o serviço FTP, como é mostrado na tabela a seguir.

Filtro FTP

Externo

Interface de Origem

Privada

Interface de Destino

Pública

Tipo do Pacote

TCP

Porta de Origem

1024-65535

Porta de Destino

21

Endereço de Origem

Qualquer um

Endereço de Destino

Qualquer um

Filtragem de Bits ACK

Desativada

Filtragem Dinâmica

Ativada


Suporte ao Comando PORT do FTP

A filtragem dinâmica de pacotes suporta sessões ativas do FTP através do monitoramento do comando PORT. O aplicativo cliente envia esse comando pelo canal de comandos do FTP (porta 21) para avisar ao servidor em qual porta o cliente está esperando o servidor abrir o canal de dados. A filtragem dinâmica de pacotes cria uma regra de exceção temporária (com limite de tempo) para permitir que o servidor abra o canal de dados (geralmente, a partir da porta 20) para o cliente.


Suporte ao Comando PASV do FTP

A diferença entre os modos de FTP passivo e de FTP ativo é que no modo passivo o cliente tem permissão para abrir os canais de comandos do FTP (porta 21) e os canais de dados do FTP para o servidor. O cliente FTP passivo inicia a conexão com os canais de dados e comandos do servidor. Tudo o que o servidor precisa fazer é avisar ao cliente em qual porta deverá se conectar de volta para a porta de dados do servidor, que normalmente é acima de 1023.

A filtragem dinâmica de pacotes monitora o comando PASV em vez do comando PORT e cria um filtro de exceção temporário (com limite de tempo) para permitir ao cliente se comunicar com o servidor em uma porta alta designada (acima de 1023). Com a filtragem dinâmica de pacotes, todos os canais de dados e do ICMP e o caminho inverso do canal de controle são criados (e eliminados) dinamicamente.

NOTA: Para o serviço FTP, você pode escolher o modo de FTP que será aceito: PORT, PASV ou ENABLED (que aceita os modos PORT e PASV). Algumas empresas não aceitam que usuários internos utilizem o serviço FTP (PORT) ativo.


Filtragem de Pacotes Fragmentados

Quando um datagrama IP está fragmentado, somente o primeiro pacote possui informações completas de cabeçalho e transporte. Nenhum dos demais pacotes subseqüentes possui as informações de transporte como, por exemplo, o número da porta. A princípio, era seguro permitir que esses fragmentos passassem pelo firewall sem serem verificados, desde que o primeiro pacote fosse descartado. O host de destino acabaria descartando todos os pacotes subseqüentes e o reagrupamento não poderia ser concluído sem o primeiro pacote.

Mas isso não acontece mais hoje em dia. Os pacotes fragmentados podem ser usados para disparar ataques de recusa de serviços, inundando continuamente a rede com pacotes fragmentados para ocupar a banda passante da rede e os recursos do host de destino. Os fragmentos menores também podem ser usados para desviar o firewall com fragmentos sobrepostos ou manipulando os flags dos fragmentos.

Por exemplo, se um firewall não impuser sua segurança nos fragmentos de pacotes, todos os pacotes com o conjunto de bits de fragmentos poderão passar sem serem verificados. Um pacote que não seja fragmentado com o conjunto de bits de "mais fragmentos" pode ser usado para fazer uma varredura de porta no host de destino. Para evitar esses ataques, todos os fragmentos devem ser verificados com base nos endereços de origem e destino, nas interfaces interna e externa e em uma combinação do TCP/IP e dos flags de fragmentos.

Para proteger contra ataques de fragmentos com manipulação dos flags de fragmentos, o BorderManager inclui a filtragem de pacotes fragmentados. Essa filtragem descarta o primeiro pacote, que carrega informações completas de cabeçalho e transporte, e todos os pacotes fragmentados subseqüentes se eles tiverem as mesmas interfaces e os mesmos endereços IP de origem e de destino.


Proteção Contra Outros Ataques

Foram incorporadas ao software BorderManager proteções contra vários programas de ataque que existem atualmente na Internet. Os dois comandos adicionais a seguir também podem ser ativados (ou desativados) no console do servidor, através dos comandos SET da categoria COMMUNICATION, ou podem ser incluídos no arquivo de partida AUTOEXEC.NCF. Por padrão, os dois estão definidos como ON.


Diretiva de Segurança

Podem ser aplicadas duas filosofias básicas de diretivas de segurança à filtragem de pacotes:

O modo de filtragem de pacotes padrão (modo seguro), que normalmente é selecionado durante a instalação do BorderManager, adota a primeira filosofia --- negar tudo. Essa é a melhor opção para a primeira vez em que você configura o servidor BorderManager, porque a probabilidade de cometer erros que comprometam a segurança é maior nesse momento.

Quando o BorderManager é instalado, um conjunto de filtros padrão impede o acesso à Internet sem os serviços de um proxy de aplicativo ou de um gateway, como é mostrado na tabela a seguir.

Tipo do Filtro

Protocolo

Configuração

Filtros IPXTM

 

 

 

Que sai (para a interface pública)

 

SAP

Deny Service Name "*" (Negar Nome do Serviço "*") e Service Type FFFFh (All) (Tipo de Serviço FFFFh (Todos))

 

RIP

Deny Network 00000000h (Negar Rede 00000000h) e máscara 00000000h

 

Reencaminhamento de Pacotes

Deny All packets (Negar Todos os pacotes)

 

Que chega (da interface pública)

 

SAP

Deny Service Name "*" (Negar Nome do Serviço "*") e Service Type FFFFh (All) (Tipo de Serviço FFFFh (Todos))

 

RIP

Deny Network 00000000h (Negar Rede 00000000h) e máscara 00000000h

 

Reencaminhamento de Pacotes

Deny All packets (Negar Todos os pacotes)

Filtros IP

 

 

 

Que sai (para a interface pública)

 

RIP

Do not advertise "All routes" (Não divulgar "Multidirecional")

 

EGP

Do not advertise "All routes" (Não divulgar "Multidirecional")

 

Reencaminhamento de Pacotes

Deny All packets (Negar Todos os pacotes)

 

Que chega (da interface pública)

 

RIP

Do not advertise "All routes" (Não divulgar "Multidirecional")

 

EGP

Do not advertise "All routes" (Não divulgar "Multidirecional")

 

Reencaminhamento de Pacotes

Deny All packets (Negar Todos os pacotes)

Filtro OSPF

OSPF

Deny All routes (Negar Todas as rotas)

Filtros de Exceção

 

 

Que sai (para a interface pública)

 

Reencaminhamento de Pacotes

"Allow All packets" ("Permitir Todos os pacotes") com endereço IP de origem como endereço IP público

 

Que sai (para a interface pública)

 

Reencaminhamento de Pacotes

"Allow All packets" ("Permitir Todos os pacotes") vindos da interface pública com endereço IP de destino como endereço IP público e destinados às seguintes portas e protocolos:

 

 

Porta TCP 80 --- World Wide Web (WWW) --- HTTP

 

 

Porta TCP 213 --- VPN Master/Slave (IPX)

 

 

Porta TCP 35 --- Gateway de Autenticação da VPN

 

 

Portas TCP de 1024 a 65535 --- Dinâmico

 

 

Porta UDP 353 --- VPN sinalizadora de atividade

 

 

Portas UDP de 1024 a 65535 --- Dinâmico

 

 

Protocolo SKIP (Simple Key Management for Internet Protocol) 57 --- para VPN

SUGESTÃO: As configurações de filtros padrão do BorderManager bloqueiam o tráfego para dentro e para fora do servidor até você acabar de configurar os filtros que aceitam a transmissão de tipos específicos de pacotes. Por isso, instale e configure os filtros de pacotes após o horário normal de trabalho para evitar a interrupção do tráfego da rede.

Os pacotes devem ser expressamente aceitos e não podem ser expressamente negados. No entanto, o utilitário de configuração de filtros do BorderManager (FILTCFG) permite que você defina exceções para essas condições. Após os dados do pacote serem obtidos, o filtro aplica listas de regras: primeiro a lista de exceções; depois a lista de filtros. Essas listas determinam quais pacotes podem entrar e sair da rede.


Opções de Ação de Filtros

As regras de filtragem nas listas de exceções e nas listas de filtros são aplicadas usando uma das duas opções de ação de filtro: Negar ou Permit (Permitir).


Negar

Se a opção de ação de filtros for definida como Deny Packets in Filter List (Negar Pacotes na Lista de Filtros), a lista de filtros conterá a lista de pacotes que deverão ser negados. A lista de exceções conterá a lista dos pacotes que deverão ser permitidos. Os filtros de exceção sempre têm prioridade sobre os de negação. Se o tipo de um pacote não aparecer na lista de filtros de exceção, ele será verificado na lista de filtros de negação. Se o tipo do pacote não aparecer em nenhuma das duas listas, ele será aceito.


Permit (Permitir)

Se a opção de ação de filtros for definida como Permit Packets in Filter List (Permitir Pacotes na Lista de Filtros), a lista de filtros conterá a lista dos pacotes que deverão ser permitidos. A lista de exceções conterá a lista dos pacotes que deverão ser negados. Os filtros de exceção sempre têm prioridade sobre os de permissão. Se o tipo de um pacote não aparecer na lista de filtros de exceção, ele será verificado na lista de filtros de permissão. Se o tipo do pacote não aparecer em nenhuma das duas listas, ele será negado.

Essas duas opções de ação de filtros podem ser resumidas como mostrado na tabela a seguir.

Ação de Filtros

Descrição

Negar

Todos os pacotes especificados na lista de exceções são permitidos.

Todos os pacotes especificados na lista de filtros são negados.

Se o modo Negar estiver ativado e nenhum filtro for especificado, o roteador permitirá que todos os pacotes passem.

Permit (Permitir)

Todos os pacotes especificados na lista de exceções são negados.

Todos os pacotes especificados na lista de filtros são permitidos.

Se o modo Permit (Permitir) estiver ativado e nenhum filtro for especificado, o roteador não permitirá que nenhum pacote passe.


Segurança da Filtragem de Pacotes

Como a filtragem de pacotes não verifica os dados da camada Aplicativo do pacote, essa solução é a menos segura, mas a mais eficiente dentre os métodos de firewall. Se as verificações passarem com sucesso, o pacote poderá ser roteado pelo firewall. No entanto, como esse método requer menos processamento do que os outros métodos, é uma solução mais rápida.

A filtragem de pacotes oferece as seguintes vantagens:

A filtragem de pacotes tem as seguintes limitações: