Você está na página 1de 17

Sumário

1 Firewalls 2
1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Como fun iona um Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Componentes de um Firewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Filtro de pa otes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.2 Filtragem de Sistema Opera ional . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.3 Firewall NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.4 Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.5 Túneis riptografados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.6 Autenti ação riptografada . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Firewall em Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Controle de uxo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.1 Tabela Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.2 Tabela Nat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.3 Tabela Mangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Netlter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Firewall IPTABLES 12
2.1 Prin ipais ara terísti as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Integração om o Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Utilizando o Iptables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Regras padrões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Preparando o Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1
Capítulo 1

Firewalls
1.1 Introdução
Os rewalls são amplamente utilizados para auxiliar na proteção de uma rede TCP/IP. Há mui-
tos tipos e modelos de Firewall, desde Firewall embutido em Firmware até rewall em Software
ontrolando diversos serviços de Rede.
Bastante utilizado omo elo de proteção de uma rede e muitas vezes onfundido omo sendo
o elo prin ipal, um Firewall pode ajudar e ao mesmo tempo atrapalhar. Dependendo de sua
lo alização na Rede, o Firewall permite o ontrole de uxo de dados (Entrada/Saída), analisando
os abeçalhos dos pa otes e limitar a utilização de serviços autorizados.
Dentre os serviços e proto olos de Rede existentes, muitos apresentam falhas e erros, o que não
podem ser orrigidos pela simples implementação de um Firewall.
O ontrole da disponibilidade e utilização de ertos serviços e proto olos pode ser feito via
Firewall. A utilização da Internet pode ser ontrolada por um Firewall, numa empresa privada,
por exemplo. Assim, a segurança  a a argo do Firewall e não por onta de ada host da Rede
interna.
Um Firewall não onsegue proteger os hosts de uma infe ção por Vírus, mas pode evitar a
disseminação para outras redes. O Firewall não é feito para dete tar Vírus, isso é função de
Softwares Anti Vírus. Geralmente os Trojans e alguns Vírus, Worms e outras pragas se utilizam
de algumas portas de onexão e é fá il on luir que um Firewall bem ongurado pode bloquear
onexões nestas portas, monitorar o tráfego e até pro urar palavras haves embutidas em pa otes
não autorizados.
Controlar os tipos de proto olos e serviços disponibilizados (externo e interno), ompartilha-
mento de a esso à Internet, monitorar as onexões, bloqueio de a essos a sites e hosts, ontrole de
pa otes utilizados por diversos tipos de serviços onáveis ou não, isolar redes, mas arar endereços
IP de hosts, fazer NAT, et , são algumas ara terísti as dos Firewalls.
Tentativas de invasão são onstantes e ada vez mais sosti adas.
Um Firewall sozinho não onsegue evitar o ris o de uma invasão ser bem su edida. Sempre será
ne essário o uso de outras ferramentas de segurança, tais omo IDS, NIDS (Sistemas de dete ção
de intrusão), antivírus, sniers, et .

1.2 Como fun iona um Firewall


Os Firewall são usados para riar pontos de ontrole de segurança nas fronteiras das redes privadas.
Ao forne er a função de roteamento entre a rede privada e a Internet, os Firewall inspe ionam
toda a omuni ação passando entre as redes e/ou a transmitem ou a abandonam, dependendo
de omo ada omuni ação segue as normas programadas. Se um Firewall estiver ongurado
adequadamente e não ontiver nenhum erro sério que possa ser explorado, a rede estará livre de
ris os tanto quanto possível.

2
CAPÍTULO 1. FIREWALLS 3

É um programa que determina e ontrola o tráfego existente entre o mesmo e outros hosts
numa rede.
O Firewall foi desenvolvido pela Bell Labs em meados de 1980, sob en omenda da AT&T,
empresa de Tele omuni ações. O objetivo era ltrar todos os pa otes que entrassem e saíssem na
rede orporativa e manipulá-los de a ordo om as espe i açõs denidas pelos ientistas da Bell
Labs.
Essa função se mantém até hoje, om algumas melhorias e novas fun ionalidades.

1.3 Componentes de um Firewall


Os Firewalls mantêm uma onexão à Internet a mais segura possível inspe ionando e aprovando ou
rejeitando ada tentativa de onexão feita entre a rede internet e redes externas, omo a Internet.
Firewalls poderosos protegem uma rede em todas as amadas de Software, da amada de enla e
dos dados até a amada de apli ações.
Os Firewalls se lo alizam nas fronteiras de rede, nas inter onexões (gateways) que forne e
a esso a outras redes. Por essa razão os Firewalls são onsiderados uma proteção das fronteiras. O
on eito de proteção de fronteiras é importante, sem ele, qualquer host da rede teria de realizar as
funções de um Firewall sozinho, onsumindo inutilmente re ursos de omputação e aumentando
o tempo ne essário para one tar, autenti ar e riptografar os dados nas redes lo as de alta ve-
lo idade. Os Firewalls permitem entralizar todos os serviços de proteção externa em máquinas
otimizadas e dedi adas a essa tarefa.
Por sua natureza os Firewalls riam passagens estreitas entre a rede interna e externa para que
todo o tráfego entre uma e outra tenha de passar através de úni o ponto de ontrole. Esse é um
pequeno preço a se pagar pela segurança.
Os Firewalls operam usando primeiramente três métodos fundamentais:

• Filtragem de pa otes: Rejeita pa otes TCP/IP de hosts não autorizados e rejeita tenta-
tivas de onexão om serviços não autorizados.

• NAT (Network Address Translation - onversão de endereços de rede): Converte


os endereços IP dos hosts internos para o ultá-los de qualquer monitoração externa. A NAT
também é hamada de mas aramento de IP.

• Serviços Proxy: Faz om que as onexões de apli ativos de alto nível em benefí io de
hosts internos quebrem ompletamente a onexão da amada de rede entre os hosts interno
e externo.

A maioria dos Firewalls também realiza dois outros serviços importantes relativos à segurança:

• Autenti ação riptografada: Permite aos usuários da rede públi a provarem sua identi-
dade ao Firewall a m de obter a esso à rede privada a partir de pontos externos.

• Túneis riptografados: Estabele e uma onexão segura entre duas redes privadas por
meio de um públi o omo a Internet. Isso permite que redes si amente separadas usem a
Internet em vez de onexões de linhas diretas para omuni arem-se entre si. O tunelamento
é também hamado de VPN (Virtual Privative Network, rede privativa virtual).

1.3.1 Filtro de pa otes

Os primeiros Firewalls da Internet eram ltro de pa otes. Os ltros omparam os pa otes dos
proto olos de rede ( omo o IP) e os pa otes dos proto olos de transporte ( omo o TCP) om um
onjunto de regras ontidas em um ban o de dados e só en aminham os pa otes que atendam aos
ritérios espe i ados nessa ban o de dados de regras. Os ltros podem ser implementados em
roteadores ou nas pilhas TCP/IP dos servidores.
CAPÍTULO 1. FIREWALLS 4

Os ltros implementados dentro de roteadores evitam que tráfego suspeito al an e a rede de


destino, enquanto os módulos de ltros TCP/IP nos servidores simplesmente evitam que máquinas
espe í as respondam ao tráfego suspeito. O tráfego ainda assim al ança a rede e poderia atingir
qualquer máquina dela. Os ltros de roteamento protegem todas as máquinas da rede de destino
do tráfego suspeito.
Por essa razão, a ltragem nas pilhas TCP/IP dos servidores ( omo fazem alguns Sistemas
Opera ionais) somente deve ser usada omo uma adição a uma ltragem de roteamento e não em
seu lugar. Os ltrops de um modo geral seguem as seguintes regras:

• Re usar tentativas de onexões dirigidas para dentro, mas permitir que passem as tentativas
de onexão dirigidas para fora.

• Eliminar pa otes TCP ligados a portas que não deveriam estar disponíveis para a Internet
( omo a porta de uma sessão NetBIOS), mas permitir os pa otes que devem passar ( omo
o SMTP). A maioria dos ltros pode espe i ar om exatidão para que servidor um tipo de
tráfego deve ir. Por exemplo, tráfego SMTP na porta 25 deve ir somente para o endereço
IP de um servidor de E-Mails.

• Restringir o a esso dirigido para dentro de ertos internvalos de IPs.

Filtros sosti ados usam algoritmos proprietários para examinar os estados de todas as onexões
que uem através dele, pro urando sinais de invasão omo roteamento de origem, redire ionamento
de ICMP e tentativa de lograr IP. As onexões que exibem essas ara terísti as são abandonadas.
Os lientes internos geralmente têm permissão de riar onexões om hosts externos, e os hosts
externos geralmente são impedidos de ini iar tentativas de onexões. Quando um host interno
de ide ini iar um oneção TCP, ele envia uma mensagem TCP para o endereço IP e o número
www.linux.org:80 para one tar o site WEB www.
da porta do servidor públi o (por exemplo,
Linux.ORG). Na mensagem de iní io da onexão, ele informa ao servidor remoto o seu endereço
IP e que porta está ouvindo para obter uma resposta (por exemplo, lo alhst:2050).
O servidor externo envia os dados de volta transmitindo-os para a porta forne ida pelo liente
interno.
Como o Firewall inspe iona todo o tráfego tro ado entre os dois hosts, ele sabe que a onexão
foi ini iada pelo host interno one tado à sua interfa e interna , qual é o endereço IP do host e
qual é a porta na qual este espera re eber o tráfego de retorno.
Quando os hosts envolvidos na onexão fe ham a onexão TCP, o Firewall remove a entrada
de sua tabela de estados (sua memória de onexão ) que permite ao host remoto retornar tráfego
para o host interno.
A ltragem não resolve totalmente o problema de segurança na Internet. Primeiro, os endereços
IP dos omputadores dentro do ltro estão presentes no tráfego de saída, o que torna de erta
forma fá il determinar o tipo e o múmero de hosts Internet dentro de um ltro e dirigir ataques
ontra esses endereço. A ltragem não o ulta a identidade dos hosts dentro do ltro.
Os ltros não podem investigar todos os fragmentos de uma mensagem IP baseada em proto-
olos de alto nível omo nos abeçalhos TCP, porque estes só existem no primeiro fragmento. Os
fragmentos subsequentes não ontém informações de abeçalhos e só podem ser omparados om
as regras em nível de IP, que são geralmente relaxadas para permitir algum tráfego pelo ltro.
Isso permite a exploração de erros nas pilhas IP de destino dos omputadores da rede e poderia
permitir a omuni ação om um avalo de Tróia instalado dentro da rede.

1.3.2 Filtragem de Sistema Opera ional

A maioria dos S.Os Unix e Windows in luem a ltragem de pa otes na interfa e do proto olo
TCP/IP. Essa ltragem pode ser usada em adição a um Firewall poderoso para ontrolar o a esso
aos servidores individuais; essa ltragem também pode ser usada para ofere er uma medida adi i-
onal de segurança interna sem o usto de Firewalls olo ados dentro da organização. Como apenas
CAPÍTULO 1. FIREWALLS 5

a ltragem não é su iente para proteger toda a rede, a ltragem interna do S.O. não é su iente
para riar um ambiente totalmente seguro.
Não onte apenas om a ltragem interna do S.O. para proteger uma rede, a não ser que vo ê
use um S.O. OpenBSD ou outro Unix.
Vo ê deve usar as funções de ltragem dos S.O. dentro da rede para estabele er ltros que
deixem passar somente aqueles proto olos que vo ê tem a intenção explí ita de atender. Isso
evita que algum Software faça algo não esperado e impede que avalos de Tróia operem mesmo se
onseguirem ser instalados.
A ltragem bási a do S.O. permite denir ritérios de a eitação de ada adaptador de rede
presente no omputador nas onexões de entrada om base em:

• Número do proto olo IP

• Número da porta TCP

• Número da porta UDP

Geralmente a ltragem não se apli a às onexões para fora (aquelas que se originam no servidor)
e é denida separadamente para ada adaptador do sistema.
Um servidor típi o monta serviços para operar nas portas apresentadas a seguir.
Essas portas pre isam ser abertas por meio do ltro para que esses serviços fun ionem orre-
tamente.
Eis alguns exemplos:

Porta Serviço TCP/IP


7 E ho
9 Dis ard
11 Systat
13 Daytime
17 Quote of the Day
19 Chara ter Generator

Os servidores Internet geralmente operam nas portas a seguir:

Porta Serviço
21 FTP - File transfer proto ol
23 Telnet
70 Gopher
80 HTTP (WWW)
119 NNTP (Net News)

Os servidores de arquivos geralmente operam nas portas a seguir:

Porta Serviço
53 DNS (Domain Name Servi e)
135 RPC Lo ator Servi e
137 NetBIOS Name Servi e
139 NetBIOS Session Servi e
515 LPR - Serviço de impressão

Os servidores de E-Mail geralmente são ongurados para operar nas seguintes portas:

Porta Serviço
25 SMTP - Simple Mail Transfer Proto ol
110 POP - Post O e Proto ol
143 IMAP - Internet Mail A ess Proto ol
CAPÍTULO 1. FIREWALLS 6

Se for instalar outro Software de serviços, pre isará se erti ar de que o ltro do servidor
esteja ongurado para operar nas portas exigidas pelo serviço, aso ontrário o serviço não vai
fun ionar. Isso não se apli a a Firewalls de Fronteira, ou Firewalls de Borda, que devem ser
ongurados somente para passar um serviço se vo ê tiver a inteção de forne er esse serviço ao
públi o.
A relação das portas e dos Serviços TCP/IP estão rela ionadas no arquivo /et /servi es, em
S.O. Unix, Linux e *BSD.
Como padrão, desabilite todos os proto olos e endereços e depois habilite os serviços e os hosts
que deseja suportar. Desabilite todas as tentativas de onexão dirigida para dentro, vo ê permitirá
que os ha kers estabeleçam onexões a avalos de Tróia ou explorem erros (bugs) no Software do
serviço. Filtre e não responda a nenhum redire ionamento ICMP e a nenhuma mensagem de e ho
(ping). Abandone todos os pa otes que tenham tido a rota de origem alterada. O roteamento de
origem raramente é usado om propósitos legítimos. Abandone todas as atualizações de proto olos
de roteamento externos (RIP, OSPF) en aminhadas a roteadores internos. Ninguém de fora da
rede deve transmitir atualizações RIP. Considere a não-permissão de fragmentos além do número
zero, pois essa fun ionalidade tornou-se obsoleta e frequentemente explorada. Coloque hosts de
serviços públi os omo servidores WEB e servidores SMTP fora dos ltros de pa otes em vez de
abrir ex eções por meio dos ltros de pa otes. Não one apenas na ltragem de pa otes para
proteger uma rede.
O Linux tem implementado a ltragem de pa otes desde a primeira geração dos Kernels (1.X).
Em 1994 foi portado omo nativo desses Kernels.
Todo o tráfego dire ionado ao Firewall ou à rede é ltrado. As regras são analisadas previa-
mente. O Administrador insere as regras no Firewall.
Fun iona analisando os abeçalhos dos pa otes durante o tráfego. Faz omparações de regras
e de ide se os pa otes trafegam pela rede ou se são bloqueados/ignorados. A falta de regras pode
permitir a ir ulação de pa otes não onáveis.
Na implementação de um ltro de pa otes deve-se analisar 3 itens:
Controle, Segurança e Vigilân ia.

1.3.3 Firewall NAT

A onversão de endereços de rede, também onhe ida omo mas aramento de IPs resolve o pro-
blema de o ultar os hosts internos. A NAT na verdade é um proxy fundamental: um úni o host
faz as soli itações em nome de todos os hosts internos, o ultando assum suas identidades da rede
públi a.
A NAT o ulta os endere os IP internos onvertendo todos os endereços de hosts internos para
o endereço do Firewall. Este então retransmite os dados dos hosts internos a partir de seu próprio
endereço usando o número da porta TCP para saber quais onexões do lado públi o devem ir para
que hosts do lado privado interno. Para a Internet, todo o tráfego da rede pare e vir de um só
omputador extremamente o upado.
A NAT onsegue o ultar e ientemente todas as informaçõs de TCP/IP sobre os hosts internos
de olhos uriosos que possam estar presentes na Internet. A onversão de endereços também
permite usar qualquer intervalo de endereços IP desejados na rede interna, mesmo que estes já
estejam sendo usados em qualquer outro lugar na Internet. Isso signi a que não é ne essário
registrar um blo o grande (intervalo de endereços IP grande) na InterNIC ou ter de atribuir
novamente números de rede a partir daqueles usados antes de one tar a rede à Internet.
Finalmente, a NAT permite multiplexar um úni o endereço IP por toda a rede. Muitas peque-
nas empresas dependem dos serviços de um provedor de a esso à internet que talvez seja relutante
em forne er intervalos de endereços grandes porque seu próprio intervalo é relativamente pequeno.
Pode-se optar por ompartilhar um úni o endereço sem informar ao seu ISP. Todas essas opções
são possívei usando mas aramento de IPs.
Por outro lado, a NAT é implementada somente no nível TCP/IP. Isso signi a que as informa-
ções es ondidas nos dados do tráfego TCP/IP poderiam ser transmitidas para um serviço de nível
mais alto e usadas para explorar pontos fra os no tráfego de alto nível ou para se omuni arem
CAPÍTULO 1. FIREWALLS 7

om um avalo de Tróia. Ou seja, ainda assim terá de usar um serviço de alto nível omo um
proxy para evitar as bre has na segurança dos serviços de nível mais alto.

1.3.4 Proxies

A NAT resolve muitos problemas asso iados om as onexões diretas via Internet, mas ainda assim
não restringe ompletamente o uxo de datagrams por meio do Firewall. É possível que alguém
monitore o tráfego de saída do Firewall e determine que este está onvertendo os endereços para
outras máquinas. Assim é possível que um ha ker desvie as onexões TCP ou engane as onexões
de retorno por meio do Firewall.
Os Proxies em nível de apli ativos impedem que isso a onteça. Eles permitem des one tar
totalmente o uxo de proto olos em nível de rede por meio do Firewall e restringir o tráfego
somente para proto olos de alto nível omo HTTP, FTP e SMTP.
Os proxies subsituem as tentativas de onexão a servidores dirigidas para fora e fazem a soli-
itação para o servidor de destino real em nome do liente. Quando o servidor retorna os dados,
o proxy transmite esses dados para o liente. Os proxies realizam, essen ialmente, um ataque
benigno omo se houvesse alguém no meio do aminho, e são um bom exemplo de omo qualquer
roteador entre vo ê e outro sistema de ponta poderia, poten ialmente, realizar qualquer tipo de
pro essamento sem sua permissão.
Os proxies de apli ativos são diferentes da NAT e dos ltros em que o apli ativo liente Internet
é (geralmente) ongurado para dialogar om oproxy. Por exemplo, vo ê informa ao seu Browser
o endereço do seu proxy WEB, e o Browser envia todas as soli itações WEB para esse servidor
em vez de resolver o endereço IP e estabele er uma onexão diretamente.
Os proxies de apli ativos não pre isam ser exe utados em Firewalls; qualquer servidor pode
realizar o papel de um proxy seja dentro ou fora de sua rede. Sem um Firewall, não há nenhuma
segurança realmente, de modo que ambos são ne essários. Pelo menos algum tipo de ltro de
pa otes pre isa ser usado para proteger o servidor proxy de ataques por re usa de serviço na
amada de rede. Além disso, se o proxy não for exe utado no Firewall, vo ê terá de abrir um
anal através do Firewall de um modo ou de outro. O ideal é que o próprio Firewall realize a
função de proxy. Isso irá evitar que os pa otes do lado públi o sejam en aminhados através do
Firewall.
Alguns proxies de Firewall são mais sosti ados que outros. Como eles têm a fun ionalidade de
um ltro e mas aramento de IPs, poderão simplesmente bloquear tentativas de onexões dirigidas
para fora (porta 80 para HTTP) om hosts remotos em vez de ter de ongurar o Software liente
para endereçar o serviço proxy espe i amente. O Proxy Firewall nesse aso one ta o servidor
remoto e soli ita os dados em nome do liente bloqueado. Os dados obtidos dessa forma são então
retornados para o liente soli itante usando a fun ionalidade NAT do Firewall para que a operação
pare a ser realizada pelo servidor remoto de verdade. Os proxies que podem operar dessa maneira
são hamados de transparentes.
Os proxies de segurança são apazes in lusive de realizar ltragem em nível de apli ativos para
onteúdo espe í o. Por exemplo, alguns proxies HTTP Firewall pro uram por instruções em
páginas HTML que façam referên ia a applets Java ou A tiveX embutidas e então retiram esse
onteúdo das páginas. Isso evita que a applet seja exe utado nos lientes e elimina o ris o de o
usuário a identalmente des arregaar um Trojan. Esse tipo de ltragem é extremamente importante
porque a ltragem, o uso de proxies e o mas aramento de IPs não são apazes de evitar que uma
rede seja omprometida se os usuários forem onven idos a des arregar um Trojan embutido em
uma applet Java ou A tiveX.
À medida que se avança na es ala de amada de rede, os serviços de segurança vão se tornando
ada vez mais espe í os. Por exemplo, a ltragem é espe í a dos endereços IP e depois TCP
e UDP. Os apli ativos que usam IP om outros proto olos omo o Banyan Vines pre isam usar
Firewalls espe ias de alto usto e in omuns.
Os proxies são extremamente espe í os porque eles somente podem operar para um apli ativo
espe í o. Por exemplo, pode-se ter um módulo de Software de proxy para HTTP, outro módulo
CAPÍTULO 1. FIREWALLS 8

de proxy para FTP, e assim por diante. À medida que esses proto olos evoluem, o módulo proxy
desse proto olo terá de ser atualizado.
Muitos proto olos existentes são proprietários ou tão raros que não existem proxies de segurança
para eles. Não há proxies para proto olos de apli ativos proprietários omo o Lotus Notes, de modo
que esses proto olos pre isam ser enviados através de um ltro de amada de rede ou usarem proxies
genéri os TCP que regeneram o pa ote simplesmente transferindo os dados úteis. O SOCKS é
uma forma espe í a de um proxy genéri o, algumas vezes hamado de gateways em nível de
ir uito. Embora o uso de proxies genéri os não possa envitar ataques a partir do onteúdo de
um proto olo, eles ainda assim são mais seguros que o roteamento ltrado porque os pa otes da
amada de rede são totalmente regenerados e, assim, são limpos, de malformações que poderiam
não ser dete tadas pelo Firewall.
Sempre que possível utilize servidores proxy para todos os proto olos de apli ativos. Considere
também desativar serviços para os quais não há servidores proxies. Use proxies de alto nível
apazes de retirar onteúdo exe utável omo A tiveX e Java das páginas Web.

1.3.5 Túneis riptografados

Os túneis riptografados (também hamados de VPNs, Virtual Privative Networks, Redes Priva-
tivas Virtuais) permitem one tar om segurança duas redes separadas si amente pela Internet
sem expor os dados a monitores. Os túneis riptografados por sua vez poderiam estar sujeitos a
tentativas de redire ionamento, iní io de onexões falsas e todos os tipos de ha king (invasões)
enquanto o túnel estivesse estabele ido. Porém, quando implementados omo parte integrante de
um Firewall, os serviços de autenti ação e segurança do Firewall podem ser usados para evitar a
exploração enquanto o túnel está sendo estabele ido.
Uma vez estabele ido, os túneis são impenetráveis enquanto a riptograa for segura. E, omo
os Firewalls  am nas fronteiras da Internet, eles existem nos pontos terminais perfeitos para ada
extremidade do túnel. Essen ialmente, as redes privadas podem onduzir o tráfego omo se fossem
duas sub-redes do mesmo domínio.
Além disso, os túneis riptografados permitem aos usuários endereçar hosts remotos internos
diretamente usando seus endereços IP o ultos. O mas aramento de IPs e os ltros de pa otes
deveriam evitar isso aso a tentativa de onexão viesse diretamente da Internet.
Use túneis riptografados em todas as omuni ações pela Internet entre unidades organiza io-
nais se os links diretos não estiverem disponíveis ou forem aras demais. Nun a faça a omuni ação
entre unidades organiza ionais pela Internet sem usar alguma forma de riptograa. Os abeça-
lhos de pa otes não riptografados ontêm informações pre iosas sobre a estrutura de uma rede
Internet.

1.3.6 Autenti ação riptografada

A autenti ação riptografada permite que usuários externos na Internet provem a um Firewall
que eles são usuários autorizados e, assim, autorizados a abrir uma onexão por meio do Firewall
om a rede interna. A autenti ação riptografada poderia usar qualquer número de proto olos de
autenti ação protegidos. Uma vez estabele ida a onexão, ela poderá ou não ser riptografada,
dependendo do produto Firewall usado e se foi instalado Software adi ional no liente para suportar
o tunelamento.
O uso de autenti ação riptografada é onveniente porque ela o orre no nível de transporte entre
um pa ote de Software liente e o Firewall. Uma vez aberta a onexão, todo Software apli ativo
normal e todo software apli ativo normal e todo Software de logon do Sistema Opera ional serão
exe utados sem impedimentos de modo que vo ê não pre isará usar pa otes de Softwares espe iais
que suportem um Firewall espe í o.
Infelizmente, a autenti ação riptografada reduz a segurança do Firewall. Por sua natureza,
ela provo a os seguintes problemas:
CAPÍTULO 1. FIREWALLS 9

• O Firewall pre isa responder por alguma porta porque ele dete ta as tentativas de onexão.
E isso pode mostrar aos ha kers que o Firewall existe.

• A onexão poderia ser redire ionada usando o ICMP depois de estabele ida, espe ialmente
se não for riptografada.

• Um ha ker que tenha monitorado o estabele imento da onexão poderia ser apaz de ludi-
briar o endereço do liente autorizado para ter a esso ao interior da rede sem redire ionar
nenhuma onexão existente.

• Um omputador portátil roubado om as haves apropriadas poderia ser usado para se ter
a esso à rede.

• Fun ionários que trabalham em asa poderiam tornar-se alvo de um ha ker, pois seus
omputadores são apazes de a essar a rede privada.

• O pro edimento de autenti ação poderia onter falhas ou não ser totalmente seguro, permi-
tindo assim qualquer um na Internet abrir bre has no Firewall.

Na práti a, todos esses ris os não são prováveis de o orrer. Os administradores de ambientes de
ris o médio para pequeno não devem sentir-se des onfortáveis usando autenti ação riptografada,
desde que a onexão seja riptografada durante toda sua duração.

O Linux tem uma forma de autenti ação riptografada hamada IPChains, que é
pare ida om o túnel riptografado, mas sem a riptograa. O Windows NT usa
autenti ação riptografada omo padrão, mas esta é de iente e não é apropriada
para uso na Internet.

1.4 Firewall em Linux


Tanto em Linux omo em outros Sistemas Opera ionais, as funções de Firewall são agregadas à
própria arquitetura do Kernel.
Alguns produtos podem ser denidos omo sub-sistema, outros podem ser tratados omo um
Sistema Opera ional dedi ado a Firewall.
Tudo o que hega ou sai de um host é pro essado por seu Kernel, independente do S.O. O
que o Linux faz de diferente é agregar, via Netlter (software este ini ialmente a oplado ao S.O)
funções de ontrole de uxo interno em termos de Firewall.
O Kernel ontrola todo o uxo de informações que entram e saem, leitura e exe ução de
programas, es rita, et , de um Sistema Opera ional.
No aso de Firewalls, o Kernel também vai ontrolar o uxo de dados, através de Softwares
auxiliares.
Há Firewalls omer iais baseados em Linux ou outros S.Os, que realizam tarefas dedi adas e
que são onsiderados produtos de grife e, geralmente aros.
Em relação a Open Sour e, para Linux há o Firewall Iptables, onsiderado um dos Firewalls
mais seguros e de ódigo-fonte aberto.

1.5 Controle de uxo


O Linux utiliza-se de um re urso independente em termos de Kernel para ontrolar e monitorar
todo o uxo de dados dentro de sua estrutura opera ional. Mas não o faz sozinho, pois sua função
deve ser a de trabalhar ao lado de pro essos e tarefas tão somente.
Para que o Kernel pudesse então ontrolar seu próprio uxo interno lhe fora agregada uma
ferramenta hamada Netlter.
CAPÍTULO 1. FIREWALLS 10

Criada por Mar Bou her, James Morris, Harald Welte e Rusty Russel, o Netlter é um
onjunto de situações de uxo de dados agregadas ini ialmente ao Kernel do Linux e dividido em
tabelas:
Filter, Nat e Mangle
Cada uma destas tabelas ontém regras dire ionadas a seus objetivos bási os.

1.5.1 Tabela Filter

Guarda regras apli adas a um Firewall ltro de pa otes e ontém 3 modelos de situ-
ação de uxo:
• INPUT: Tudo o que entra no host.

• OUTPUT: Tudo o que sai do host.

• FORWARD: Tudo o que hega ao host mas deve ser redire ionado a um host se undário
ou outra intefa e de rede.

1.5.2 Tabela Nat

Guarda regras apli adas a um Firewall tipo NAT (Network Address Translation). As
situações são:
• PREROUTING: Utilizada quando há ne essidade de se fazer alterações em pa otes antes
que os mesmos sejam roteados.

• OUTPUT: Trata os pa otes emitidos pelo host Firewall.

• POSTROUTING: Utilizado quando há ne essidade de se fazer alterações em pa otes após


o tratamento de roteamento.

1.5.3 Tabela Mangle

Implementa alterações espe iais em pa otes em um nível mais omplexo. A tabela


Mangle é apaz, por exemplo, de alterar a prioridade de entrada e saída de um pa ote baseado
no tipo de serviço (TOS) o qual o pa ote se destinava. Suas situações são:

• PREROUTING: Modi a pa otes dando-lhes um tratamento espe ial antes que os mesmos
sejam roteados.

• OUTPUT: Altera pa otes de forma espe ial gerados lo almente antes que os mesmos
sejam roteados.

1.6 Netlter
Um host para fazer parte de uma rede pre isa de situações ( hains) de entrada (INPUT) e saída
(OUTPUT). A hain de redire ionamento ou en aminhamento (FORWARD) permite que se
manipule o que se redire iona/en aminha a outros hosts.
O Kernel do Linux possui funções de Firewall graças as tabelas que se agregam ao Netlter,
que por sua vez está originalmente agregado ao Kernel.
As tabelas do Netlter possibilitam ontrolar todas as situações ( hains) de um host.
O Netlter deverá estar ompilado om o Kernel.
Uma ferramenta de Front-End deverá ser usada para o ontrole das situações ( hains) ontidas
nas tabelas agregando-lhes regras de tráfego.
As regras pré-denidas são apli adas a m de dis iplinar todo um tráfego de dados em uma
rede ou host.
As Ferramentas de manipulação do Linux são:
CAPÍTULO 1. FIREWALLS 11

• IPFWADM  KERNEL 2.0


• IPCHAINS  KERNEL 2.2
• IPTABLES  KERNEL 2.4/2.6
Capítulo 2

Firewall IPTABLES
O Iptables é uma ferramenta front-end para permitir manipular as tabelas do Netlter, embora
o mesmo seja onstantemente onfundido om um Firewall por si só.
É mais robusto, ompleto e tão estável quanto seus ante essores IPFWADM e IPCHAINS,
implementados nos Kernels 2.0 e 2.2 respe tivamente.
O Iptables foi on ebido por Rusty Russel, em olaboração om Mi hel Neuling e in orporado
a versão 2.4 do Kernel em Julho de 1999. O mesmo ompõe a quarta geração de sistemas Firewall
no Linux.

2.1 Prin ipais ara terísti as


• Implementação de ltros de pa otes;

• NAT : Network Address Translation

• Controles de QOS : Qualidade de Serviço;

• SNAT: Sour e NAT;

• DNAT: Destination NAT;

• Redire ionamento de endereços e portas;

• Mas aramento de onexões;

• Dete ção de fragmentos;

• Monitoramento de tráfego;

• TOS : Tipo de Serviço;

• Anti Spoong;

• Proteção ontra SYN-FLOOD, DOS, S anners o ultos e outros;

• Utilização de módulos externos.

Não ne essita de Hardware aro e omplexo e exige no mínimo 16 MBytes de memória RAM. O
Kernel deve ser 2.4 ou superior.
O Iptables é omposto pelos seguintes apli ativos:

iptables: Apli ativo prin ipal do pa ote iptables para proto olos IPv4.

ip6tables: Apli ativo prin ipal do pa ote iptables para proto olos IPv6.

12
CAPÍTULO 2. FIREWALL IPTABLES 13

iptables-save: Apli ativo que salva todas as regras inseridas na sessão ativa e ainda em memória
em um determinado arquivo informado pelo administrador do Firewall.

iptables-restore: Apli ativo que restaura todas as regras salvas pelo software iptables-save.
Os Software Iptables e Netlter possuem sua políti a de direitos e distribuição sob as regras do
GNU onforme publi ado pela Free Software Foundation (FSF).

2.2 Integração om o Linux


O Iptables é um módulo do Kernel do Linux, logo, o mesmo deve estar sendo exe utado pelo
sistema para que possa vir a fun ionar.
front-end do Firewall adotado pela distribuição 2.2 do Kernel ainda ompõe algu-
O Ip hains,
/lib/modules/2.4.18-
mas versões do Kernel 2.4 por questões de ompatibilidade. Seu módulo está em:
2 l/kernel/net/ipv4/netlter/ip hains.o, no aso de um Cone tiva Linux.
Esse módulo deve ser desativado quando não utilizado, da seguinte maneira:

$> rmmod ip hains


A listagem dos módulos ativos em seu S.O. Linux é obtida om o omando lsmod:

$> lsmod

• ipt_TCPMSS 2360 1 (auto lean)

• ipt_t pmss 792 1 (auto lean)

• ipt_un lean 6712 1 (auto lean)

• ipt_multiport 664 16 (auto lean)

• ipt_limit 856 4 (auto lean)

• ipt_MASQUERADE 1400 1

• ipt_state 504 3 ipt_LOG 3448 2

• ip_nat_ftp 2544 0 (unused)


• iptable_nat 16814 2 [ipt_MASQUERADE ip_nat_ftp℄
• ip_ onntra k_ftp 3632 1
• ip_ onntra k 18564 1 [ipt_MASQUERADE ipt_state ip_nat_ftp iptable_nat
ip_ onntra k_ftp℄
• iptable_lter 1644 1
• ip_tables 12000 12 [ipt_TCPMSS ipt_t pmss ipt_un lean ipt_multiport ipt_limit
ipt_MASQUERADE ipt_state ipt_LOG iptable_nat iptable_lter℄
• ppp_syn tty 4968 0 (unused)

• ppp_asyn 6528 1

• ppp_generi 19556 3 [ppp_syn tty ppp_asyn ℄

• slh 4592 0 [ppp_generi ℄

• snd-p m-oss 36736 0


CAPÍTULO 2. FIREWALL IPTABLES 14

• snd-mixer-oss 12376 1 [snd-p m-oss℄

• uh i 24284 0 (unused)

• eh i-h d 17516 0 (unused)

• usb ore 59148 1 [uh i eh i-h d℄

• snd-via82xx 13376 1

• gameport 1420 0 [snd-via82xx℄

• snd-a 97- ode 58556 0 [snd-via82xx℄

• snd-p m 54344 0 [snd-p m-oss snd-via82xx snd-a 97- ode ℄

• snd-timer 13764 0 [snd-p m℄

• snd-mpu401-uart 3136 0 [snd-via82xx℄

• snd-rawmidi 12480 0 [snd-mpu401-uart℄

• snd-seq-devi e 3812 0 [snd-rawmidi℄

• snd 32772 0 [snd-p m-oss snd-mixer-oss snd-via82xx snd-a 97- ode snd-p m snd-timer snd-
mpu401-uart snd-rawmidi snd-seq-devi e℄

• snd-page-allo 4712 0 [snd-mixer-oss snd-via82xx snd-p m snd-timer snd-rawmidi snd-seq-


devi e snd℄

• sound ore 3396 4 [snd℄

• via-rhine 12336 2 mii 2272 0 [via-rhine℄

• r 32 2880 0 [via-rhine℄ ide-s si 9392 0

• agpgart 45508 0 (unused)

Os módulos desta ados são referentes ao Iptables. Se não apare er na lista eles deverão ser
a ionados om o seguinte omando:

$> insmod ip_tables


Por estar in orporado diretamente ao Kernel, a onguração do Iptables não se dá por via de
arquivos de onguração, ao ontrário, sua manipulação é realizada por síntese digitada em shell.
Os módulos de Kernel (Kernel 2.4.31 de um Linux Sla kware 10.2), rela ionados ao Iptables,
são:
/lib/modules/2.4.31/kernel/net/ipv4/netlter/arp_tables.o.gz
/lib/modules/2.4.31/kernel/net/ipv4/netlter/arptable_lter.o.gz
/lib/modules/2.4.31/kernel/net/ipv4/netlter/ip_tables.o.gz
/lib/modules/2.4.31/kernel/net/ipv4/netlter/iptable_lter.o.gz
/lib/modules/2.4.31/kernel/net/ipv4/netlter/iptable_mangle.o.gz
/lib/modules/2.4.31/kernel/net/ipv4/netlter/iptable_nat.o.gz

As regras são digitadas manualmente e arregadas na memória do S.O. e já passam a valer.


Pode-se armazenar as regras em arquivos e ongurar s ripts de ini ialização para a leitura
das regras no boot do Sistema Opera ional. É o método mais práti o e mais utilizado. A arga
dinâmi a das regras geralmente é utilizada para testar novas regras, veri ar resultados e oletar
informações sobre o Firewall.
O omando iptables-save salva as regras em arquivo texto (/et /r .rewall):
$> iptables-save > /et /r .rewall
CAPÍTULO 2. FIREWALL IPTABLES 15

Exemplo de um arquivo de regras de Firewall Iptables:


$> at /et /r .rewall

*lter
:INPUT ACCEPT [172:26448℄
:FORWARD ACCEPT [0:0℄
:OUTPUT ACCEPT [228:17272℄
-A FORWARD -s 10.0.3.4 -d 10.0.3.83 -j DROP
-A FORWARD -p i mp -m i mp i mp-type 8 -j DROP
-A FORWARD -p t p -m limit limit 1/se -j ACCEPT
-A FORWARD -m un lean -j DROP
COMMIT

shell s ripts do
O arquivo que ontém as regras deverá ser olo ado no diretório de ini ialização de
Linux, geralmente em /et /r .d. Pode-se olo ar uma hamada ao arquivo de regras (/et /r .rewall)
no nal do arquivo /et /r .d/r .lo al.

2.3 Utilizando o Iptables


A síntese do Iptables é bem simples e lógi a:
iptables [tabela℄ [ omando℄ [ação℄ [alvo℄

2.3.1 Tabelas

As tabelas são as mesmas que ompõem o Netlter, Filter, NAT e Mangle.

$> iptables -t lter: Insere uma regra utilizando a tabela lter


$> iptables -t mangle: Insere uma regra utilizando a tabela Mangle

$> iptables -t nat: Insere uma regra utilizando a tabela NAT

A tabela lter é a padrão do Iptables, logo, se adi ionarmos uma regra sem utilizarmos a opção
-t (tabela), o mesmo apli ará situações ontidas na tabela lter a tal regra. Sempre que uma
síntese não espe i a a tabela a ser utilizada, o Iptables adota a lter por padrão. Já no aso das
tabela NAT e Mangle, é ne essário espe i ar sempre.

2.3.2 Comandos

-A : Adi iona (anexa) uma nova entrada ao m da lista de regras


iptables -A INPUT : Adi iona uma nova regra ao nal da lista referente a INPUT hain
-D : Apaga uma regra espe i ada na lista
iptables -D INPUT , O omando -D permite apagar uma erta regra por seu número da lista
de o orrên ias no Iptables.
iptables -D FORWARD 2 : Apaga a regra de número 2 referente a FORWARD hain
-L : Lista as regras existentes na lista
iptables -L FORWARD:
Chain FORWARD [poli y ACCEPT℄
target prot opt sour e destination
DROP i mp  anywhere anywhere i mp e ho-request
ACCEPT t p  anywhere anywhere limit: avg 1/se burst 5
DROP all  anywhere anywhere un lean
CAPÍTULO 2. FIREWALL IPTABLES 16

Nesta listagem, referentes as regras anexadas a FORWARD hain, foram relatadas 3


o orrên ias.
-P : Altera a políti a padrão das hains. Ini ialmente todas as hains de uma tabela são setadas
omo ACCEPT, ou seja, a eitam todo e qualquer tipo de tráfego.

O omando abaixo:
iptables -P FORWARD DROP
hain FORWARD e ao invés de dire ioná-la para o alvo
modi a a políti a padrão da
ACCEPT o leva a DROP. Um pa ote que é onduzido ao alvo drop é des artado pelo sistema.
A nova políti a da FORWARD hain será:

$> iptables -L FORWARD


Chain FORWARD (poli y DROP)
target proto opt sour e destination
DROP i mp  anywhere anywhere i mp e ho-request
ACCEPT t p  anywhere anywhere limit: avg 1/se burst 5
DROP all  anywhere anywhere un lean
Sempre que possível, antes de ini iar a onguração de um Firewall sobre qualquer tabela, modi-
que a políti a padrão de suas hains para REJECT ou DROP, isso lhe dará a tranquilidade de
que enquanto vo ê on lui a onguração do mesmo, nenhum pa ote inesperado trafegará por seu
host/rede.

2.4 Regras padrões


Na instalação padrão de um S.O. Linux as regras de Firewall existentes são simpli adas, podendo
liberar ou bloquear o tráfego de rede, totalmente ou par ialmente:
#Politi a Padrão
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
Faz um DROP (apaga por ompleto) os pa otes de entrada (INPUT), os pa otes FORWARD
e permite passar os pa otes de Saída (OUTPUT).
#Limpando as Chains
$IPTABLES-F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -Z
O signi ado de ada opção :
-t refere-se a uma determinada tabela, tabela nat, por exemplo.
-F Limpa todas as regras existentes.Faz um ush (limpeza).
-X apaga todas as regras existentes ( hains).
-Z zera todos os ontadores de de pa otes e bytes das regras.

As páginas dos manuais do omando iptables apresentam detalhes ompletos de ada


opção. Muitos manuais sobre Iptables podem ser en ontrados em formatos PDF, HTML, et .:
http://fo alinux. ipsga.org.br/download-spl.html
http://granito2. irp.usp.br/Firewall/

2.5 Preparando o Linux


Para preparar o Linux om Firewall deve-se testar os módulos do Iptables, da seguinte maneira:
modprobe - (mostra todas as ongurações)
CAPÍTULO 2. FIREWALL IPTABLES 17

modprobe -l | grep ip_tables


modprobe -l | grep iptable_lter
modprobe -l | grep ip_ onntra k
modprobe -l | grep ip_ onntra k_ftp
modprobe -l | grep iptable_nat
modprobe -l | grep ip_nat_ftp
modprobe -l | grep ipt_LOG
modprobe -l | grep ipt_state
modprobe -l | grep ipt_MASQUERADE

# Setando o Kernel para IP_Dinami o Mas arado e ho "1" > /pro /sys/net/ipv4/ip_dynaddr

# Habilitando IP_Forwarding e ho "1" > /pro /sys/net/ipv4/ip_forward

# Ativando Prote ao no Kernel for t l in /pro /sys/net/ipv4/ onf/*/rp_lter;


do e ho 1 > $t l
done

# Desativando SynCookies para Prote ao no Kernel e ho "0" > /pro /sys/net/ipv4/t p_syn ookies

# Syn ood $IPTABLES -N syn-ood


$IPTABLES -A INPUT -i ppp0 -p TCP syn -j syn-ood
$IPTABLES -A syn-ood -m limit limit 3/m limit-burst 4 -j RETURN
$IPTABLES -A syn-ood -j DROP