Capítulo 7. Firewalls

A segurança da informação é comumente encarada como um processo e não como um produto. Entretanto, implementações de segurança padronizadas geralmente utilizam alguma forma de mecanismo dedicado a controlar os privilégios de acesso e a restringir recursos de rede a usuários que são autorizados, identificáveis e rastreáveis. O Red Hat Enterprise Linux inclui muitas ferramentas poderosas para auxiliar administradores e engenheiros de segurança em questões de controle de acesso em nível de rede.

Juntamente às soluções VPN, como CIPE ou IPSec (abordados no Capítulo 6), os firewalls são um dos componentes centrais da implementação de segurança na rede. Diversos fabricantes comercializam soluções de firewall para suprir todos os nichos do mercado: de usuários domésticos protegendo um PC até soluções de centro de dados para proteger informações corporativas vitais. Firewalls podem ser soluções de hardware ligados intermitentemente, como as aplicações de firewall da Cisco, Nokia e Sonicwall. Também há soluções de software de firewall proprietárias desenvolvidas para os mercados doméstico e corporativo por fabricantes como Checkpoint, McAfee e Symantec.

Além das diferenças entre hardware e software de firewall, também há diferenças na maneira como os firewalls funcionam, que separam uma solução da outra. A Tabela 7-1 detalha três tipos comuns de firewalls e como eles funcionam:

MétodoDescriçãoVantagensDesvantagens
NATTradução do Endereço da Rede (Network Address Translation, NAT) insere sub-redes IP internas por trás de um ou um pequeno grupo de endereços IP públicos, mascarando todos os pedidos para uma fonte ao invés de várias.

· Pode ser configurado transparentemente para máquinas em uma LAN
· A proteção de muitas máquinas e serviços por trás de um ou mais endereços IP externos simplifica tarefas de administração
· A restrição de acesso do usuário de e para a LAN pode ser configurada abrindo e fechando portas no firewall/gateway da NAT

· Não pode evitar atividades maldosas uma vez que usuários se conectam a um serviço fora do firewall

Filtro de PacotesUm firewall de filtragem de pacotes lê cada pacote de dados que passa por dentro e por fora de uma LAN. Pode ler e processar pacotes pela informação do cabeçalho e filtrar o pacote baseado em conjuntos de regras programáveis implementadas pelo administrador do firewall. O kernel do Linux tem a funcionalidade embutida de filtragem de pacotes através do sub-sistema Netfilter do kernel.

· Personalizável através da funcionalidade front-end iptables
· Não requer nenhuma personalização no lado do cliente, já que todas as atividades da rede são filtradas no nível do roteador ao invés do nível da aplicação
· Já que os pacotes não são transmitidos através de um proxy, o desempenho da rede é mais rápido devido à conexão direta do cliente à máquina remota

· Não pode filtrar pacotes para conteúdo similar a firewalls de proxy
· Processa pacotes na camada do protocolo, mas não pode filtrar pacotes numa camada de aplicação
· Arquiteturas de rede complexas podem fazer com que o estabelecimento de regras de filtragem de pacotes se torne difícil, especialmente se for usado com o mascaramento do IP ou sub-redes locais e redes DMZ

ProxyFirewalls de proxy filtram todos os pedidos de um determinado protocolo ou tipo dos clientes LAN para uma máquina proxy, que então faz estes pedidos à Internet representando o cliente local. Uma máquina proxy atua como um buffer entre usuários remotos maldosos e as máquinas dos clientes internos da rede.

· Dá aos administradores o controle de quais aplicações e protocolos funcionam fora da LAN
· Alguns servidores proxy podem armazenar dados frequentemente acessados no cache localmente, ao invés de ter que usar a conexão Internet para solicitá-los, o que é conveniente para reduzir o consumo desnecessário de banda
· Os serviços proxy podem ser registrados e monitorados de perto, permitindo um controle mais restrito sobre a utilização de recursos na rede

· Proxies são frequentemente específicos às aplicações (HTTP, Telnet, etc.) ou restritos a protocolos (a maioria dos proxies funcionam com serviços conectados por TCP, somente)
· Serviços de aplicação não podem rodar por trás de um proxy, portanto seus servidores de aplicações devem usar uma forma separada de segurança em rede
· Proxies podem se tornar um gargalo na rede, já que todos os pedidos e transmissões passam através de uma mesma fonte ao invés de passar diretamente do cliente para um serviço remoto

Tabela 7-1. Tipos de Firewall

7.1. Netfilter e iptables

O kernel do Linux apresenta um sub-sistema de rede poderoso chamado Netfilter. O sub-sistema Netfilter oferece filtragem de pacote de estado (que guarda o estado das conexões inciadas pelos clientes) ou sem estado/'stateless' (na qual cada pacote é analisado individualmente, sem levar em conta pacotes anteriores trocados na mesma conexão), assim como NAT e serviços de mascaramento de IP. O Netfilter também tem a habilidade de danificar as informações do cabeçalho para roteamento avançado e gerenciamento do estado de conexão. O Netfilter é controlado através da funcionalidade iptables.

7.1.1. Visão geral do iptables

O poder e flexibilidade do Netfilter é implementado através da interface do iptables. Esta ferramenta de linha de comando é similar em sintaxe ao seu predecessor, o ipchains. No entanto, iptables usa o sub-sistema do Netfilter para melhorar a conexão, inspeção e processamento de rede; enquanto o ipchains usava conjuntos de regras complexas para filtrar localidades de fonte e destino, assim como portas de conexão para ambos. O iptables inclui registro avançado, ações pré e pós-roteamento, tradução do endereço de rede e encaminhamento de porta; tudo em apenas uma interface de linha de comando.

Esta seção oferece uma visão geral do iptables. Para informações mais detalhadas sobre o iptables, consulte o Guia de Referência do Red Hat Enterprise Linux.