Vous êtes sur la page 1sur 35

Implementando Firewall em Linux

Marcos A Guireli Jr
Maio / 2008

Firewall

Qualquer mquina ou equipamento que seja capaz de tomar decises em relao ao trfego de dados que circulam na rede.

Como surgiu o Firewall ?


Logo aps o surgimento das Redes de Computadores surgiu a necessidade de controle, e filtragem, dos dados que nelas circulavam. A partir dessa necessidade surgiu o Firewall.

O Termo Firewall
Originalmente o termo Firewall utilizado na Construo Civil para designar uma parede a prova de incndio. Literalmente pode-se traduzir Firewall como parede, ou muro, de fogo.

Funes de um Firewall
Existem firewalls especficos para determinados tipos de redes. As funes de um firewall variam de acordo com a rede em que est implementado. Em Redes TCP/IP temos basicamente as seguintes funes dos firewalls:

Funes de um Firewall
Filtro de pacotes por cabealho IP. Filtro de pacotes por contedo. Mascaramento e redirecionamento dos dados. Controle de acesso rede. Sistema de logs e Relatorio de trfego.

Tipos de Firewall
De acordo com as funes exercidas podemos dividir um Firewall em: Firewall de Pacotes ou Passagem. Firewall de Mascaramento. Firewall de Contedo. Proxy.

Topologia do Firewall na Rede


O posicionamento do Firewall extremamente importante para a segurana da rede. TODOS os dados que entrarem ou sairem da rede devem passar pelo Firewall. Deve existir na rede uma mquina apenas realizando a funo de Firewall.

Topologia do Firewall na Rede

Rede Interna Ligada a Internet.

Antes da Implementao

Antes de Implementar um Firewall devemos anlisar os seguintes aspectos:


Que servios voc deve proteger ? Quais devem ser liberados ou bloqueados para todos ? Que tipo de conexo eu devo permitir ? Qual devo bloquear ?

Antes da Implementao

Que mquinas tero acesso livre e quais sero restritas ? Que servios devem ter prioridade no processamento ? Qual o volume de trfego do servidor ? Qual rede sera realizado o NAT ( Network Address Translation ) ?

Antes da Implementao

Qual o tipo de firewall ser adotado ? O que deve ser salvo em log ? O que restrito a toda Rede ? Em caso de duas Redes Internas, elas devem se comunicar ? Algum dado de origem externa ser redirecionado a um destino especifico ? Qual a poltica padro dos filtros ?

O IPTABLES
O Iptables o Filtro de Pacotes padro do Linux. Substituiu o Ipchains apartir da srie 2.4.x do Kernel. A verso, estvel, atual do Iptables a 1.4.

O IPTABLES
O Iptables conhecido por sua segurana e qualidade. Vrios Administradores de Redes deixam de utilizar Firewalls proprietrios para utilizar o Iptables.

Caractersticas do Iptables
Necessita de pouco processamento. Rpido, estvel e seguro. Permite um numero ilimitado de regras. Suporte a deteco de fragmentos. Redireciona Portas NAT

Caractersticas do Iptables
Mecanismo interno para bloquear pacotes duvidosos automaticamente Limitao de pacotes por tempo de passagem. Priorizao de trfego por servio. Baixo requerimento de hardware (Mnimo 386 SX com 4MB de Ram ).

Definies Necessrias

Regras:
So comandos passados ao Iptables para que ele realize uma determinada ao. No Iptables as regras so processadas na ordem que so inseridas, ou seja, o Iptables segue uma ordem LINEAR na execuo de suas Regras.

Definies Necessrias

Chains:
Podemos definir chains como grupos aonde so armazanadas as regras do Iptables. Existem chains padres do Iptables ( Ex: INPUT, OUTPUT ), porm, se necessrio, o Administrador de Redes pode criar novas chains.

Definies Necessrias

Tabela:
Tabelas so como grupos de chains que possuem uma determinada caracterstica em comum. Assim como as chains existem tabelas padres do Iptables (Filters, NAT , Mangle), novas tabelas podem ser criadas pelo Administrador de Redes.

Explicaes Bsicas

Lembrando que o Iptables trata as regras linearmente. Caso no seja informada a tabela o Iptables utiliza a Tabela Padro (Filters), que contm as chains INPUT, OUTPUT e FORWARD. Iptables [-t tabela] : Lista as Regras da Tabela. Iptables [-t tabela] F : Apaga as Regras da Tabela.

Explicaes Bsicas

Modelo da Rede

Cliente 1 IP: 10.10.1.2 Mascara:255.255.255.252 Gateway: 10.10.1.1

Cliente 2 IP: 10.10.2.2 Mascara:255.255.255.252 Gateway: 10.10.2.1

Criando Arquivo com Regras


Devemos criar um arquivo qualquer para armazenar as regras do Iptables. No inicio do arquivo teremos as seguintes regras: Iptables F Iptables X Com o objetivo de sempre apagar regras ja existentes.

Aplicando Regras
Liberando conexes j estabelecidas entre os clientes Iptables A FORWARD s 10.10.1.2 d 10.10.2.2 m state --state ESTABLISHED j ACCEPT Iptables A FORWARD s 10.10.2.2 d 10.10.1.2 m state --state ESTABLISHED j ACCEPT

Descrio: Esta regra permite que o protocolo icmp de origem do cliente 2 com destino ao cliente 1 seja aceito.

Aplicando Regras

Liberando Cliente 1 para acessar WEB no Cliente 2

iptables A FORWARD p tcp s 10.10.1.2 d 10.10.2.2 -dport 80 j ACCEPT Descrio: Esta regra permite que dados utilizando o protocolo TCP da maquina cliente 1 com destino a maquina cliente 2 na porta 80 ( HTTP ) sejam aceitos.

Aplicando Regras

Liberando ping entre os dois Clientes.

Iptables A FORWARD p icmp s 10.10.2.2 d 10.10.1.2 j ACCEPT Iptables A FORWARD p icmp s 10.10.1.2 d 10.10.2.2 j ACCEPT

Descrio: Esta regra permite que o protocolo icmp de origem do cliente 2 com destino ao cliente 1 seja aceito.

Aplicando Regras

Liberando Acesso SSH ao Firewall

Iptables A INPUT p tcp --dport 22 j ACCEPT

Descrio: Esta regra permite que uma requisio de qualquer destino na porta 22 ( SSH ) do Firewall seja aceita.Esta regra extremamente utilizada, pois permite o gerenciamento Remoto do Firewall via SSH.

Aplicando Regras

Liberando Acesso SSH do Cliente 1 ao Cliente 2

Iptables A FORWARD p tcp s 10.10.1.2 d 10.10.2.2 -dport 22 j ACCEPT

Descrio: Esta regra permite que uma requisio do cliente 1 para o cliente 2 na porta 22 ( SSH ) seja aceita.

Aplicando Regras

Liberando Cliente 2 para Acessar WEB no Cliente 1

iptables A FORWARD p tcp s 10.10.2.2 d 10.10.1.2 -dport 80 j ACCEPT

Descrio: Esta regra permite que dados utilizando o protocolo TCP da maquina cliente 1 com destino a maquina cliente 2 na porta 80 ( HTTP ) sejam aceitos.

Regras Preventivas
As proximas regras devem ser aplicadas acima das regras de liberaes de servios. Por serem mais complexas elas so apresentadas apenas no final.

Regras Preventivas

Bloqueio de Fragmentos de IP

Iptables A INPUT f j DROP

Descrio: A opo f do Iptables bloqueia possiveis fragmentos de IP com destino a Rede.

Regras Preventivas

Limita as conexes do Protocolo TCP por Tempo

iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

Descrio: Limita o recebimento de pacotes do protocolo TCP a 1 por segundo.

Regras Preventivas

Sistema contra Synflood


iptables -N syn-flood iptables -A INPUT -i $IFACE -p tcp --syn -j syn-flood iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN iptables -A syn-flood -j DROP Descrio: Criada uma nova Chain para receber as flags syn do TCP/IP e faz o filtro pela quantidade de flags, se nao infrigir a regra a conexao pode continuar.

Regras Preventivas

Limita a Quantidade de dados do tipo ICMP, evitando o ataque Ping da Morte

Iptables A FORWARD p icmp --icmp-type echo-request m limit limit 1/s j ACCEPT

Descrio: Esta regra limita a quantidade de pings icmp a 1 por segundo.

Ultimas Regras

Como regras finais do Firewall teremos:

iptables A INPUT j DROP iptables A OUTPUT j DROP iptables A FORWARD j DROP

Com isso todo o trfego que no se enquadre nas regras acima ser bloqueado.

Conscientizao
Os Administradores de Redes devem SEMPRE utilizar um Firewall em sua Rede. Um Firewall imprescindvel para a Segurana de uma rede.

Vous aimerez peut-être aussi