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.
O firewallFunçõesproteger amáquina contra acessos indesejadosproteger a máquina contra tráfego indesejadoproteger serviços que estejam rodando na máquinabloquear a passagem de coisas indesejadasconexões vindas da Internet para sua segura rede local
10.
O queproteger?Quais serviçosproteger?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 firewallFirewallsde aplicaçãoProxies (SMTP, HTTP etc.)Firewalls baseadosemestadoTabelas de estadosFirewalls de pacotesEndereços e portas
HistóricoIPTables (Netfilter)surgiu nokernel do Linux 2.4substitui o ipchainsmuita flexibilidade na programação de regrasmais opções para controle de tráfegocontrole independente do tráfego da rede nova organização das etapas de roteamento de pacotes
14.
CaracterísticasEspecificação de portas/endereçode origem/destinoSuporte a protocolos TCP/UDP/ICMPSuporte a interfaces de origem/destino de pacotesManipula serviços de proxy na redeTratamento de tráfego dividido em chainsmelhor controle do tráfegoPermite um número ilimitado de regras por chain
15.
CaracterísticasPossui mecanismos internospara rejeitar pacotesduvidosos ou mal formadosSuporte a módulos externosexpansão das funcionalidades oferecidasSuporte completo a roteamento de pacotesSuporte a especificação de tipo de serviçopriorizar o tráfego de determinados tipos de pacotesPermite especificar exceções
16.
CaracterísticasPermite enviar alertaspersonalizados ao syslogRedirecionamento de portasMasqueradingSuporte a SNAT e DNATContagem de pacotes que atravessaram uma regraLimitação de passagem de pacotesútil para criar proteções contra syn flood, ping flood, DoS...
O quesãoregras?“Comandos passadosao iptables para queele realize uma determinada ação”(Guia FOCA)As regras são armazenadas dentro dos chainse processadas na ordem que são inseridasAs regras são armazenadas no kernelsão perdidas a cada reinicializaçãodevem ser gravadas em um arquivo
19.
O quesão chains?“Locaisonde as regras do firewall sãoarmazenadas para sua operação”(Guia FOCA)Existem dois tipos de chainsos embutidos (como os INPUT, OUTPUT e FORWARD) os criados pelo usuárioOs nomes dos chainsembutidos devem ser especificados sempre em maiúsculassão case-sensitive (inputé diferente de INPUT)
20.
O quesãotabelas?“Locais usadospara 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 iptablesfilternatmangle
21.
A tabela filterEstaé a tabela padrão, contém 3 chains padrõesINPUT: dados que chegam a máquinaOUTPUT: dados que saem da máquinaFORWARD: dados que são redirecionadosINPUT e OUTPUTsomente são atravessados por conexões de localhost
22.
A tabelanatUsada paradados que geram outra conexãoPossui 3 chains padrões:PREROUTING: quando os pacotes precisam ser modificados logo que chegamOUTPUT: quando os pacotes gerados localmente precisam ser modificados antes de serem roteadosPOSTROUTING: quando os pacotes precisam ser modificados após o tratamento de roteamento
23.
A tabela mangleUtilizadapara alterações especiais de pacotesPossui 5 chains padrões:INPUT: quando os pacotes precisam ser modificados antes de serem enviados para o INPUT da tabela filterFORWARD: quando os pacotes precisam ser modificados antes de serem enviados para o FORWARD da tabela filterPREROUTING: quando os pacotes precisam ser modificados antes de ser enviados para o PREROUTINGda tabela nat
24.
A tabela mangleUtilizadapara alterações especiais de pacotesPossui 5 chains padrões:POSTROUTING: quando os pacotes precisam ser modificados antes de serem enviados para o POSTROUTING da tabela natOUTPUT: quando os pacotes precisam ser modificados antes de serem enviados para o OUTPUT da tabela nat
Especificando um endereçoOrigeme destino-s | –src | –source-d | –dst | –destinationOpçõesIP ou par rede/máscara: 10.0.0.1 ou 10.0.0.0/8endereço fqdn: www.aptans.comiptables-A INPUT -s 10.0.0.0/24 \-j DROP