Página seguinte Página anterior Índice

3. O que é um Filtro de Pacotes?

Um filtro de pacotes é um software que fica examinando o cabeçalho dos pacotes à medida que vão passando, e decide o destino de cada pacote. Ele pode decidir fazer um DROP (descartar) o pacote (isto é, descatar o pacote como se nunca houvesse recebido o mesmo), pode fazer um ACCEPT (aceitar) no pacote (isto é, deixar o pacote passar), ou fazer algo mais complicado.

No Linux, a filtragem de pacotes é montada no kernel (como um módulo, ou dentro do mesmo), e existem algumas poucas coisas complciadas que podemos fazer com os pacotes, mas o princípio geral de examinar os cabeçalhos e decidir o destino do pacote ainda está presente.

3.1 Por quê vou querer um Filtro de Pacotes?

Controle. Segurança. Vigilância.

Controle:

quando você está usando um computador Linux para conectar sua rede interna a outra rede (digamos, a Internet) você tem a oportunidade de permitir certos tipos de tráfego, e proibir outros. Por exemplo, o cabeçalho de um pacote contém o endereço de destino do pacote, assim você pode evitar que os pacotes venham a ir em certa parte da rede externa. Como um outro exemplo, eu uso o Netscape para acessar os arquivos do Dilbert. Existem propagandas da doubleclick.net na página, e o Netscape desperdiça o meu tempo baixando alegremente estas propagandas. Informando ao filtro de pacotes não permitir que nenhum pacot indo ou vindo dos endereços da doubleclick.net resolve este problema (existem outras formas melhores de fazer isto, veja o Junkbuster).

Segurança:

quando seu comptuador Linux é a única coisa entre o caos da Internet e sua pequena e bem ordenada rede, é bom saber que você pode restringir o que vem pela sua porta. Por exemplo, você pode permitri que tudo saia de sua rede, mas pode estar preocupado com o bem conhecido `Ping of Death' vindo de locais externos maliciosos. Como outro exemplo, você pode não querer que pessoas de fora façam telnet para seu computador Linux, mesmo que todas as tuas contas tenham senhas. Talvez você queira (como muitas pessoas) ser um observador da nternet, e não um servidor (voluntário ou não). Simplesmente não deixe qualquer um conectar-se, fazendo com que o filtro de pacotes rejeite pacotes que chegam que sejam usados para iniciar conexões.

Vigilância

algumas vezes uma máquina mal configurada na rede local decide espalhar pacotes para o mundo. É bom fazer com que o filtro de pacotes avise você se algo anormal ocorrer, talvez você possa fazer algo sobre isto, ou talvez você apenas seja curioso por natureza.

3.2 Como eu faço Filtragem de Pacotes no Linux?

Os kernel Linux tem suporte a filtro de pacotes desde a série 1.1. A primeira geração, baseada no ipfw do BSD, foi portada por Alan Cox no fim de 1994. Ela foi melhorada por Jos Vos e outros para o Linux 2.0; a ferramenta de userspace `ipfwadm' controlava as regras de filtro do kernel. No meio de 1998, para o Linux 2.2, eu refiz bastante o kernel, com a ajuda de Michael Neuling, e introduzi a ferramenta de userspace `ipchains'. Finalmente, a ferramenta de quarta geração, o `iptables', e outra reescrita de kernel, ocorreram na metade de 1999 para o Linux 2.4. É neste iptables que este HOWTO se concentra.

Você vai precisar um kernel que tenha a infraestrutura de netfilter nele: o netfilter é uma estrutura geral dentro do kernel Linux que outras coisas (como o módulo iptables) podem ligar. Isto significa que você precisará do kernel 2.3.15 ou posterior, e responder `Y' para a opção CONFIG_NETFILTER na configuração do kernel.

A ferramenta iptables fala com o kernel e informa ao mesmo quais pacotes devem ser filtrados. A menos que você seja um programador, ou uma pessoa muito curiosa, é asim que você irá controlar a filtragem de pacotes.

iptables

A ferramenta iptables insere e apaga regras da tabela de filtros de pacotes do kernel. Isto significa que, o que quer que você configure, será perdido no reboot. Veja Tornando as Regras Permanentes para saber como fazer para que as regras sejam erstauradas na próxima vez que o Linux seja inicializado.

O iptables é uma ferramenta substituta do ipfwadm e do ipchains: veja Usando o ipchains e o ipfwadm para saber como evitar usar o iptables de forma indolor se você está usando uma destas ferramentas.

Tornando as Regras Permanentes

Sua configuração de firewall atual está armazenada no kernel, e será perdida quando você reiniciar o computador. Você pode tentar os scripts iptables-save e iptables-restore para salvar e recuperar estas regras de um arquivo.

A outra forma é colocar os comandos necessários para configurar suas regras em um script de inicialização. Certifique-se de fazer alguma coisa inteligente se algum dos comandos falhar (usualmente `exec /sbin/sulogin').


Página seguinte Página anterior Índice 1