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
Esperando a parte 2 do tutorial? sai a semana que vem! enquanto isso tirem suas dúvidas nos comentários.
ResponderExcluirVelho simplesmente fantástico esse turorial revirei a net mas achei um ótimo tutorial parabéns mesmo.
ResponderExcluir