21 December 2008

IPtables Resume

Segue um resumo que fiz pra galera da facul:

– d ou --destination
• Identifica o destino final do datagrama.
• Exemplo:
– iptables –I INPUT –d 200.244.200.3 –j DROP

– s ou --source
• Identifica o emissor do datagrama.
• Exemplo:
– iptables –A INPUT –s 192.200.4.100 –j DROP

– o ou --out-interface
• Identifica o dispositivo de rede pelo qual o pacote será enviado.
• Exemplo:
– iptables –I FORWARD –o eth2 –j ACCEPT

– i ou --in-interface
• Identifica o dispositivo de rede que recebe o pacote.
• Exemplo:
– iptables –A INPUT –i eth0 –j ACCEPT

--sport ou --source-port
• Identifica a porta de origem da conexão.
• Exemplos:
– iptables –A INPUT –p TCP –sport 21 –j ACCEPT
– iptables –A INPUT –sport 100:200 –j ACCEPT
– iptables –A INPUT –p TCP –sport :80 –j ACCEPT
– iptables –A INPUT –p TCP –sport 80: –j ACCEPT

--dport ou --destination-port
• Identifica a porta de destino da conexão.
• Exemplos:
– iptables –A INPUT –p TCP –dport 20 –j ACCEPT
– iptables –A INPUT –dport 100:200 –j ACCEPT
– iptables –A INPUT –p TCP –dport :80 –j ACCEPT
– iptables –A INPUT –p TCP –dport 80: –j ACCEPT

– --tcp-flags
• Identifica a flag TCP no pacote.
• Como utilizar:
– Primeiro é verificada a primeira lista (SYN, FIN, ACK).
– Depois verificado quais devem ter o valor 1 (on).
– No exemplo abaixo, o match será feito para os pacotes com o
bit 1 na flag SYN.

• Exemplo:
– iptables –A INPUT –p TCP –-tcp-flags
SYN,FIN,ACK SYN –j ACCEPT

– --multiport
• Pode-se especificar até 15 portas distintas em um mesmo match.
• Exemplo:
– iptables –A INPUT –p TCP –m multiport –sport 22,25,80,110.

• Targets:
– O target, ou jump, é a ação que será executada no pacote
quando ele atender aos parâmetros especificados numa
regra do ruleset.
– Os alvos (targets) pré-construídos são: ACCEPT, DROP,
QUEUE, RETURN, LOG e REJECT.
– É possível também criar targets personalizados, realizando
mais de uma ação para o mesmo match.
• Exemplos:
– Gerar log do pacote; e
– Descartar o pacote.

– As cadeias da tabela NAT são:
•PREROUTING
•OUTPUT
•POSTROUTING

– A cadeia PREROUTING é verificada por um match antes
do sistema tentar rotear o pacote.
– Nesta cadeia é onde se pode realizar o Destination NAT
ou, simplesmente, o DNAT.

– A cadeia OUTPUT é verificada por um match quando o
pacote é gerado pelo sistema e tem como destino a
interface de saída do host.
– Nesta cadeia é onde se pode realizar o Source NAT ou,
simplesmente, o SNAT.

– A cadeia POSTROUTING é verificada por um match
quando o pacote deixa o host pela interface de saída.
– Nesta cadeia também se pode realizar o Source NAT ou,
simplesmente, o SNAT.

– Com um IP estático, nós podemos executar um
mascaramento usando o SNAT para o IP estático
do gateway de saída.
• iptables –t nat –A POSTROUTING –o eth0 –j SNAT --to 194.158.156.1

– Para IPs dinâmicos, nós podemos usar o alvo de
mascaramento na saída.
• iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE

para quem nao conhece, iptables é o firewall do linux.
the best 8D
t+

No comments: