O documento apresenta os conceitos básicos de firewall com IPTables, incluindo suas funções de proteção, tipos de regras e tabelas, e demonstra exemplos básicos de manipulação de regras para filtrar e redirecionar tráfego de rede.
9. O firewall Funções proteger a máquina contra acessos indesejados proteger a máquina contra tráfego indesejado proteger serviços que estejam rodando na máquina bloquear a passagem de coisas indesejadas conexões vindas da Internet para sua segura rede local
10. O queproteger? Quais serviços proteger? Que tipo de conexões eu posso deixar passar? Que máquinas terão acesso livre? Que serviços terão prioridade no processamento? Que máquinas/redes NUNCA deverão ter acesso? Qual o volume de tráfego que o servidor manipulará? O que pode passar de uma rede para outra?
11. Tipos de firewall Firewalls de aplicação Proxies (SMTP, HTTP etc.) Firewalls baseadosemestado Tabelas de estados Firewalls de pacotes Endereços e portas
13. Histórico IPTables (Netfilter) surgiu no kernel do Linux 2.4 substitui o ipchains muita flexibilidade na programação de regras mais opções para controle de tráfego controle independente do tráfego da rede nova organização das etapas de roteamento de pacotes
14. Características Especificação de portas/endereço de origem/destino Suporte a protocolos TCP/UDP/ICMP Suporte a interfaces de origem/destino de pacotes Manipula serviços de proxy na rede Tratamento de tráfego dividido em chains melhor controle do tráfego Permite um número ilimitado de regras por chain
15. Características Possui mecanismos internos para rejeitar pacotes duvidosos ou mal formados Suporte a módulos externos expansão das funcionalidades oferecidas Suporte completo a roteamento de pacotes Suporte a especificação de tipo de serviço priorizar o tráfego de determinados tipos de pacotes Permite especificar exceções
16. Características Permite enviar alertas personalizados ao syslog Redirecionamento de portas Masquerading Suporte a SNAT e DNAT Contagem de pacotes que atravessaram uma regra Limitação de passagem de pacotes útil para criar proteções contra syn flood, ping flood, DoS...
18. O quesãoregras? “Comandos passados ao iptables para queele realize uma determinada ação”(Guia FOCA) As regras são armazenadas dentro dos chainse processadas na ordem que são inseridas As regras são armazenadas no kernel são perdidas a cada reinicialização devem ser gravadas em um arquivo
19. O quesão chains? “Locais onde as regras do firewall sãoarmazenadas para sua operação”(Guia FOCA) Existem dois tipos de chains os embutidos (como os INPUT, OUTPUT e FORWARD) os criados pelo usuário Os nomes dos chains embutidos devem ser especificados sempre em maiúsculas são case-sensitive (inputé diferente de INPUT)
20. O quesãotabelas? “Locais usados para armazenar chains e regrascom determinada característica em comum”(Guia FOCA) Podem ser referenciadas com a opção -t <tabela> Existem 3 tabelas disponíveis no iptables filter nat mangle
21. A tabela filter Esta é a tabela padrão, contém 3 chains padrões INPUT: dados que chegam a máquina OUTPUT: dados que saem da máquina FORWARD: dados que são redirecionados INPUT e OUTPUT somente são atravessados por conexões de localhost
22. A tabelanat Usada para dados que geram outra conexão Possui 3 chains padrões: PREROUTING: quando os pacotes precisam ser modificados logo que chegam OUTPUT: quando os pacotes gerados localmente precisam ser modificados antes de serem roteados POSTROUTING: quando os pacotes precisam ser modificados após o tratamento de roteamento
23. A tabela mangle Utilizada para alterações especiais de pacotes Possui 5 chains padrões: INPUT: quando os pacotes precisam ser modificados antes de serem enviados para o INPUT da tabela filter FORWARD: quando os pacotes precisam ser modificados antes de serem enviados para o FORWARD da tabela filter PREROUTING: quando os pacotes precisam ser modificados antes de ser enviados para o PREROUTINGda tabela nat
24. A tabela mangle Utilizada para alterações especiais de pacotes Possui 5 chains padrões: POSTROUTING: quando os pacotes precisam ser modificados antes de serem enviados para o POSTROUTING da tabela nat OUTPUT: quando os pacotes precisam ser modificados antes de serem enviados para o OUTPUT da tabela nat
29. Apagando uma regra - D iptables -t filter -D INPUT 1 iptables -t filter -D INPUT d 127.0.0.1 -j DROP POR QUE NÃO USAR –D?
30. Inserindo uma regra - I iptables -t filter -I INPUT 1 d 127.0.0.1 -j ACCEPT POR QUE NÃO USAR –I?
31. Criando um novo chain - N iptables -t filter -N internet iptables-t filter -A internet s 200.200.200.200 -j DROP iptables-t filter -A INPUT j internet
32. Limpando as regras de um chain - F iptables -t filter -F INPUT iptables -t filter -F
33. Apagando um chain do usuário - X iptables -t filter -X internet iptables -X
34. Especificando a política de um chain - P iptables -L OUTPUT iptables-t filter -P OUTPUT DROP iptables -L OUTPUT
36. Especificando um endereço Origem e destino -s | –src | –source -d | –dst | –destination Opções IP ou par rede/máscara: 10.0.0.1 ou 10.0.0.0/8 endereço fqdn: www.aptans.com iptables-A INPUT -s 10.0.0.0/24 j DROP
38. Especificando um protocolo Protocolo -p | –protocol Opções tcp udp icmp iptables -A INPUT -s 10.0.0.0 p UDP -j DROP
39. Especificando portas Origem e destino --sport | --source-port --dport | --destination-port iptables -A OUTPUT -d 10.0.0.1 p tcp --dport :1023 -j DROP
40. Especificando uma exceção iptables -t filter -A INPUT –p TCP -s 10.0.0.1 -j DROP iptables-A INPUT -s 10.0.0.1 -p TCP -j DROP
41. Especificando um alvo Opções -j ACCEPT -j DROP -j REJECT -j LOG iptables-A INPUT -s 10.0.0.1 i eth0 -j REJECT