Todos nós temos a noção que é importante dispormos de mecanismos de segurança nos nossos PC’s. Para quem é utilizador do Linux certamente que já ouviu falar do iptables (firewall)…..mas provavelmente nunca o usou devido à sua complexidade. O iptables é uma ferramenta bastante poderosa por si só, que vem por omissão nas distribuições Linux.
No sentido de desmistificar o iptables, vamos produzir alguns artigos, com alguns exemplos práticos. Depois de no ultimo tutorial (ver aqui) termos apresentado as três tabelas predefinidas do IPtables, hoje vamos saber o que são chains (cadeias) e targets (acções).
Como referido no ultimo tutorial, no iptables as tabelas disponibilizam contextos de utilização das regras de filtragem. Cada tabela disponibiliza várias chains (cadeias), que por sua vez contêm regras. .
Chain (cadeias)
Cada chain consiste numa lista ordenada de regras, sendo que a ordem das mesmas é muito importante. Quando um pacote é submetido a uma cadeia, as suas características são comparadas uma a uma, pela ordem que foram sendo definidas. Quando as características de um pacote não encaixam em qualquer uma das regras, é aplicada então a política predefinida dessa cadeira.
Uma vez que a tabela filter é a mais utilizada, vamos analisar as chains da mesma:
Cadeias da tabela filter
- INPUT
- Filtragem de pacotes IP à entrada do sistema
- OUTPUT
- Filtragem de pacotes IP à saída do sistema
- FORWARD
- Filtragem de pacotes IP à passagem do sistema
Targets (Acções)
Um target indica a acção a aplicar ao pacote, caso a regra se verifique. Alguns exemplos de targets para a chains INPUT/OUTPUT/FORWARD
- DROP
- Descarta um pacote sem notificar o emissor
- ACCEPT
- Aceita o pacote
- REJECT
- Rejeita o pacote sem notificar o emissor
No próximo tutorial vamos apresentar alguns exemplos de aplicação. Esperamos que tenham gostado deste segundo artigo e não se esqueçam do seguinte: o iptables tem tabelas que por sua vez têm chains que por sua vez têm regras e as regras definem targets. Aguardamos o vosso feedback.