O documento discute segurança na era do software livre, apresentando: 1) Os principais tipos de ataques e vulnerabilidades técnicas, humanas e organizacionais; 2) Uma proposta de solução de segurança com firewall, IDS e política de segurança; 3) Ferramentas como IPTables, SQUID Proxy e scanners para melhorar a segurança.
Google hacking e SQL Injection: Tudo junto e misturado!
Segurança da Informação na era do Software Livre - FLISOL DF 2011
1. http://portaltic.com/
Prof. Alcyon Junior15/03/11 1 / 63
FLISOL DF 2011
Segurança na era do Software Livre
Utilizando IPTables e SQUID Proxy
Alcyon Junior
http://portaltic.com/
alcyon@portaltic.com
2. http://portaltic.com/
Prof. Alcyon Junior15/03/11 2 / 63
Alcyon Junior é administrador de rede do Estado-Maior do
Exército e professor da faculdade UNISABER.
Apaixonado por tecnologia e software livre.
Graduado em 3 diferentes cursos de Tecnologia de
Informação, com ênfase em redes de computador.
Possui também certificação internacional CNAP, título de
Especialista em Redes de Computador pela CISCO e MBA em
Governança de TI.
Agora, mestrando em Gestão do Conhecimento e da
Tecnologia da Informação pela Universidade Católica de
Brasília.
Apresentação
3. http://portaltic.com/
Prof. Alcyon Junior15/03/11 3 / 63
Agenda
Principais tipos de ataques e os pontos fracos das organizações
Técnicos
Humanos
Organizacionais
Modelo de segurança
Firewall
IDS
Política de Segurança
Comparação quantitativa e qualitativa de soluções
IPTables
Teoria
Prática
SQUID Proxy PLUS
Teoria
Prática
Perguntas e Respostas
5. http://portaltic.com/
Prof. Alcyon Junior15/03/11 5 / 63
Ataque interno é o mais fácil de ser praticado, não existe
necessidade de grandes conhecimentos
Cavalo de Tróia I Love You, The Quota Trojan
Sniffers Captura de pacotes (modo promíscuo)
Spoofing de IP Autenticação por falsificação de IP
DDoS (Denial of Service) Visa travar ou parar serviços
Principais tipos de Ataques
7. http://portaltic.com/
Prof. Alcyon Junior15/03/11 7 / 63
Qual o objetivo de uma invasão ?
Prejudicar!
Obtenção de informações privilegiadas (principalmente
se não for detectado)
Destruição de dados
Paralisação de serviços ou funcionalidades da
empresa
Prejuízo financeiro
Vingança
8. http://portaltic.com/
Prof. Alcyon Junior15/03/11 8 / 63
Alguns números
Fonte: site da Módulo
www.modulo.com.br
Para 78% dos entrevistados, as ameaças, os riscos e os ataques deverão aumentar em 2011.
42% das empresas tiveram problemas com a Segurança da Informação nos seis meses anteriores à pesquisa.
35% das empresas reconhecem que tiveram perdas financeiras. Já o percentual de empresas que não conseguiram
quantificar essas perdas diminuiu de 72%, em 2009, para 65%, em 2010.
Vírus (66%), funcionários insatisfeitos (53%), divulgação de senhas (51%), acessos indevidos (49%) e vazamento de
informações (47%) foram apontados como as cinco principais ameaças à segurança das informações nas empresas.
O percentual de empresas que afirmam ter sofrido ataques e invasões subiu de 43%, em 2009, para 77%, em 2010.
32% dos entrevistados apontam os hackers como os principais responsáveis por ataques e invasões de sistemas
corporativos.
26% das empresas não conseguem sequer identificar os responsáveis pelos ataques.
9. http://portaltic.com/
Prof. Alcyon Junior15/03/11 9 / 63
Fonte: site da Módulo
www.modulo.com.br
48% não possuem nenhum plano de ação formalizado em caso de invasões e
ataques.
60% indicam a internet como principal ponto de invasão em seus sistemas.
58% dos entrevistados sentem-se inseguros para comprar em sites de
comércio eletrônico por causa da sensação de falta de segurança.
A falta de consciência dos executivos é apontada por 23% dos entrevistados
como o principal obstáculo para implementação da segurança.
63,5% dos entrevistados adotam a ISO 17799 como a principal norma que
norteia suas empresas.
Política de Segurança formalizada já é realidade em 68% das organizações.
Apenas 21% das empresas afirmaram possuir um Plano de Continuidade de
Negócios (PCN) atualizado e testado.
Alguns números
10. http://portaltic.com/
Prof. Alcyon Junior15/03/11 10 / 63
Fonte: site da Módulo
www.modulo.com.br
60% das empresas fazem Planejamento de Segurança, sendo que 27%
possuem Planejamento para até 1 ano.
A área de Tecnologia (49,5%) continua sendo a principal responsável pelo
gerenciamento da Segurança da Informação nas empresas, seguida pela
área específica, Security Office, com 25,5%.
Pelo terceiro ano consecutivo, antivírus (90%), sistemas de backup (76,5%)
e firewall (75,5%) foram apontados como as três medidas de segurança
mais implementadas nas empresas.
60% afirmam que os investimentos de suas empresas em Segurança para
2011 vão aumentar.
Alguns números
11. http://portaltic.com/
Prof. Alcyon Junior15/03/11 11 / 63
Análise da Pesquisa
Podemos facilmente identificar os pontos fracos
Técnicos
Organizacionais
Humanos
Vamos tratar aqui os dois maiores
Técnicos Ambiente Seguro (Fw, IDS, etc.)
Organizacionais Analise de Risco e Política de
Segurança
13. http://portaltic.com/
Prof. Alcyon Junior15/03/11 13 / 63
Analisando os Riscos
Primeira pergunta Corremos riscos ?
Resposta é sempre SIM
Existe: SIM e sim
Muitos fatores influenciam na análise do risco e na modelagem de
uma solução de segurança
Presença na WEB com servidor próprio
Riscos de informações confidenciais (ramo de atividade)
Escritórios regionais (necessidade de VPN ou Link Privado)
Solução de EXTRANET
Política de RH (problema do bom senso)
Históricos da empresa e do setor
14. http://portaltic.com/
Prof. Alcyon Junior15/03/11 14 / 63
Uma Solução! nada é 100% seguro
Firewall nível de rede
Filtro de Pacotes
Facilidade de uso / gerenciamento Menor TCO
Menor exigência de hardware
Firewall de Gateway de Aplicativo
IDS (intruder detection system)
Scanner / TripWire / Nagios
Inventário de Hardware e Software
Política de Segurança (PDSI)
15. http://portaltic.com/
Prof. Alcyon Junior15/03/11 15 / 63
Firewall Nivel de Rede
Devem trabalhar em conjunto com os roteadores
Roteadores previnem contra IP implementados no RFC
Roteadores trabalham com access-lists
ICMP
Os firewalls devem restringir a passagem das
portas/protocolos mais perigosas
Monitoramento por IDS até das portas fechadas
Bom senso: certas portas podem ser
necessárias para serviços vitais para a empresa
16. http://portaltic.com/
Prof. Alcyon Junior15/03/11 16 / 63
As Portas mais comuns
Executar o bloqueio de endereços forjados
("spoofed" addresses)
Pacotes originários do mundo exterior com origem de
redes privadas (endereços internos previstos na RFC
1918 e rede 127) devem ser bloqueados.
Serviços de Login
telnet (23/tcp), SSH (22/tcp), FTP (21/tcp), NetBIOS
(139/tcp), rlogin (512/tcp até 514/tcp)
17. http://portaltic.com/
Prof. Alcyon Junior15/03/11 17 / 63
As Portas mais comuns
X Windows
Range de portas de 6000/tcp até 6255/tcp
Serviços de DNS
Bloqueio de DNS (53/udp) para todas as máquinas que não são
servidores de DNS, transferência de zona (53/tcp) exceto de
servidores de DNS secundários. Bloqueio do serviço de
armazenamento de diretórios LDAP (389/tcp e 389/udp)
Mail
SMTP (25/tcp) para todas as máquinas que não são relays
externos, POP (109/tcp e 110/tcp) e IMAP (143/tcp)
18. http://portaltic.com/
Prof. Alcyon Junior15/03/11 18 / 63
Web
Bloqueio de HTTP (80/tcp) e SSL (443/tcp) exceto para servidores que
provem serviços web para acesso externo. Outro bloqueio considera as
portas altas utilizado por serviços HTTP como Proxy (8000/tcp,
8080/tcp,8888/tcp etc.)
"Small Services“
Portas abaixo da 20/tcp e 20/udp e serviço time (portas 37/tcp e 37/udp)
Miscellaneous
TFTP (69/udp), finger (79/tcp), NNTP (119/tcp), NTP (123/tcp), LPD
(515/tcp), syslog (514/udp), SNMP (161/tcp e 161/udp, 162/tcp e 162/udp),
BGP (179/tcp) e SOCKS (1080/tcp)
As Portas mais comuns
19. http://portaltic.com/
Prof. Alcyon Junior15/03/11 19 / 63
ICMP
Bloqueio de requisições de echo request (ping e
Windows traceroute), bloqueio de saída de echo
replies, time exceeded, e mensagens do tipo
unreachable.
RPC e NFS
Portmap/rpcbind (111/tcp e 111/udp), NFS (2049/tcp e
2049/udp), lockd (4045/tcp e 4045/udp)
NetBIOS no Windows NT
Portas 135 (tcp e udp), 137 (udp), 138 (udp), 139 (tcp).
No Windows 2000 adicionar porta 445(tcp e udp)
As Portas mais comuns
20. http://portaltic.com/
Prof. Alcyon Junior15/03/11 20 / 63
O “Problema” P2P
É uma mudança de paradigmas
Acaba a visão de cliente / servidor
É sem dúvida uma tendência realidade
Messenger, Kazaa e etc.
É um tormento para qualquer CSO (chief security
officer)
Esses sistemas usam portas específicas, porém buscam
portas comuns como 80 (HTTP)
Uma boa saída é através da PDSI (Plano Diretor
de Segurança da Informação)
Inventário de Hardware e Software
21. http://portaltic.com/
Prof. Alcyon Junior15/03/11 21 / 63
IDS
Tem a função de detectar tentativas de invasão
Funcionam por monitoramento das portas dos
servidores vulneráveis
Existem excelentes soluções implantadas com
open source (LINUX), como por exemplo o
SNORT com auxílio do ACID
SNORT SNARF Gerenciador de Log
Usar sempre um banco de dados para
armazenamento do monitoramento, estatística
22. http://portaltic.com/
Prof. Alcyon Junior15/03/11 22 / 63
Existem problemas
Falsos Alarmes
Falso Negativo
Falso Positivo
Erros de interpretação
Muitos logs para serem analisados
O dia-a-dia
Manter as regras atualizadas
IDS
24. http://portaltic.com/
Prof. Alcyon Junior15/03/11 24 / 63
Scanner/Tripwire/Nagios
É fundamental saber as nossas vulnerabilidades
Scanner (nessus)
Tripwire (software que detecta alterações nos arquivos do
sistema)
Soma de verificação criptográfica
Nagios
Monitoramento de Serviços
Monitoramento de espaço em disco, processador, etc.
Paralização de serviços
Etc…
28. http://portaltic.com/
Prof. Alcyon Junior15/03/11 28 / 63
Inventário
O princípio básico da segurança é conhecer as
necessidades e vulnerabilidades
É muito importante ter um inventário de hw e sw
Software não só para licenciamento, mas também
para buscar programas “suspeitos” inclusive P2P
Existem soluções para todos os mundos
29. http://portaltic.com/
Prof. Alcyon Junior15/03/11 29 / 63
Plano Diretor de Segurança da Informação
Tem sido a grande vedete e também a grande vilã
Existem problemas legais que precisam ser resolvidos e não
dependem apenas da comunidade tecnológica
Um empresa que “pensa” segurança precisa ter ao menos
um “rascunho”
Regras: “melhor ter algumas, por pior que sejam, do que não ter
nenhuma”
Simples e objetivo factível
A regra para elaboração de um PDSI é bom senso
Auxílio de quem já fez é sempre positivo
PDSI
32. http://portaltic.com/
Prof. Alcyon Junior15/03/11 32 / 63
Sumário
Características do iptables
Conceitos básicos
Diagramas de tabelas e cadeias
Principais comandos
Principais filtros
Principais ações
Referências
33. http://portaltic.com/
Prof. Alcyon Junior15/03/11 33 / 63
Iptables
A implementação de filtro de pacotes nos kernels 2.4 e 2.6
é realizado pelo iptables (projeto netfilter)
O iptables é o programa capaz de gerenciar a
configuração do netfilter
Principais características
Filtragem sem considerar o estado do pacote
Filtragem considerando o estado do pacote
Suporte a NAT, tanto para endereços de rede ou portas
Flexível, com suporte a plugins
34. http://portaltic.com/
Prof. Alcyon Junior15/03/11 34 / 63
Conceitos básicos
regras: são instruções dados para o
firewall, indicando o que ele deve fazer.
cadeias: locais onde as regras podem ser
agrupadas. As regras são processadas
em ordem pelo firewall.
Toda cadeia tem uma política padrão,
definida pelo usuário.
A cadeia é percorrida até uma regra ser
atingida. As seguintes são ignoradas.
Regras com erro são ignoradas.
Se nenhuma regra é atingida, usa-se a
regra da política padrão.
Regra 1
Regra 2
Regra 3
Regra n
...
Cadeia
...
Nenhuma regra atingida.
Usa a política da cadeia
Regra
atingida
Analise a cadeia
35. http://portaltic.com/
Prof. Alcyon Junior15/03/11 35 / 63
Conceitos básicos
tabelas: o iptables organiza o seu fluxo de pacotes em
tabelas, cada uma com um conjunto de cadeias pré-
definidas:
Tabela filter: é a tabela padrão, com três cadeias
INPUT
OUTPUT
FORWARD
Tabela nat: tabela usada para NAT (gera outras conexões)
PREROUTING
OUTPUT
POSTROUTING
36. http://portaltic.com/
Prof. Alcyon Junior15/03/11 36 / 63
Conceitos básicos
Tabelas do iptables (continuação):
Tabela mangle: permite alterações nos pacotes (TOS, TTL, etc)
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
Tabela raw: marca pacotes para rastreio posterior
37. http://portaltic.com/
Prof. Alcyon Junior15/03/11 37 / 63
Organização das tabelas do iptables
PROCESSO LOCAL
FORWARD
INPUT OUTPUT
Roteamento Roteamento
interface
de saída
Tabela filter e suas cadeias
interface
de entrada
38. http://portaltic.com/
Prof. Alcyon Junior15/03/11 38 / 63
Organização das tabelas do iptables
Tabela nat e suas cadeias
PROCESSO LOCAL
PREROUTING POSTROUTING
OUTPUT
Roteamento Roteamento
interface
de entrada
interface
de saída
39. http://portaltic.com/
Prof. Alcyon Junior15/03/11 39 / 63
Organização das tabelas do iptables
PROCESSO LOCAL
FORWARDPREROUTING POSTROUTING
INPUT OUTPUT
Roteamento Roteamento
interface
de entrada
interface
de saída
Tabela mangle e suas cadeias
40. http://portaltic.com/
Prof. Alcyon Junior15/03/11 40 / 63
Organização das tabelas do iptables
PROCESSO LOCAL
PREROUTING POSTROUTING
OUTPUT
Roteamento Roteamento
interface
de entrada
interface
de saída
Tabelas raw e suas cadeias
41. http://portaltic.com/
Prof. Alcyon Junior15/03/11 41 / 63
Organização das tabelas do iptables
PROCESSO LOCAL
FORWARDPREROUTING POSTROUTING
INPUT OUTPUT
● filter
● mangle
● nat (DNAT)
● raw
● filter
● mangle
● raw
● mangle
● nat (DNAT)
● mangle
● nat (SNAT)Roteamento Roteamento
interface
de entrada
● filter
● mangle
interface
de saída
Tabelas filter, nat, mangle e raw e suas cadeias
42. http://portaltic.com/
Prof. Alcyon Junior15/03/11 42 / 63
Salvando e restaurando regras no iptables
Pode ser feito com um arquivo de script ou usando os
comandos iptables-save e iptables-restore
iptables-[save|restore] executam a operação em um só
passo, de maneira mais segura (sem brechas
temporárias) e rápida.
Salvando:
sudo iptables-save > arquivo_de_regras
Restaurando:
sudo iptables-restore < arquivo_de_regras
É possível salvar os contadores com -c
43. http://portaltic.com/
Prof. Alcyon Junior15/03/11 43 / 63
Formato geral das regras do iptables
iptables [-t table] comando [filtro] [-j ação]
Especifique a tabela
que deseja usar. A
tabela filter é a
tabela default.
O que será feito:
adicionar uma regra,
remover, etc. Deve
vir no início.
Detalhamento que
irá permitir a
filtragem do pacote.
IPs de origem, taxas,
portas, etc.
Ação a ser tomada.
Por exemplo, DROP,
ACCEPT, pular para
outra cadeia, etc.
44. http://portaltic.com/
Prof. Alcyon Junior15/03/11 44 / 63
Principais comandos de manipulação de
cadeias no iptables
Sempre maiúsculo seguido do nome da cadeia:
-P: configura a política padrão da cadeia (DROP ou ACCEPT)
iptables -P OUTPUT ACCEPT
-N: cria uma nova cadeia
iptables -N internet
-F: apaga as regras da cadeia
iptables -F INPUT
-X: apaga uma cadeia vazia
iptables -F internet; iptables -X internet
-Z: zera todos os contadores da cadeia
iptables -Z INPUT
45. http://portaltic.com/
Prof. Alcyon Junior15/03/11 45 / 63
Principais comandos de manipulação de
cadeias no iptables
-A: adicionar uma regra no final da cadeia
iptables -A INPUT --dport 80 -j DROP
-L: listar regras da cadeia (adicione -n para não resolver nomes e
--line-numbers para ver o número das regras)
iptables -L -n --line-number
-D: apagar uma regra da cadeia. Pode usar também a linha
iptables -D INPUT --dport 80 -j DROP
iptables -D INPUT 5
-R: trocar uma regra por outra
iptables -R INPUT 2 -s 10.0.1.2 -j DROP
-I: insere uma regra em um ponto específico da cadeia
iptables -I INPUT 1 --dport 80 -j DROP
46. http://portaltic.com/
Prof. Alcyon Junior15/03/11 46 / 63
Principais filtros no iptables
-p <protocolo>: especifica o protocolo. Por exemplo, udp, tcp ou icmp.
Pode ser negado também. Para tudo menos tcp, faça: com “-p ! tcp”
iptables -A INPUT -p icmp -j DROP
iptables -A INPUT -p ! tcp -j DROP
-s <endereço>: especifica o endereço de origem. Aceita IPs, redes,
IP/máscara, IP/nn (notação CIDR) e também a negação com “!”.
iptables -A INPUT -s 10.1.1.1 -j ACCEPT
iptables -A INPUT -s ! 10.1.1.0/24 -j DROP
-d <endereço>: especifica o endereço de destino (mesmas regras do -s)
iptables -A OUTPUT -d uol.com.br -j ACCEPT
47. http://portaltic.com/
Prof. Alcyon Junior15/03/11 47 / 63
Principais filtros no iptables
-i <interface>: especifica a interface de entrada do pacote. Use “!” para
negar e “+” como curinga. “-i eth+” significa todas as interfaces eth. Válida
em INPUT, PREROUTING e FORWARD.
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i ppp+ -j DROP
-o <interfaces>: especifica a interface de saída. Válida em OUTPUT,
POSTROUTING e FORWARD. Usa as mesmas regras de -i.
iptables -A OUTPUT -o ppp+ -j ACCEPT
48. http://portaltic.com/
Prof. Alcyon Junior15/03/11 48 / 63
Principais filtros no iptables
--sport <porta>: especifica a porta de origem. Pode ser dado em forma de
faixa também, como em “--sport 80:123” ou mesmo “--sport 1023:” (todas
acima de 1023). Precisa ter tcp ou udp especificado como protocolo.
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 1:1023 -j REJECT
iptables -A INPUT -p tcp --sport 1024: -j ACCEPT
--dport <porta>: especifica a porta de destino. Mesmas regras do --sport.
iptables -A OUTPUT -p tcp --dport 23 -j DROP
49. http://portaltic.com/
Prof. Alcyon Junior15/03/11 49 / 63
Principais filtros no iptables
(TCP, -p tcp necessário)
--tcp-flags <máscara> <set>: Permite casar por flags do TCP. Primeiro se
diz quais serão examinados, depois os que devem estar setados. Flags:
SYN, ACK, URG, FIN, RST e PSH. ALL e NONE também pode ser usados
para simplificar a seleção dos flags
iptables -A INPUT -p tcp --tcp-flags SYN,FIN,ACK SYN -j DROP
iptables -A INPUT -p tcp --tcp-flags ! SYN,FIN,ACK SYN -j DROP
--syn: Uma abreviação para selecionar pacotes que estejam relacionados
com um processo de abertura de conexão. Poderia ser escrito também
como: “--tcp-flags SYN,RST,ACK SYN”
iptables -A INPUT -p tcp --syn -j DROP
50. http://portaltic.com/
Prof. Alcyon Junior15/03/11 50 / 63
Principais filtros no iptables
(icmp)
Neste caso, precisa-se ter “-p icmp” antes
--icmp-type <tipo>: filtra por tipo de pacotes ICMP. Por exemplo, 8 é o
ping, mas “echo-request” poderia ser usado. Veja a lista completa com
“iptables -p icmp –help”
iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
51. http://portaltic.com/
Prof. Alcyon Junior15/03/11 51 / 63
Principais filtros no iptables
(filtros explícitos)
Existem opções de filtragem que exigem a opção “-m”, em geral opções
mais avançadas ou relacionadas a plugins. A lista é enorme.
-m iprange: permite especificar faixas de IPs para origem (--src-range) e
destino (--dst-range)
-m iprange --src-range 10.0.0.1-10.0.0.20
-m length --length <min:max>: permite selecionar pacotes usando o seu
tamanho como referência.
-m limit: limita quantas vezes uma regra pode ser casada dentro de um
intervalo de tempo. Por exemplo, “-m limit --limit 3/s” ou “-m --limit
1000/hour”. É possível especificar limites de rajadas junto com--limit-burst.
Por exemplo “-m limit --limit 5/s --limit-burst 10”.
-m mac --mac-source xx:xx:xx:xx:xx:xx: filtra por MACs
Isto é só um amostra, existem muitas opções “-m”
52. http://portaltic.com/
Prof. Alcyon Junior15/03/11 52 / 63
Principais ações no iptables
ACCEPT: aceita o pacote
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
DROP: descarta o pacote
iptables -A INPUT -p tcp --dport 23 -j DROP
REJECT: rejeita o pacote, informando ao host de origem. Válida em
INPUT, OUTPUT e FORWARD.
iptables -A INPUT -p tcp --dport 23 -j REJECT
LOG: coloca no log informações sobre o pacote. Uma opção interessante
é o --log-prefix “mensagem”, que permite a adição de um prefixo. O log
não interrompe o processamento, fique atento.
iptables -A INPUT -p tcp --dport 23 -j LOG --log-prefix “Tentativa de
telnet”
iptables -A INPUT -p tcp --dport 23 -j DROP
53. http://portaltic.com/
Prof. Alcyon Junior15/03/11 53 / 63
Principais ações no iptables
(MASQUERADE)
MASQUERADE: realiza o NAT, alterando o endereço de origem. Similar
ao SNAT, mas sem opções de endereço de saída. Válido em
POSTROUTING somente, tabela nat. Muito usado para implementar as
regras de NAT do firewall.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp+ -j MASQUERADE
Não esqueça de habilitar o forwarding, colocando 1 em em
/proc/sys/net/ipv4/ip_forward, usando uma das formas abaixo:
$ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
# echo 1 > /proc/sys/net/ipv4/ip_forward
firewall
internet intranet
eth1eth0
54. http://portaltic.com/
Prof. Alcyon Junior15/03/11 54 / 63
Principais ações no iptables
(SNAT)
SNAT: realiza o NAT, alterando o endereço de origem do pacote. Válido
em POSTROUTING, da tabela nat. Pode usar a opção --to-source <IPa-
IPb> para especificar uma faixa de IPs.
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source
200.210.10.1-200.210.10.10
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source
200.210.10.1-200.210.10.10:1024:32000
55. http://portaltic.com/
Prof. Alcyon Junior15/03/11 55 / 63
Principais ações no iptables
(REDIRECT)
REDIRECT: permite o redirecionamento de portas. Possui a opção --to-
ports para especificar a nova portas (ou uma faixa delas). Válida em
PREROUTING e OUTPUT, da tabela nat. Útil para proxy transparentes,
por exemplo.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT
--to--ports 3128
Na configuração do squid, use a seguinte linha:
http_port 3128 transparent
proxy+fw
:3128
intranet
cliente
Acesso a
internet na
porta 80
eth1
56. http://portaltic.com/
Prof. Alcyon Junior15/03/11 56 / 63
Principais ações no iptables
(DNAT)
DNAT: realiza o NAT, alterando o endereço de destino do pacote. Pode
usar a opção --to-destination <IPa-IPb> para especificar uma faixa de IPs
(load balancing). Válido somente em PREROUTE e OUTPUT, tabela nat.
Caso de uso típico para criação de virtual servers, onde é preciso regras
para quem vem de fora, para máquina na intranet e para o próprio firewall.
iptables -t nat -A PREROUTING -p tcp -d 65.10.20.31 --dport 80 -j
DNAT --to-destination 172.16.0.10
iptables -t nat -A POSTROUTING -p tcp -d 172.16.0.10 --dport 80 -j
SNAT --to-source 172.16.0.1
iptables -t nat -A OUTPUT -p tcp -d 65.10.20.31 --dport 80 -j DNAT
--to-destination 172.16.0.10
firewall
internet intranet
WWWcliente
200.210.1.2 172.16.0.10
172.16.0.165.10.20.31
57. http://portaltic.com/
Prof. Alcyon Junior15/03/11 57 / 63
Principais ações no iptables
(redirecionando cadeias)
Caso você tenha criado uma cadeia, pode usar o -j para redirecionar a
filtragem para ela:
-j <nome_da_cadeia>
Ao terminar, caso nenhuma regra tenha sido acionada, o fluxo volta para
quem redirecionou e o processamento continua. Caso contrário, é
interrompido.
iptables -N internet
iptables -A INPUT -p tcp --dport 80 -j internet
Regra 1
-j internet
Regra 3
Regra n
...
INPUT
...
Regra 1
Regra 2
Regra 3
Regra m
...
internet
...Regra não
atingida: aplica
política padrão da
cadeia e retorna
se possível
58. http://portaltic.com/
Prof. Alcyon Junior15/03/11 58 / 63
Referências
O iptables tutorial, do Oscar Andreasson, é imperdível:
http://www.frozentux.net/documents/iptables-tutorial/
O guia foca Linux, como sempre:
http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.html
A página do projeto netfilter (com alguns docs em
PT_BR):
http://www.netfilter.org/documentation/