Firewalls
de rede se restringem ao nível do IP, decidindo que
pacotes devem
passar e que pacotes devem ser descartados
com base
nos dados constantes do cabeçalho do pacote – informações
como endereço
de remetente, endereço de destinatário e a porta
IP utilizada.
A porta é um campo de dois bytes contendo um número
inteiro que
indica a máquina destinatária qual é o programa que
deve manipular o pacote recebido ( o SMTP, protocolo de correio da Internet,
por exemplo,
usa a porta 25).
Até
um roteador comum pode ser configurado para agir como um
firewall
de rede – se bem que será um firewall simples, já
que roteadores
tradicionais não costumam ser muito sofisticados e freqüentemente
não conseguem determinar de onde um
pacote efetivamente
veio ou que tipo de informação ele está
carregando.
Um roteador comum, que se preocupa apenas em
enviar os
pacotes a seus destinatários, pode ser presa de alguns
ataques clássicos,
como o "IP spoofing".
Máquinas
bem configuradas só concedem acesso a computadores
conhecidos,
em geral localizados numa mesma rede
privada.
Assim, para obter acesso a uma maquina bem configurada, é necessário
induzi-la a crer que a máquina do invasor
é
de confiança – um processo denominado spoofing. Para isso, o invasor
precisa descobrir o endereço legítimo de uma maquina da rede
interna e
enviar à vitima pacotes que apresentam tal endereço como
origem. A
vítima, crendo ser o atacante uma máquina de confiança,
responderá
enviando pacotes para o endereço do remetente.
Para o esquema
funcionar, entretanto o cracker precisa tomar
duas providencias.
A primeira é impedir que a máquina legítima
responda
aos pacotes enviados pela vítima; em geral, isso é feito
garantindo-se que a máquina legítima esteja fora do ar
(pode-se
efetuar o ataque num momento em que se saiba que a máquina esta
desligada, ou derrubá-la de algum método mais hostil).
A segunda
é garantir que o pacote seja ecoado para fora da rede
interna.
Em geral, o pacote apenas diz para onde quer ir e os
roteadores
no caminho decidem qual a melhor rota a seguir.
Desta forma,
os pacotes enviados pela vítima não seriam
passados
para a Internet, porque o endereço de destino (que pertence a máquina
que esta fora do ar) encontra-se dentro da
rede interna.
Para evitar isso, o invasor recorre ao "source-routing",
uma técnica
criada para testes e depuração que permite
que a máquina
que inicia a comunicação (no caso, o invasor)
especifique
qual a rota a ser utilizada por todos os pacotes de
uma determinada
conexão, o que garante que os pacotes sejam
ecoados da
rede interna para a Internet.
Um firewall
de rede sofisticado não se contenta em rotear
os pacotes
para seus destinos: ele mantém informações sobre o
estado das
conexões e sobre o conteúdo dos pacotes, o que
lhe permite
perceber que um pacote cujo endereço de origem
pertence
a rede interna não pode provir da Internet. Se isto
ocorre, configura-se
o spoofing e o firewall descarta o pacote e
aciona o
alarme. Similarmente, comunicações normais não devem
gerar pedidos
de source-routing, de modo que, se um tal
pedido surge,
o firewall deve considerá-lo um ataque e agir
de acordo.
Independente de sua sofisticação, firwalls de rede
roteiam tráfego
diretamente, o que os torna rápidos e
transparentes
mas os impede de analisar o conteúdo efetivo dos
pacotes trafegados
e exige que as maquinas na rede interna
tenham endereços
IP válidos (o que pode ser um risco em si).