Escolar Documentos
Profissional Documentos
Cultura Documentos
Firewalls
A segurana da informao comumente encarada como um processo e no como um produto. Entretanto, implementaes de segurana padronizadas geralmente utilizam alguma forma de mecanismo dedicado a controlar os privilgios de acesso e a restringir recursos de rede a usurios que so autorizados, identificveis e rastreveis. O Red Hat Enterprise Linux inclui muitas ferramentas poderosas para auxiliar administradores e engenheiros de segurana em questes de controle de acesso em nvel de rede. Juntamente s solues VPN, como CIPE ou IPSec (abordados no Captulo 6), os firewalls so um dos componentes centrais da implementao de segurana na rede. Diversos fabricantes comercializam solues de firewall para suprir todos os nichos do mercado: de usurios domsticos protegendo um PC at solues de centro de dados para proteger informaes corporativas vitais. Firewalls podem ser solues de hardware ligados intermitentemente, como as aplicaes de firewall da Cisco, Nokia e Sonicwall. Tambm h solues de software de firewall proprietrias desenvolvidas para os mercados domstico e corporativo por fabricantes como Checkpoint, McAfee e Symantec. Alm das diferenas entre hardware e software de firewall, tambm h diferenas na maneira como os firewalls funcionam, que separam uma soluo da outra. A Tabela 7-1 detalha trs tipos comuns de firewalls e como eles funcionam: Mtodo Descrio NAT Traduo do Endereo da Rede (Network Address Translation, NAT) insere subredes IP internas por trs de um ou um pequeno grupo de endereos IP pblicos, mascarando todos os pedidos para uma fonte ao invs de vrias. Vantagens Pode ser configurado transparentemente para mquinas em uma LAN A proteo de muitas mquinas e servios por trs de um ou mais endereos IP externos simplifica tarefas de administrao A restrio de acesso do usurio de e para a LAN pode ser configurada abrindo e fechando portas no firewall/gateway da NAT Desvantagens No pode evitar atividades maldosas uma vez que usurios se conectam a um servio fora do firewall
Filtro de Pacot es
Um 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 informao do cabealho e filtrar o pacote baseado em conjuntos de regras
Personalizvel atravs da funcionalidade frontend iptables No requer nenhuma personalizao no lado do cliente, j que todas as atividades da rede so filtradas no nvel do roteador ao invs do nvel da
No pode filtrar pacotes para contedo similar a firewalls de proxy Processa pacotes na camada do protocolo, mas no pode filtrar pacotes numa camada de aplicao
Mtodo Descrio programveis implementadas pelo administrador do firewall. O kernel do Linux tem a funcionalidade embutida de filtragem de pacotes atravs do subsistema Netfilter do kernel.
Vantagens aplicao J que os pacotes no so transmitidos atravs de um proxy, o desempenho da rede mais rpido devido conexo direta do cliente mquina remota
Desvantagens Arquiteturas de rede complexas podem fazer com que o estabelecimento de regras de filtragem de pacotes se torne difcil, especialmente se for usado com omascaramento do IP ou sub-redes locais e redes DMZ
Proxy
Firewalls de proxy filtram todos os pedidos de um determinado protocolo ou tipo dos clientes LAN para uma mquina proxy, que ento faz estes pedidos Internet representando o cliente local. Uma mquina proxy atua como um buffer entre usurios remotos maldosos e as mquinas dos clientes internos da rede.
D aos administradores o controle de quais aplicaes e protocolos funcionam fora da LAN Alguns servidores proxy podem armazenar dados frequentemente acessados no cache localmente, ao invs de ter que usar a conexo Internet para solicit-los, o que conveniente para reduzir o consumo desnecessrio de banda Os servios proxy podem ser registrados e monitorados de perto, permitindo um controle mais restrito sobre a utilizao de recursos na rede
Proxies so frequentemente especficos s aplicaes (HTTP, Telnet, etc.) ou restritos a protocolos (a maioria dos proxies funcionam com servios conectados por TCP, somente) Servios de aplicao no podem rodar por trs de um proxy, portanto seus servidores de aplicaes devem usar uma forma separada de segurana em rede Proxies podem se tornar um gargalo na rede, j que todos os pedidos e transmisses passam atravs de uma mesma fonte ao invs de passar diretamente do cliente para um servio remoto
cabealho para roteamento avanado e gerenciamento do estado de conexo. O Netfilter controlado atravs da funcionalidade iptables.
Ateno
Os servios ip6tables devem ser desligados para usar o servio iptables com os seguintes comandos: service ip6tables stop chkconfig ip6tables off
Para fazer com que o iptables inicie por default sempre que a mquina for inicializada, voc deve alterar o status do nvel de execuo (runlevel) do servio usando chkconfig. chkconfig --level 345 iptables on A sintaxe do iptables separada em camadas. A camada principal a corrente (chain). Uma corrente especifica o estado no qual um pacote manipulado. O uso o seguinte: iptables -A chain -j target O -A acrescenta uma regra no fim de um conjunto de regras existente. A corrente o nome da corrente para uma regra. As trs correntes embutidas do iptables (ou seja, as correntes que afetam todos os pacotes que trafegam pela rede) so INPUT, OUTPUT e FORWARD. Estas correntes so permanentes e no podem ser apagadas. A opo -j target(alvo) especifica a localidade no conjunto de regras do iptables onde essa regra especfica deve pular. Alguns alvos embutidos so ACCEPT, DROP e REJECT.
Correntes novas (tambm chamadas de correntes definidas pelo usurio) podem ser criadas usando a opo -N. Criar uma corrente nova til para personalizar ou elaborar regras.
iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
Importante
Ao criar um conjunto de regras do iptables, crucial lembrar que a ordem importante. Por exemplo: se uma corrente especifica que todos os pacotes da sub-rede local 192.168.100.0/24 so derrubados e uma outra corrente adicionada ( -A) para permitir pacotes do 192.168.100.13 (que est dentro da sub-rede restrita derrubada), ento a regra adicionada ignorada. Voc deve definir uma regra para permitir 192.168.100.13 primeiro, e ento definir uma regra para derrubar na sub-rede. Para inserir uma regra arbitrariamente num conjunto de regras existentes, use -I, seguido pela corrente na qual deseja inserir a regra e o nmero da regra (1,2,3,...,n) onde voc deseja que a regra resida. Por exemplo: iptables -I INPUT 1 -i lo -p all -j ACCEPT A regra inserida como a primeira no conjunto INPUT para permitir o trfego do dispositivo loopback local. Algumas vezes voc precisa de acesso remoto LAN de fora dela. Servios seguros, como SSH, podem ser usados para conexo remota criptografada aos servios da LAN. Para administradores com recursos baseados em PPP (tais como bancos de modem ou contas ISP volumosas), o acesso discado pode ser usado para circundar as barreiras do firewall seguramente, j que conexes via modem ficam tipicamente por trs de um firewall/gateway por serem conexes diretas. Entretanto, casos especiais podem ser elaborados para usurios remotos com conexes de banda larga. Voc pode configurar o iptables para aceitar conexes de clientes SSH remotos. Por exemplo: para permitir o acesso SSH remoto, as seguintes regras podem ser usadas: iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p udp --sport 22 -j ACCEPT H outros servios para os quais voc talvez precise definir regras. Consulte o Guia de Referncia do Red Hat Enterprise Linux para informaes detalhadas sobre o iptables e suas vrias opes. Estas regras permitem o acesso de entrada e sada para um nico sistema, como um PC conectado diretamente Internet ou firewall/porta de comunicao (gateway). No entanto, no permitem que os ndulos por trs do firewall/porta de comunicao acessem estes servios. Para permitir o acesso LAN a estes servios, voc pode usar o NAT com regras de filtragem do iptables.
ndulos de uma LAN acessem apropriadamente servios de rede internos e externos. Roteadores de borda (como firewalls) podem receber transmisses de entrada da Internet e rotear os pacotes para o ndulo pretendido na LAN. Ao mesmo tempo, o firewall/portas de comunicao (gateways) tambm podem rotear pedidos de sada de um ndulo da LAN para o servio remoto da Internet. Esse encaminhamento de trfego de rede pode se tornar perigoso s vezes, especialmente com a disponibilidade de ferramentas de cracking modernas que podem espionar endereos IP internos e fazer com que a mquina remota do atacante atue como um ndulo em sua LAN. Para evitar isso, o iptables oferece normas de roteamento e encaminhamento que podem ser implementadas para evitar o uso indevido dos recursos de rede. A norma FORWARD permite a um administrador controlar onde os pacotes podem ser roteados em uma LAN. Por exemplo: para permitir o encaminhamento para a LAN inteira (assumindo que o firewall/porta de comunicao tenha um endereo IP interno na eth 1), as seguintes regras podem ser definidas: iptables -A FORWARD -i eth1 -j ACCEPT iptables -A FORWARD -o eth1 -j ACCEPT Essa regra da acesso para a rede interna aos sistemas por trs do firewall/porta de comunicao. A porta de comuncao roteia os pacotes de um ndulo da LAN para o seu ndulo pretendido, passando todos os pacotes atravs de seu dispositivo eth1.
Nota
Por default, a norma IPV4 nos kernels do Red Hat Enterprise Linux desabilita o suporte para encaminhamento do IP, o que evita que caixas rodando o Red Hat Enterprise Linux funcionem como roteadores de borda dedicados. Para habilitar o encaminhamento do IP, execute o seguinte comando: sysctl -w net.ipv4.ip_forward=1 Se este comando for submetido em uma janela shell, a configurao no lembrada aps uma reinicializao da mquina. Voc pode definir o encaminhamento permanentemente, editando o arquivo /etc/sysctl.conf. Encontre e edite a linha a seguir, substituindo 0 por 1: net.ipv4.ip_forward = 0 Execute o seguinte comando para ativar a alterao do arquivo sysctl.conf: sysctl -p /etc/sysctl.conf
Aceitar pacotes encaminhados atravs do dispositivo IP interno do firewall permite que os ndulos da LAN comuniquem-se entre si; mas no permite que comuniquem-se externamente com a Internet. Para permitir que ndulos da LAN com endereos IP privados comuniquem-se com redes pblicas externas, configure o firewall com o mascaramento do IP, que mascara pedidos de ndulos da LAN com endereos IP do dispositivo externo do firewall (neste caso, eth0):
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE A regra usa a tabela de pacotes coincidentes da NAT (-t nat) e especifica a corrente POSTROUTING embutida para a NAT (-A POSTROUTING) no dispositivo de rede externa do firewall (-o eth0). O POSTROUTING (ps-roteamento) permite que os pacotes sejam alterados conforme deixam o dispositivo externo do firewall. O alvo -j MASQUERADE especificado para mascarar o endereo IP privado de um ndulo com o endereo IP externo do firewall/porta de comunicao. Se voc tem um servidor em sua rede interna que deseja disponibilizar externamente, pode usar o alvo -j DNAT da corrente PREROUTING na NAT para especificar um endereo IP e porta de destino para onde encaminhar os pacotes de entrada requisitando uma conexo. Por exemplo: se voc deseja encaminhar os pedidos HTTP de entrada para seu servidor Servidor HTTP Apache dedicado para 172.31.0.23, submeta o seguinte comando:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT \ --to 172.31.0.23:80
Esta regra especifica que a tabela NAT usa a corrente PREROUTING embutida para encaminhar pacotes HTTP de entrada exclusivamente para o endereo IP 172.31.0.23 listado.
Nota
Se voc tem uma norma default DROP na sua corrente FORWARD, deve adicionar uma regra para permitir o encaminhamento de pedidos HTTP de entrada para possibilitar o roteamento do destino da NAT. Para fazer isso, submeta o seguinte comando:
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 172.31.0.23 -j ACCEPT
Esta regra permite o encaminhamento de pedidos de entrada HTTP do firewall para seu destino pretendido no Servidor HTTP Apache por trs do firewall.
Nota
H uma distino entre DROP (derrubar) e REJECT (rejeitar) um alvo quando estamos lidando com regras adicionais. REJECT um alvo nega acesso e retorna um erroconnection refused (conexo negada) para usurios que tentarem se conectar ao servio. A ao DROP (derrubar) um alvo, como o nome sugere, derruba os pacotes sem nenhum aviso. Administradores podem usar sua prpria prudncia ao lidar com estes alvos; entretanto, para evitar a confuso do usurio e tentativas para continuar conectando, a REJECT alvo recomendada.
(nova) Um pacote requisitando uma nova conexo, como um pedido HTTP. (estabelecida) Um pacote que parte de uma conexo existente.
ESTABLISHED
(relacionado) Um pacote solicitando uma nova conexo, mas que parte de uma conexo existente, como conexes FTP passivas, nas quais a porta de conexo 20, mas a porta de transferncia pode ser qualquer uma (de 1024 para cima) no usada.
RELATED
(invlido) Um pacote que no faz parte de nenhuma das conexes da tabela de registro das conexes.
INVALID
Voc pode usar a funcionalidade de estado do registro de conexes do iptables com qualquer protocolo de rede, mesmo que o prprio protocolo seja sem estado/'stateless' (como o UDP). O exemplo a seguir mostra uma regra que usa o registro de conexo para encaminhar somente os pacotes associados a uma conexo estabelecida: iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ALLOW