You are on page 1of 44

ACLs Access Control Lists para IP

O que so as ACLs
Regras organizadas em lista

Cada regra designada de ACE, Access Control Entrie


Cada ACE composta por:
Conjunto de verificaes a realizar Aco a realizar em caso de sucesso nas verificaes

Regras so avaliadas por ordem at verdadeiro ou fim da lista


S executam aces quando aplicadas em determinado ponto de intercepo
07-04-2011 ISEL/DEETC/SRT 2

Aplicaes tpicas das ACLs


Filtragem de pacotes
Em trnsito Com origem ou destino local

Filtragem de rotas em protocolos de encaminhamento Manipulao de rotas em protocolos de encaminhamento Validao no acesso a servios de rede
Ao nvel da camada 3 e 4

Manipulao de pacotes
Para classificao e implementao de QoS Para aplicao condicional de mecanismos de NAT Para ajuste de campos dos cabealhos dos protocolos
07-04-2011 ISEL/DEETC/SRT 3

Algoritmo bsico de avaliao


Validao inicia-se na cabea da lista Validadas as condies indicadas na ACE
Sobre diversos campos do cabealho do datagrama Sobre outras condies externas

Se todas as validaes da ACE sucedem, executar a aco indicada na ACE e terminar Se no, e se a lista ainda no terminou, passar para a regra seguinte Executar a aco default

07-04-2011

ISEL/DEETC/SRT

Cisco IOS ACLs tipo Standard


Duas aces possveis
accept (aceitar) deny (negar) Opo de registar o evento com log

S permite a verificao do endereo origem do datagrama


Usa o par IP / WILDCARD IP Endereo base a verificar WILDCARD Em formato de endereo IP mas indicando com os bits activos os bits que sero para ignorar na validao

A aco por omisso deny Nota: Os datagramas negados geram um ICMP Communication Administratively Prohibited (3/13) de volta a no ser que se tenha activado o no ip unrechables na interface onde est aplicada a ACL.
07-04-2011 ISEL/DEETC/SRT 5

Cisco IOS ACLs tipo Standard - Exemplo


ACL de exemplo:
access-list 10 permit 192.168.146.0 0.0.1.255 access-list 10 permit 192.168.148.0 0.0.1.255 access-list 10 deny 0.0.0.0 255.255.255.255 log

Nome da lista 10 As aces so permit ou deny A ltima regra est a registar o evento (log) A primeira regra aceita datagramas com endereo origem
192.168.146.XXX ou 192.168.147.XXX A WILDCARD diz para a validao ignorar os ltimos 9 bit! 0.0.1.255 => 00000000.00000000.0000 0001.11111111 (binrio)
07-04-2011 ISEL/DEETC/SRT 6

Pergunta?
Se a ACL for aplicada numa interface com o cdigo abaixo, qual a aco executada quando:
Tentar entrar um datagrama na interface com endereos
A) 192.168.150.100 (origem) => 192.168.146.201 (destino) B) 192.168.149.255 (origem) => 192.0.1.1 (destino)

Tentar sair um datagrama na interface com endereos


C) 192.168.146.1 (origem) => 192.168.147.1 (destino)
access-list 10 permit 192.168.146.0 0.0.1.255 access-list 10 permit 192.168.148.0 0.0.1.255 access-list 10 deny 0.0.0.0 255.255.255.255 log interface GigabitEthernet3/16 ip access-group 10 in exit
07-04-2011 ISEL/DEETC/SRT 7

Soluo!
A) 192.168.150.100 (origem) => 192.168.146.201 (destino)
Negado com registo (logging) pela 3 regra

B) 192.168.149.255 (origem) => 192.0.1.1 (destino)


Aceite pela 2 regra

C) 192.168.146.1 (origem) => 192.168.147.1 (destino)


No se sabe, esta ACL no est aplicada sada!
access-list 10 permit 192.168.146.0 0.0.1.255 access-list 10 permit 192.168.148.0 0.0.1.255 access-list 10 deny 0.0.0.0 255.255.255.255 log interface GigabitEthernet3/16 ip access-group 10 in exit
07-04-2011 ISEL/DEETC/SRT 8

Cisco IOS ACLs - Simplificaes


Validao de endereos
0.0.0.0 255.255.255.255 pode ser escrito como any A.B.C.D 0.0.0.0 pode ser escrito como host A.B.C.D

Na introduo da regras
Bits activos na WILDCARD ficam automaticamente inactivos (a zero) no endereo para evitar ambiguidade Regras com validaes iguais so ignoradas (mantida apenas 1)

Actualmente as ACL podem ser identificadas por nomes em vez de nmeros (para a maioria das funes)
Sintaxe exemplo: ip access-list extended XPTO

Aplicvel para todos os tipos de ACLs


07-04-2011 ISEL/DEETC/SRT 9

Cisco IOS ACLs Restries/Limitaes


No possvel mudar a aco default
Mas pode-se colocar uma regra cauda que faa o que queremos

Quando numeradas
Standard: 1 a 99 ou 1300 a 1399 Extended: 100 a 199 ou 2000 a 2699

S por si no formam firewalls com validao de estado (Statefull packet inspection SPI)
SPI s com Cisco CBAC (Context Based Access Control)
07-04-2011 ISEL/DEETC/SRT 10

Cisco IOS ACLs tipo Extended (1)


As mesmas duas aces (accept/deny) que as Standard
Possibilidade de registo mais detalhado com log-input

Validao de mais campos do cabealho IP


Endereo destino Protocolo da camada acima (nome, nmero ou ip para todos) Se fragmento que no o 1 (fragments) Valor de ToS/DSCP/Precedence (dscp/tos/precedence) Valor de TTL (ttl) Opo IP (extenses de cabealho)
ISEL/DEETC/SRT 11

07-04-2011

Cisco IOS ACLs tipo Extended (2)


Validao de campos especficos para os protocolos nvel 4
Portos TCP/UDP
eq, gt, lt, neq, range, portos indicados por nome (ex. www = 80) ou nmero Exemplo: deny tcp any any eq 445

Flags do TCP
syn, ack, rst, fin, urg, psh, established (no syn isolado!) Exemplo: permit tcp any gt 1023 any neq 0 established

Type/Code do ICMP
Numericamente ou baseado em nomes (ex. echo-request = type 8, code 0) Exemplo: permit icmp any any packet-too-big

Tipo de mensagem IGMP


host-query, v1host-report, v2host-report, v3-host-report, v2-leave-group, pim
07-04-2011 ISEL/DEETC/SRT 12

Cisco IOS ACLs tipo Extended (3)


Condies externas ao datagrama avaliado
Intervalos temporais (time-range)
! Exemplo ! Definio do perodo temporal em que a condio verdadeira time-range horaupdate periodic Tuesday Wednesday 2:00 to 4:00 ! Definio da ACL com a validao do perodo de actividade ip access-list extended redemaissegura permit tcp 10.10.0.0 0.0.255.255 gt 1023 any eq 80 time-range horaupdate deny tcp 10.10.0.0 0.0.255.255 any eq 80 permit ip any any exit

Contexto (evaluate/reflect) ACLs reflexivas (ver slide adiante)

07-04-2011

ISEL/DEETC/SRT

13

Cisco IOS fragmentos IP e ACLs


Assumindo que as condies validveis (L3 e/ou L4) sucedem Primeiro fragmento (tem cabealho L4 includo)
Se ACE contm validaes L4, executar aco indicada Se ACE s contm validaes L3 e no tem keyword fragments, executar aco indicada

Fragmentos restantes (sem cabealho L4!)


Se ACE contm validaes L4 e aco PERMIT, executar Se ACE s contm validaes L3, executar aco indicada
07-04-2011 ISEL/DEETC/SRT 14

Cisco IOS ACLs


Tomada de deciso em ACEs, tendo em conta a possvel fragmentao.

Imagem em:
http://www.cisco.com/application/pdf/paws/8014/acl_wp.pdf

ISEL/DEETC/SRT

15

Cisco IOS ACLs reflexivas


Extenso s ACLs Extended para manter uma informao de estado bsica
Apenas contexto de IPs e portos envolvidos Expirao de entradas por timeout

Quando um datagrama aceite por uma regra que inclua a aco reflect
Gerada uma entrada temporria na ACL reflexiva Com os valores de IP/portos necessrios para receber o trfego de volta

Na ACL usada no sentido contrrio do trfego pode-se evocar a ACL reflexiva com a regra evaluate <lista reflexiva>
ip access-list extended paraInternet permit tcp any any eq 80 reflect trafegoWeb ip access-list extended daInternet evaluate trafegoWeb 07-04-2011 ISEL/DEETC/SRT 16

Cisco IOS ACLs - Particularidades


O resultado da avaliao das ACLs sempre consistente com a ordem das regras Algumas plataformas no processam as ACEs pela ordem da lista
Optimizao de clculo/pesquisa/validaes Hardware dedicado (ternary content addressable memory TCAM)

Plataformas com optimizao hardware tm recursos limitados


Tpico dos Multi-Layer Switch - MLS Se as regras no couberem na TCAM o processo realizado em software
Muito ineficiente Analisar documentao da plataforma Rearranjar as regras para minimizar o consumo dos recursos escassos da TCAM Ajustar ACLs para reutilizao em mltiplas interfaces

07-04-2011

ISEL/DEETC/SRT

17

Sugestes de boas prticas em ACLs


ACLs reflexivas Evitar que cresam demasiado Optimizar listas Conhecer dentro do possvel a implementao do avaliador Regras muito usadas no devem gerar log Gerar log de trfego fora do comum Terminar as ACLs com uma regra deny ip any any log
Detectar situaes inesperadas

Analisar periodicamente os registos (log) Regras deny devem ser o mais genricas possvel Regras permit devem ser o mais especficas possvel
07-04-2011 ISEL/DEETC/SRT 18

Optimizao/Simplificao
Juntar regras que sejam agregveis
Ex. de blocos de endereamento contguos e de igual dimenso

Mover para a cabea da lista


Regras que lidem com mais trfego, que sejam mais simples ou que s evoquem campos do cabealho IP

Aceitar o trfego TCP de ligaes aceites/estabelecidas com regras established prximas da cabea das listas Evitar ACLs reflexivas para geradores de muitas comunicaes distintas
Ex. Para aceitar as respostas aos pedidos DNS ao exterior, prefervel usar ACLs estticas Associar timeout razovel s aces reflect

Remover regras no usadas ou com sombra de outras


07-04-2011 ISEL/DEETC/SRT 19

Reordenao de ACEs
Nem sempre com resultados visveis
IOS tem um frequentemente um optimizador

Com melhores resultados em plataformas no MLS H que garantir que o resultado final da avaliao se mantm
Podem-se trocar regras consecutivas com aco igual Podem-se trocar regras que no se intersectem

07-04-2011

ISEL/DEETC/SRT

20

Uso em Packet Filtering - Interfaces


Criar as ACL, aplicar as ACL ao trfego que entra na interface (in) ou sai (out)
ip access-list extended vigilancia-in permit udp any eq bootpc host 255.255.255.255 eq bootps permit ip any 224.0.0.0 0.0.0.255 deny ip any 224.0.0.0 31.255.255.255 deny ip any 192.168.0.0 0.0.255.255 deny ip any 127.0.0.0 0.255.255.255 log-input deny icmp any any log-input fragments permit ip any 10.100.254.0 0.0.1.255 permit ip any 193.137.220.0 0.0.1.255 permit ip any 192.104.48.0 0.0.0.255 permit ip any 10.100.2.0 0.0.32.255 permit udp any 10.100.0.254 0.0.255.0 eq ntp permit icmp any 10.100.0.254 0.0.255.0 echo permit ip any 10.100.0.254 0.0.255.0 permit icmp 10.100.2.96 0.0.0.31 any echo permit tcp 10.100.2.96 0.0.0.31 any eq www permit tcp 10.100.2.96 0.0.0.31 any eq 443 permit ip 10.100.2.96 0.0.0.31 10.4.0.96 0.0.0.31 permit ip host 10.100.32.1 10.35.17.120 0.0.0.7 deny ip any any log-input ip access-list extended vigilancia-out permit ip 10.100.16.252 0.0.0.3 224.0.0.0 15.255.255.255 deny tcp any 10.2.0.0 0.0.255.255 eq telnet permit ip 10.100.254.0 0.0.1.255 any permit ip 193.137.220.0 0.0.1.255 any permit ip 192.104.48.0 0.0.0.255 any permit ip 10.100.2.0 0.0.32.255 any permit udp 10.100.0.254 0.0.255.0 any eq ntp permit icmp 10.100.0.254 0.0.255.0 any permit ip 10.100.0.254 0.0.255.0 any permit icmp any 10.100.2.96 0.0.0.31 echo-reply permit icmp any 10.100.2.96 0.0.0.31 unreachable permit icmp any 10.100.2.96 0.0.0.31 time-exceeded permit tcp any neq 0 10.100.2.96 0.0.0.31 gt 1023 established permit ip 10.4.0.96 0.0.0.31 10.100.2.96 0.0.0.31 permit ip 10.35.17.120 0.0.0.7 host 10.100.32.1 deny ip host 10.79.29.1 any deny ip any any log-input interface Vlan193 ip access-group vigilancia-in in ip access-group vigilancia-out out

07-04-2011

ISEL/DEETC/SRT

21

Uso no acesso a servios do router


Exemplos para acesso remoto de consola e para acesso SNMP
ip access-list standard cantelnet permit 193.137.220.0 0.0.0.127 deny any log ! line vty 0 4 access-class cantelnet in ! ! ======================================= ! access-list 1501 permit 193.137.220.0 0.0.0.127 access-list 1501 permit 10.100.254.0 0.0.1.255 access-list 1501 deny any log ! snmp-server community ourpublic RO 1501
07-04-2011 ISEL/DEETC/SRT 22

Uso em NAT
Selecciona que trfego pode usar cada regra de NAT

access-list 100 permit ip 192.168.4.0 0.0.1.255 any access-list 101 permit ip 192.168.0.0 0.0.3.255 any ip nat inside source list 100 interface FastEthernet0/0 overload ip nat pool xpto 10.62.74.0 10.62.74.15 prefix-length 1 ip nat inside source list 101 pool xpto
07-04-2011 ISEL/DEETC/SRT 23

Uso em encaminhamento
No ajuste de atributos ou filtragem de rotas

ip access-list standard netsPI permit 192.104.48.0 0.0.0.255 permit 192.68.221.0 0.0.0.255 deny any ! route-map bgp-out permit 10 match ip address netsPI set metric 200 ! router bgp 34827 neighbor 193.136.5.4 route-map bgp-out out
07-04-2011 ISEL/DEETC/SRT 24

Em policy routing
Forar o trfego a seguir um caminho e ignorar tabela de encaminhamento Marcar valores de precedence/DSCP para uso em QoS
ip access-list extended netsViaF permit ip 193.137.220.0 0.0.1.255 any permit ip 193.137.237.0 0.0.0.255 any deny ip any any route-map route-ctrl-red permit 20 match ip address netsViaF set ip precedence routine set ip next-hop 193.136.1.153 ! interface GigabitEthernet0/3 ip policy route-map route-ctrl-red
07-04-2011 ISEL/DEETC/SRT 25

Netfilter IPTables (Linux)


Modelo de filtragem mais verstil Muitos pontos de intercepo Muitos mdulos extra para comportamentos especiais Muitas variantes de NAT Com statefull packet inspection nativo conntrack Possibilidade de se criarem mdulos personalizados para funes muito especficas Possibilidade de evocao entre ACLs (chamadas aqui de Chains) Componentes kernel-space e user-space
07-04-2011 ISEL/DEETC/SRT 26

Netfilter Recurso entre chains


Permite maior eficincia se se organizar a avaliao em rvore Evita avaliar regras que nunca iriam suceder Permite desenvolvimento de grupos modulares de regras

http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

07-04-2011

ISEL/DEETC/SRT

27

Netfilter Pontos e intercepo


4 tables
filter (default) nat mangle raw PREROUTING POSTROUTING INPUT OUTPUT FORWARDING

5 pontos de intercepo

http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

07-04-2011

ISEL/DEETC/SRT

28

Netfilter Tabela filter


Modelo mais eficiente que o do IOS
Trfego s passa por um ponto de intercepo
FORWARD Se apenas atravessa o router INPUT Se destinado ao router OUTPUT Se gerado pelo router

http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

07-04-2011

ISEL/DEETC/SRT

29

Netfilter Mdulo de conntrack


Mantm estado granular das ligaes
Detalhes de quando ocorre NAT Endereos, portos, protocolos Nmeros de sequncia do TCP Contadores de trfego em bytes e datagramas

tcp 6 110 SYN_SENT src=10.10.64.231 dst=209.197.6.226 sport=3843 dport=27031 packets=1 bytes=52 [UNREPLIED] src=209.197.6.226 dst=10.10.64.231 sport=27031 dport=3843 packets=0 bytes=0 mark=0 use=2 tcp 6 53 TIME_WAIT src=10.10.64.231 dst=75.101.142.9 sport=3770 dport=80 packets=5 bytes=873 src=75.101.142.9 dst=192.68.221.137 sport=80 dport=3770 packets=5 bytes=440 [ASSURED] mark=0 use=2 tcp 6 72513 ESTABLISHED src=192.68.221.105 dst=89.214.80.251 sport=443 dport=49626 packets=2 bytes=2920 [UNREPLIED] src=89.214.80.251 dst=192.68.221.105 sport=49626 dport=443 packets=0 bytes=0 mark=0 use=2 tcp 6 69486 ESTABLISHED src=200.163.2.238 dst=192.104.48.72 sport=3844 dport=80 packets=7 bytes=288 src=192.104.48.72 dst=200.163.2.238 sport=80 dport=3844 packets=1 bytes=48 [ASSURED] mark=0 use=2 tcp 6 368226 ESTABLISHED src=192.104.48.8 dst=125.163.103.161 sport=25 dport=16008 packets=1 bytes=110 [UNREPLIED] src=125.163.103.161 dst=192.104.48.8 sport=16008 dport=25 packets=0 bytes=0 mark=0 use=2 tcp 6 121414 ESTABLISHED src=10.44.17.29 dst=194.42.43.34 sport=1401 dport=443 packets=34 bytes=20295 src=194.42.43.34 dst=192.68.221.133 sport=443 dport=1401 packets=36 bytes=18254 [ASSURED] mark=0 use=2 tcp 6 293 ESTABLISHED src=10.64.10.50 dst=208.43.202.36 sport=50106 dport=80 packets=341 bytes=56504 src=208.43.202.36 dst=192.68.221.135 sport=80 dport=50106 packets=349 bytes=53395 [ASSURED] mark=0 use=2 tcp 6 48 SYN_SENT src=10.43.139.11 dst=190.200.87.76 sport=51546 dport=64694 packets=3 bytes=152 [UNREPLIED] src=190.200.87.76 dst=10.43.139.11 sport=64694 dport=51546 packets=0 bytes=0 mark=0 use=2 tcp 6 327582 ESTABLISHED src=192.68.221.105 dst=81.84.148.189 sport=443 dport=1609 packets=9 bytes=6205 [UNREPLIED] src=81.84.148.189 dst=192.68.221.105 sport=1609 dport=443 packets=0 bytes=0 mark=0 use=2 tcp 6 346597 ESTABLISHED src=213.22.248.19 dst=193.137.100.233 sport=49838 dport=80 packets=7 bytes=352 src=193.137.100.233 dst=213.22.248.19 sport=80 dport=49838 packets=1 bytes=52 [ASSURED] mark=0 use=2

07-04-2011

ISEL/DEETC/SRT

30

Netfilter Mdulo de conntrack TCP (1)

Estabelecimento de ligaes
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

Fecho de ligaes

07-04-2011

ISEL/DEETC/SRT

31

Netfilter Mdulo de conntrack TCP (2)


Estabelecimento de ligaes associadas pelo servidor (ex. FTP-DATA / modo activo)
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

Estabelecimento de ligaes associadas pelo cliente (ex. FTP-DATA / modo passivo)


07-04-2011 ISEL/DEETC/SRT 32

Netfilter Mdulo de conntrack UDP e ICMP


Associao entre pedidos/respostas sobre UDP
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

Associao entre mensagens ICMP

07-04-2011

ISEL/DEETC/SRT

33

Netfilter Mdulo de conntrack TCP/UDP


Associao das mensagens de erro ICMP relacionadas Em TCP
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

Em UDP

07-04-2011

ISEL/DEETC/SRT

34

Netfilter Manuteno das listas e regras (1)


Uso da ferramenta iptables em scripts ou command shell Uso das ferramentas iptables-save / iptables-restore Possibilidade de adio, remoo, insero, substituio e listagem de regras
Incluindo listagem de pacotes e bytes processados por cada regra

Verificaes base similares s do Cisco IOS


Possibilidade de negao das verificaes prefixando-as de ! Protocolo nvel 4 (-p) IP origem (-s) no formato address/mask (clssica ou CIDR) IP destino (-d) formato igual ao do -s Interface de entrada (-i) Possibilidade de uso de wildcards (ex. eth+) Interface de sada (-o) Possibilidade de uso de wildcards (ex. ppp+) Tabela (-t) filter, nat, magle, raw
ISEL/DEETC/SRT 35

07-04-2011

Netfilter Manuteno das listas e regras (2)


Aces
Execuo (-j)
<chain> - Continua a avaliao noutra chain e retorna se chegar ao fim dela ACCEPT aceitar o datagrama e terminar DENY rejeitar o datagrama sem qualquer resposta e terminar REJECT rejeitar o datagrama e responder convenientemente ou com a mensagem indicada e terminar LOG registar os detalhes do datagrama tem opes para registo de detalhes especficos RETURN volta para a lista que evocou a actual

Comutao de chains (-g) Salta para a chain indicada e no volta Mdulo adicional de verificaes (-m) Usado para carregar mdulos especializados de verificao Por omisso (-P) define a aco por omisso da chain
07-04-2011 ISEL/DEETC/SRT 36

Netfilter Verificaes extra para TCP


Possibilidade da negao da verificao prefixando com ! --tcp-flags mask comp
Testa o campo de flags com uma operao (flags & mask == comp)

--syn
Equivalente a --tcp-flags SYN,RST,ACK,FIN SYN

--sport port[:port]
Gama de portos origem a validar

--dport port[:port]
Gama de portos destino a validar

--tcp-option number
Valida a existncia de determinada extenso de cabealho TCP

07-04-2011

ISEL/DEETC/SRT

37

Netfilter Algumas verificaes especializadas


Adicionveis regra com m
statistic d verdadeiro baseado em condies estatsticas
iptables -t nat -A POSTROUTING -m statistic -o eth0 -p udp -s 193.137.220.18 ! --sport 53 \ ! -d 193.137.220.0/23 --dport 53 --mode nth --every 2 --packet 0 -j SNAT --to-source 192.104.48.18

dscp verifica o valor do campo DSCP do cabealho IP


iptables -A dscpclass -m dscp --dscp-class AF43 -j RETURN

state consulta o estado conntrack associado ao datagrama


iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

limit s retorna verdadeiro n vezes por perodo de tempo


iptables -A INPUT -p icmp --icmp-type 8/0 -m limit --limit 1/s -j ACCEPT

07-04-2011

ISEL/DEETC/SRT

38

Netfilter - NAT
Usar o iptables com a opo t nat Pontos de intercepo
PREROUTING POSTROUTING OUTPUT

Aces finais possveis em regras de NAT


SNAT - Alterao de endereo e/ou porto origem DNAT Alterao de endereo e/ou porto destino MASQUERADE forma especial de SNAT, similar ao Cisco NAT overload sobre IP da interface indicada na regra ACCEPT no fazer NAT

Nota: Algumas combinaes ponto de intercepo/aces no so vlidas (ex. MASQUERADE em PREROUTING!)


07-04-2011 ISEL/DEETC/SRT 39

Netfilter O resto
impossvel falar de todas as alternativas do Netfilter Mesmo grande parte do mencionado atrs tem variantes que tiveram de ficam por mencionar Site oficial: http://www.netfilter.org/
Inclui muita documentao a todos os nveis e referncias para muitos outros locais com tutoriais e HOWTOs

07-04-2011

ISEL/DEETC/SRT

40

Netfilter Exemplo: OpenWRT de casa (1)


[root@WAVE root]$ iptables -t filter -L -nv Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out 242 26854 DROP all -- * * 385K 35M ACCEPT all -- * * 20988 1259K ACCEPT all -- lo * 0 0 ACCEPT udp -- * * 0 0 ACCEPT tcp -- * * 1 52 ACCEPT tcp -- * * 12117 1109K ACCEPT all -- br0 * 663K 241M ACCEPT udp -- * * 0 0 ACCEPT tcp -- * * 66 4192 ACCEPT icmp -- * * 31640 3631K DROP all -- * * Chain pkts 11431 0 2 0 0 210 10 7 0 10 4911K 0 9940 FORWARD (policy ACCEPT 116K packets, 10M bytes target prot opt in out 972K ACCEPT all -- br0 br0 0 DROP all -- * * 104 habbo tcp -- * vlan1 0 habbo tcp -- * vlan1 0 habbo tcp -- * vlan1 18562 ACCEPT all -- * vlan1 1182 ACCEPT all -- * vlan1 532 DROP all -- * vlan1 0 DROP all -- * vlan1 684 DROP all -- * vlan1 3378M ACCEPT all -- * * 0 DROP all -- !br0 vlan1 942K ACCEPT all -- * * source 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 bytes) source 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 192.168.1.0/24 192.168.1.0/24 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 destination 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 192.168.1.254 0.0.0.0/0 0.0.0.0/0 192.168.1.254 0.0.0.0/0 0.0.0.0/0

state INVALID state RELATED,ESTABLISHED state NEW udp dpt:52412 tcp dpts:52413:52414 tcp dpt:23 state NEW udp spt:67 dpt:68 tcp dpt:80

destination 0.0.0.0/0 0.0.0.0/0 66.132.128.0/17 69.90.136.0/21 62.50.32.0/19 192.168.100.1 192.168.1.0/24 192.168.0.0/16 172.16.0.0/20 10.0.0.0/8 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0

state INVALID

state RELATED,ESTABLISHED ctstate DNAT

07-04-2011

ISEL/DEETC/SRT

41

Netfilter Exemplo: OpenWRT de casa (2)


Chain OUTPUT (policy ACCEPT 519K packets, 364M bytes) pkts bytes target prot opt in out source destination

Chain SECURITY (0 references) pkts bytes target prot opt 0 0 RETURN tcp -0 0 RETURN tcp -0 0 RETURN udp -0 0 RETURN icmp -0 0 DROP all --

in * * * * *

out * * * * *

source 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0

destination 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0

tcp flags:0x16/0x02 limit: avg 1/sec burst 5 tcp flags:0x17/0x04 limit: avg 1/sec burst 5 limit: avg 5/sec burst 5 limit: avg 5/sec burst 5

Chain habbo (3 references) pkts bytes target prot opt in 0 0 RETURN all -- * 2 104 REJECT all -- * Chain logaccept (0 references) pkts bytes target prot opt in 0 0 LOG all -- * 0 0 ACCEPT all -- * Chain logdrop (0 references) pkts bytes target prot opt in 0 0 LOG all -- * 0 0 DROP all -- *

out * *

source 192.168.1.200 0.0.0.0/0

destination 0.0.0.0/0 0.0.0.0/0

reject-with icmp-net-prohibited

out * *

source 0.0.0.0/0 0.0.0.0/0

destination 0.0.0.0/0 0.0.0.0/0

state NEW LOG flags 7 level 4 prefix `ACCEPT '

out * *

source 0.0.0.0/0 0.0.0.0/0

destination 0.0.0.0/0 0.0.0.0/0

state NEW LOG flags 7 level 4 prefix `DROP '

07-04-2011

ISEL/DEETC/SRT

42

Netfilter Exemplo: OpenWRT de casa (3)


[root@WAVE root]$ iptables -t nat -L -nv Chain PREROUTING (policy ACCEPT 159K packets, 19M bytes) pkts bytes target prot opt in out source 40906 4242K VSERVER all -- * * 0.0.0.0/0 destination 84.90.114.234

Chain POSTROUTING (policy ACCEPT 29811 packets, 1884K bytes) pkts bytes target prot opt in out source destination 105K 9418K MASQUERADE all -- * vlan1 !84.90.114.234 0.0.0.0/0 1991 210K MASQUERADE all -- * br0 192.168.1.128/25 192.168.1.128/25 Chain OUTPUT (policy ACCEPT 22615 packets, 1488K bytes) pkts bytes target prot opt in out source Chain VSERVER (1 references) pkts bytes target prot opt 0 0 DNAT tcp -0 0 DNAT udp -9187 606K DNAT tcp -0 0 DNAT tcp -0 0 DNAT udp -0 0 DNAT udp --

destination

in * * * * * *

out * * * * * *

source 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0

destination 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0 0.0.0.0/0

tcp udp tcp tcp udp udp

dpt:65530 to:192.168.1.200:65530 dpt:65530 to:192.168.1.200:65530 dpt:65531 to:192.168.1.200:65531 dpt:5001 to:192.168.1.207:5001 dpt:5001 to:192.168.1.207:5001 dpt:6000 to:192.168.1.211:6000

07-04-2011

ISEL/DEETC/SRT

43

Referncias
Netfilter/IPTables
The netfilter.org project
http://www.netfilter.org/

The netfilter/iptables HOWTO's


http://www.netfilter.org/documentation/index.html#documentation-howto (inclui documentao em Portugus)

Iptables Tutorial 1.2.2


http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

Cisco IOS Access Lists


Configuring IP Access Lists
http://www.cisco.com/en/US/products/sw/secursw/ps1018/products_tech_note09186a00800a5b9a.shtml

Access Lists Introduction


http://www.cisco.com/en/US/tech/tk648/tk361/tk821/tsd_technology_support_sub-protocol_home.html

Cisco - Access Control Lists and IP Fragments


http://www.cisco.com/application/pdf/paws/8014/acl_wp.pdf

Understanding ACL on Catalyst 6500 Series Switches


http://www.ciscosystems.or.at/en/US/products/hw/switches/ps708/products_white_paper09186a00800c9470.s html

Secure IOS Template Version 6.2 01 FEB 2010


http://www.cymru.com/Documents/secure-ios-template.html
07-04-2011 ISEL/DEETC/SRT 44

You might also like