Pesquisar por palavra-chave:

terça-feira, 11 de setembro de 2012

Iptables, o firewall do Linux (parte 1 do tutorial)

Antes de ler este artigo, remomendo a leitura do artigo Protocolos TCP e UDP

Todas as distribuições Linux vem com o iptables integrado ao kernel, logo não precisa baixa-lo e é muito seguro, pois integrado ao kernel, o firewall "sobe" junto com o sistema, não tendo aquele intervalo de alguns segundos após a inicialização do sistema para depois carregar o firewall como é comum em firewalls instalados no Windows.



Usando o modo-texto (crtl + alt + f1 no linux) devidamente "logado" como administrador (root) podemos configurar e gerenciar as políticas do firewall pelo comando:

iptables -<OPÇÃO> <CHAIN> <dados> -j <AÇÃO>

Parece complicado? mas não é tanto quanto parece.

Para entender o iptables, precisamos entender as CHAINS:
Chains são todas as possibilidades de trânsito de pacotes pela placa de rede;

INPUT = esta chain especifica dados que entram pela placa de rede com destino ao firewall , ou seja, entrada de dados
OUTPUT = esta chain especifica dados gerados no computador com destino a rede, ou seja, saída de dados
FORWARD = chain usada em servidores, especifica dados que entram pela rede externa, atravessam o computador firewall com destino a outro computador da rede interna (LAN)

Quais são as opções do iptables?

obs: todas as opções devem ser digitadas em letra maiúscula.

iptables -P = cria uma nova política, cancelado as anteriores da mesma CHAIN
iptables -A = anexa uma nova política as politicas anteriores
iptables -D = deleta uma políticacriada anteriormente
iptables -L = lista politicas ativas no sistema
iptables -F = esvasia todas as políticas ativas

Exemplos:
iptables -L INPUT = exibe todas as políticas de entrada de dados

Dados do iptables:

-s = especifica a origem do pacote (source)

-d = especifica o destino do pacote (destination)

-p <protocolo> = antes de indicar uma porta, precisamos identificar de qual protocolo TCP ou UDP por exemplo.

--sport = especifica a porta de origem do pacote

--dport = especifica a porta de destino do pacote

Ações do iptables:

DROP = Não aceita a entrada do pacote

ACCEPT = aceita a entrada do pacote

REJECT = rejeita a entrada do pacote

Exemplos:

iptables -A INPUT -s www.facebook.com -j DROP

vamos entender o comando acima por partes:

iptables -A = anexa uma nova política
INPUT = dados que entrarem pela placa de rede
-s www.facebook.com = originados em www.facebook.com
-j DROP = estão bloqueados

exemplo 2:

iptables -A OUTPUT -d 192.168.1.10 -j ACCEPT

por partes:

iptables -A = anexa uma nova política
OUTPUT = dados que sairem pela placa de rede
-d 192.168.1.10 = com destino ao IP especificado
-j ACCEPT = estão aceitos


Exemplo 3:

iptables -A INPUT -p tcp --sport 80 -j ACCEPT

por partes denovo?

iptables -A = anexa nova política
INPUT = dados que entram pela placa de rede
-p tcp = do protocolo TCP
--sport = originados na porta 80
-j ACCEPT = estão aceitos

Ou seja, neste exemplo abri a porta tcp 80, usada para conexões de internet HTTP

Bom, espero ter ajudado a entender este "bicho-de-sete-cabeças" que é o iptables, mas ainda tem mais a aprender! aguardem a parte 2 deste artigo, enquanto isso, testem e estudem os comandos acima.

Leia a segunda parte deste artigo clicando aqui

Obrigado a todos

2 comentários:

  1. Esperando a parte 2 do tutorial? sai a semana que vem! enquanto isso tirem suas dúvidas nos comentários.

    ResponderExcluir
  2. Velho simplesmente fantástico esse turorial revirei a net mas achei um ótimo tutorial parabéns mesmo.

    ResponderExcluir

Obrigado por comentar, será publicado em breve!

google-site-verification: google53a8eb0bc7dc474a.html