FIREWALL COM IPTABLES
Tabela Filter
Vejamos o funcionamento da tabela filter (default) e as suas respectivas chains:
São três, as possíveis chains:
--> INPUT: utilizada quando o destino final é a própria máquina filtro;
--> OUTPUT: qualquer pacote gerado na máquina fltro e que deva sair para a rede será tratado pela chain OUTPUT;
--> FORWARD: qualquer pacote que atravessa o fltro, oriundo de uma máquina e direcionado a outra, será tratado pela chain FORWARD.
Regras de filtragem
As regras (rules) de fitragem, geralmente, são compostas assim:
#iptables [-t tabela] [opção] [chain] [dados] -j [ação]
Exemplo:
#iptables -A FORWARD -d 192.168.1.1 -j DROP
A linha acima determina que todos os pacotes destinados à máquina 192.168.1.1 devem ser descartados. No caso:
tabela: filter (é a default)
opção: -A
chain: FORWARD
dados: -d 192.168.1.1
ação: DROP
Existem outras possibilidades que fogem à sintaxe mostrada anteriormente. É o caso do comando #iptables -L, que mostra as regras em vigor.
Ações
As principais ações são:
ACCEPT --> Aceitar. Permite a passagem do pacote.
DROP --> Abandonar. Não permite a passagem do pacote, descartando-o. Não avisa a origem sobre o ocorrido.
REJECT --> Igual ao DROP, mas avisa a origem sobre o ocorrido (envia pacote icmp unreachable).
LOG --> Cria um log referente à regra, em /var/log/messages. Usar antes de outras ações.
Exemplos comentados de regras de filtragem (tabela filter)
---------------------------------------
#iptables -L
Lista todas as regras existentes.
---------------------------------------
#iptables -F
Apaga todas as regras sem alterar a política.
---------------------------------------
#iptables -P FORWARD DROP
Estabelece uma política de proibição inicial de passagem de pacotes entre sub-redes.
---------------------------------------
#iptables -A FORWARD -j DROP
Todos os pacotes oriundos de qualquer sub-rede e destinados a qualquer sub-rede deverão ser descartados.
---------------------------------------
#iptables -A FORWARD -j ACCEPT
Todos os pacotes oriundos de qualquer sub-rede e destinados a qualquer sub-rede deverão ser aceitos.
---------------------------------------
#iptables -A FORWARD -s 10.0.0.0/8 -d www.chat.com.br -j DROP
Os pacotes oriundos da sub-rede 10.0.0.0 (máscara 255.0.0.0) e destinados aos hosts cujos endereços IP respondem pelo nome www.chat.com.br deverão ser descartados. Note que se a máquina possuir domínios virtuais, todos esses serão bloqueados.
---------------------------------------
#iptables -A FORWARD -s 10.0.0.0/8 -d www.chat.com.br -j REJECT
Os pacotes oriundos da sub-rede 10.0.0.0 (máscara 255.0.0.0) e destinados aos hosts cujos endereços IP respondem pelo nome www.chat.com.br deverão ser descartados. Deverá ser enviado um ICMP avisando à origem.
---------------------------------------
#iptables -A FORWARD -d www.chat.com.br -j DROP
Os pacotes oriundos de qualquer lugar e destinados aos hosts cujos endereços IP respondem pelo nome www.chat.com.br deverão ser descartados.
---------------------------------------
#iptables -A FORWARD -d 10.0.0.0/8 -s www.chat.com.br -j DROP
Os pacotes destinados à sub-rede 10.0.0.0 (máscara 255.0.0.0) e oriundos aos hosts cujos endereços IP respondem pelo nome www.chat.com.br deverão ser descartados.
---------------------------------------
#iptables -A FORWARD -s www.chat.com.br -j DROP
Os pacotes oriundos aos hosts cujos endereços IP respondem pelo nome www.chat.com.br e destinados a qualquer lugar deverão ser descartados.
---------------------------------------
#iptables -A FORWARD -s 200.221.20.0/24 -j DROP
Os pacotes oriundos da sub-rede 200.221.20.0 (máscara 255.255.255.0) e destinados a qualquer lugar deverão ser descartados.
---------------------------------------
#iptables -A FORWARD -s 10.0.0.5 -p icmp -j DROP
Os pacotes icmp oriundos do host 10.0.0.5 e destinados a qualquer lugar deverão ser descartados.
---------------------------------------
#iptables -A FORWARD -i eth0 -j ACCEPT
Os pacotes que entrarem pela interface eth0 serão aceitos.
---------------------------------------
#iptables -A FORWARD -i ! eth0 -j ACCEPT
Os pacotes que entrarem por qualquer interface, exceto a eth0, serão aceitos.
---------------------------------------
#iptables -A FORWARD -s 10.0.0.5 -p tcp --sport 80 -j LOG
O tráfego de pacotes TCP oriundos da porta 80 do host 10.0.0.5 e destinados a qualquer lugar deverá ser gravado em log. No caso, /var/log/messages.
---------------------------------------
#iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
Os pacotes TCP destinados à porta 25 de qualquer host deverão ser aceitos.
---------------------------------------
Créditos:
João Eriberto Mota Filho
Veja o artigo completo em http://www.eriberto.pro.br/iptables/
Nenhum comentário:
Postar um comentário