Firewall é uma ferramenta de segurança que fica localizado entre a rede interna e rede externa, com o objetivo de limitar o acesso de computadores da rede interna aos serviços da rede externa ou vice-versa. As distribuições do Linux, por padrão, desde a versão 2.4.0 do Kernel, é utilizado o Firewall Netfilter/Iptables, que trabalha com filtragem de pacotes. Segundo próprio site de Netfilter, o Netfilter é um framework dentro do kernel Linux, no qual outro módulo se conecta-se. O módulo mais utilizado é o Iptables. O módulo Iptables altera as regras da tabela de filtragem de pacotes no Kernel.
Segue abaixo, um resumo bem básico sobre o IPTABLES.
-Politicas e regras
Os tratamentos são:
- ACCEPT: O pacote é aceito.
- DROP: O pacote não é aceito e o remetente não é avisado.
- REJECT: O pacote não é aceito e o remetente é avisado.
- RETURN: Volta para a regra anterior.
-Ele trabalha com 3 tabelas(chains)
- FILTER: Aplica políticas de restrição de pacotes; Usa os ganchos INPUT, OUTPUT e FORWARD
- NAT: Usada para alterar os pacotes com mudança de endereços; Utiliza os ganchos PREROUTING, POSTROUTING e OUTPUT
- MANGLE: Altera os pacotes de forma especial, marcando-os para algum motivo especial, como qualidade de serviço, etc.
-Ganchos
- FORWARD
Trata os pacotes que passam pelo firewall com destino outro host.
Veja abaixo a figura, onde o Suricata é o Firewall.
- INPUT
Trata os pacotes antes de entrega-los para uma aplicação local.
- OUTPUT
Trata os pacotes que saem de uma aplicação local.
Veja abaixo a figura, onde o Suricata é o Firewall.
- POSTROUTING
Trata os pacotes após deixar uma interface.
- PREROUTING
Trata os pacotes que chegam em uma interface.
-Chains do NAT:
- Prerouting, postrouting e output.
Segue abaixo um diagrama retirado do netfilter.
_____ _____
/ \ / \
PREROUTING -->[Decisão ]----------------->POSTROUTING----->
\D-NAT/ [de Roteamento] \S-NAT/
| ^
| __|__
| / \
| | OUTPUT|
| \D-NAT/
| ^
| |
----> Processamento Local ----
-NAT
O NAT pode sofrer 4 ações possíveis:
- DNAT: Altera o IP do destino
- SNAT: Altera o IP de origem
- MASQUERADE: Mascarar conexões
- REDIRECT: Redirecionar portas do mesmo host
-COMANDOS
Veja os exemplos de alguns comandos:
- iptables -t filter -P INPUT DROP
- iptables -t filter -A FORWARD -j REJECT
- iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE
- iptables -A INPUT -p udp -s 0/0 -i eth1 --dport 33435:33525 -j DROP
-OPÇÕES
Adiciona uma regra no final da lista
- iptables -A
Adiciona uma regra no início da lista
- iptables -I
Apaga uma regra
- iptables -D
Lista as regras
- iptables -L
Remove as regras
- iptables -F
Zera os contadores
- iptables -Z
Criar uma chain
- iptables -N nomedachain
Remover uma chain
- iptables -X nomedachain
Especifica o protocolo
- -p (TCP, UDP, etc)
Especifica a origem
- -s
Especifica destino
- -d
Especifica a interface de entrada;
- -i
Especifica interface de saída
- -o
Especifica a porta de origem
- --sport
Especifica a porta de destino
- --dport
Especifica uma ação
- -j ACCEPT / DROP / REJECT / LOG
Tópico Políticas padrão
- -P INPUT ACCEPT; -P INPUT DROP; -P OUTPUT ACCEPT; -P OUTPUT ACCEPT
Qualquer dúvida, sugestões e críticas, podem me chamar no winbox.
Facebook: /leandrops91
Segue abaixo um diagrama retirado do netfilter.
_____ _____
/ \ / \
PREROUTING -->[Decisão ]----------------->POSTROUTING----->
\D-NAT/ [de Roteamento] \S-NAT/
| ^
| __|__
| / \
| | OUTPUT|
| \D-NAT/
| ^
| |
----> Processamento Local ----
-NAT
O NAT pode sofrer 4 ações possíveis:
- DNAT: Altera o IP do destino
- SNAT: Altera o IP de origem
- MASQUERADE: Mascarar conexões
- REDIRECT: Redirecionar portas do mesmo host
-COMANDOS
Veja os exemplos de alguns comandos:
- iptables -t filter -P INPUT DROP
- iptables -t filter -A FORWARD -j REJECT
- iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE
- iptables -A INPUT -p udp -s 0/0 -i eth1 --dport 33435:33525 -j DROP
-OPÇÕES
Adiciona uma regra no final da lista
- iptables -A
- iptables -I
- iptables -D
- iptables -L
- iptables -F
Zera os contadores
- iptables -Z
Criar uma chain
- iptables -N nomedachain
Remover uma chain
- iptables -X nomedachain
Especifica o protocolo
- -p (TCP, UDP, etc)
Especifica a origem
- -s
Especifica destino
- -d
Especifica a interface de entrada;
- -i
- -o
Especifica a porta de origem
- --sport
Especifica a porta de destino
- --dport
Especifica uma ação
- -j ACCEPT / DROP / REJECT / LOG
Tópico Políticas padrão
- -P INPUT ACCEPT; -P INPUT DROP; -P OUTPUT ACCEPT; -P OUTPUT ACCEPT
Qualquer dúvida, sugestões e críticas, podem me chamar no winbox.
Facebook: /leandrops91

