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.

Além das soluções VPN, como CIPE ou IPSec (abordados em 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 firewalls de hardware e de sotfware, também há diferenças na maneira como os firewalls funcionam, que separam uma solução da outra. Tabela 7-1 detalha três tipos comuns de firewalls e como eles funcionam:

MétodoDescriçãoVantagensDesvantagens
NATTradução do Endereço da Rede (NAT) insere sub-redes IP internas através de um ou um pequeno grupo de endereços IP externos, mascarando todos os pedidos para uma fonte ao invés de várias

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

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

Filtro de PacotesA filtragem de pacotes lê cada pacote de dados que passa dentro e fora de uma LAN. Pode ler e processar pacotes pela informação do cabeçalho e filtra 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, a performance da rede é mais rápida devido à conexão direta do cliente `a 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 no cache para que clientes possam acessar dados frequentemente requisitados no cache local ao invés de ter que usar a conexão Internet para solicitá-los. Isto é conveniente para reduzir o consumo desnecessário de banda
· 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 as conexões remotas de serviço

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 'stateful' (que guarda o estado das conexões inciadas pelos clientes) ou '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. 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 IPTables. Esta ferramenta de linha de comando é similar em sintaxe ao seu predecessor, o IPChains. No entanto, IPTables usa o sub-sistema 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. 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 IPTables, consulte o Guia de Referência do Red Hat Enterprise Linux.