Escolar Documentos
Profissional Documentos
Cultura Documentos
ndice
1 Manipulando chains 1.1 Adicionando regras - A 1.2 Listando regras - L 1.3 Apagando uma regra - D 1.4 Inserindo uma regra - I 1.5 Substituindo uma regra - R 1.6 Criando um novo chain - N 1.7 Renomeando um chain criado pelo usurio - E 1.8 Listando os nomes de todas as tabelas atuais 1.9 Limpando as regras de um chain - F 1.10 Apagando um chain criado pelo usurio - X 1.11 Zerando contador de bytes dos chains - Z 1.12 Especificando a poltica padro de um chain - P
Manipulando chains
Oi p t a b l e strabalha com uma tabela de regras que analisada uma a uma at que a ltima seja processada. Por padro, se uma regra tiver qualquer erro, uma mensagem ser mostrada e ela descartada. O pacote no conferir e a ao final (se ele vai ser aceito ou rejeitado) depender das regras seguintes. As opes passadas ao i p t a b l e susadas para manipular os chains so SEMPRE em maisculas. As seguintes operaes podem ser realizadas:
Adicionando regras - A
Como exemplo vamos criar uma regra que bloqueia o acesso a nosso prpria mquina (127.0.0.1 - loopback). Primeiro daremos um ping para verificar seu funcionamento:
08/07/13
Ok, a mquina responde, agora vamos incluir uma regra no chain INPUT (-A INPUT) que bloqueie (-j DROP) qualquer acesso indo ao endereo 127.0.0.1 (-d 127.0.0.1): iptables -t filter -A INPUT -d 127.0.0.1 -j DROP Agora verificamos um novo ping:
# p i n g1 2 7 . 0 . 0 . 1 P I N G1 2 7 . 0 . 0 . 1( 1 2 7 . 0 . 0 . 1 ) :5 6d a t ab y t e s -1 2 7 . 0 . 0 . 1p i n gs t a t i s t i c s2p a c k e t st r a n s m i t t e d ,0p a c k e t sr e c e i v e d ,1 0 0 %p a c k e tl o s s
Desta vez a mquina 127.0.0.1 no respondeu, pois todos os pacotes com o destino 127.0.0.1 (-d 127.0.0.1) so rejeitados (-j DROP). A opo -A usada para adicionar novas regras no final do chain. Alm de -j DROP que serve para rejeitar os pacotes, podemos tambm usar -j ACCEPT para aceitar pacotes. A opo j chamada de alvo da regra ou somente alvo pois define o destino do pacote que atravessa a regra (veja [#s-fw-iptables-outras-alvo Especificando um alvo, Seo 10.3.6]). Bem vindo a base de um sistema de firewall :-) OBS1: - O acesso a interface loopback no deve ser de forma alguma bloqueado, pois muitos aplicativos utilizam soquetes tcp para realizarem conexes, mesmo que voc no possua uma rede interna. OBS2: - A tabela filter ser usada como padro caso nenhuma tabela seja especificada atravs da opo -t.
Listando regras - L
A seguinte sintaxe usada para listar as regras criadas: iptables [-t tabela] -L [chain] [opes] Onde: tabela uma das tabelas usadas pelo i p t a b l e s . Se a tabela no for especificada, a tabela filter ser usada como padro. Veja [#s-fw-iptables-tabelas O que so tabelas?, Seo 10.1.14] para detalhes. chain Um dos chains disponveis na tabela acima (veja [#s-fw-iptables-tabelas O que so tabelas?, Seo 10.1.14]) ou criado pelo usurio ([#s-fw-iptables-chains-N Criando um novo chain - N, Seo 10.2.6]). Caso o chain no seja especificado, todos os chains da tabela sero mostrados. opes As seguintes opes podem ser usadas para listar o contedo de chains: -v - Exibe mais detalhes sobre as regras criadas nos chains. -n - Exibe endereos de mquinas/portas como nmeros ao invs de tentar a resoluo DNS e consulta ao / e t c / s e r v i c e s . A resoluo de nomes pode tomar muito tempo dependendo da quantidade de regras que suas tabelas possuem e velocidade de sua conexo.
pt.wikibooks.org/wiki/Guia_do_Linux/Avanado/Firewall_iptables/Manipulando_chains 2/8
08/07/13
-x - Exibe nmeros exatos ao invs de nmeros redondos. Tambm mostra a faixa de portas de uma regra de firewall. --line-numbers - Exibe o nmero da posio da regra na primeira coluna da listagem. Para listar a regra criada anteriormente usamos o comando:
# i p t a b l e stf i l t e rLI N P U T C h a i nI N P U T( p o l i c yA C C E P T ) t a r g e t p r o to p ts o u r c e D R O P a l l - a n y w h e r e
d e s t i n a t i o n l o c a l h o s t
O comando iptables -L INPUT -n tem o mesmo efeito, a diferena que so mostrados nmeros ao invs de nomes:
# i p t a b l e sLI N P U Tn C h a i nI N P U T( p o l i c yA C C E P T ) t a r g e t p r o to p ts o u r c e D R O P a l l - 0 . 0 . 0 . 0 / 0
d e s t i n a t i o n 1 2 7 . 0 . 0 . 1
# i p t a b l e sLI N P U Tnl i n e n u m b e r s C h a i nI N P U T( p o l i c yA C C E P T ) n u mt a r g e t p r o to p ts o u r c e 1 D R O P a l l - 0 . 0 . 0 . 0 / 0
d e s t i n a t i o n 1 2 7 . 0 . 0 . 1
# i p t a b l e sLI N P U Tnv C h a i nI N P U T( p o l i c yA C C E P T7 8p a c k e t s ,5 8 2 0b y t e s ) p k t sb y t e st a r g e t p r o to p ti n o u t s o u r c e 2 1 9 4D R O P i c m p- * * 0 . 0 . 0 . 0 / 0
d e s t i n a t i o n 1 2 7 . 0 . 0 . 1
Os campos assim possuem o seguinte significado: Chain INPUT Nome do chain listado (policy ACCEPT 78 packets, 5820 bytes) poltica padro do chain (veja [#s-fw-iptables-chains-P Especificando a poltica padro de um chain - P, Seo 10.2.12]). pkts Quantidade de pacotes que atravessaram a regra (veja [#s-fw-iptables-chains-Z Zerando contador de bytes dos chains - Z, Seo 10.2.11]). bytes Quantidade de bytes que atravessaram a regra. Pode ser referenciado com K (Kilobytes), M (Megabytes), G (Gigabytes). target O alvo da regra, o destino do pacote. Pode ser ACCEPT, DROP ou outro chain. Veja [#s-fw-iptablesoutras-alvo Especificando um alvo, Seo 10.3.6] para detalhes sobre a especificao de um alvo. prot Protocolo especificado pela regra. Pode ser udp, tcp, icmp ou all. Veja [#s-fw-iptables-outras-proto
pt.wikibooks.org/wiki/Guia_do_Linux/Avanado/Firewall_iptables/Manipulando_chains 3/8
08/07/13
Especificando um protocolo, Seo 10.3.3] para detalhes. opt Opes extras passadas a regra. Normalmente "!" (veja [#s-fw-iptables-outras-excessoes Especificando uma exceo, Seo 10.3.5]) ou "f" (veja [#s-fw-iptables-outras-fragmentos Especificando fragmentos, Seo 10.3.4]). in Interface de entrada (de onde os dados chegam). Veja [#s-fw-iptables-outras-iface Especificando a interface de origem/destino, Seo 10.3.2]. out Interface de sada (para onde os dados vo). Veja [#s-fw-iptables-outras-iface Especificando a interface de origem/destino, Seo 10.3.2]. source Endereo de origem. Veja [#s-fw-iptables-outras-endOD Especificando um endereo de origem/destino, Seo 10.3.1]. destination Endereo de destino. Veja [#s-fw-iptables-outras-endOD Especificando um endereo de origem/destino, Seo 10.3.1]. outras opes Estas opes normalmente aparecem quando so usadas a opo -x: dpt ou dpts - Especifica a porta ou faixa de portas de destino. reject-with icmp-port-unreachable - Significa que foi usado o alvo REJECT naquela regra (veja [#s-fw-iptables-outras-alvo-REJECT Alvo REJECT, Seo 10.3.6.1]).
08/07/13
a antiga regra nmero 1 passa a ser a nmero 2. Desta forma a regra acima ser consultada, se a mquina de origem for 192.168.1.15 ento o trfego estar garantido, caso contrrio o trfego com o destino 127.0.0.1 ser bloqueado na regra seguinte.
Para inserir regras no chain internet basta especifica-lo aps a opo -A:
i p t a b l e stf i l t e rAi n t e r n e ts2 0 0 . 2 0 0 . 2 0 0 . 2 0 0jD R O P
E ento criamos um pulo (-j) do chain INPUT para o chain internet : iptables -t filter -A INPUT -j internet OBS: O chain criando pelo usurio pode ter seu nome tanto em maisculas como minsculas. Se uma mquina do endereo 200.200.200.200 tentar acessar sua mquina, o i p t a b l e sconsultar as seguintes regras:
` I N P U T ' |R e g r a 1 :s1 9 2 . 1 6 8 . 1 . 1 5 | | | |R e g r a 2 :s1 9 2 . 1 6 8 . 1 . 1 | | | |R e g r a 3 :jD R O P | ` i n t e r n e t ' |R e g r a 1 :s2 0 0 . 2 0 0 . 2 0 0 . 2 0 0 | | | |R e g r a 2 :d1 9 2 . 1 6 8 . 1 . 1 | -
08/07/13
S eu m am q u i n ac o moe n d e r e od eo r i g e m2 0 0 . 2 0 0 . 2 0 0 . 2 0 1t e n t a ra c e s s a ram q u i n a , e n t oa sr e g r ac o n s u l t a d a ss e r oa ss e g u i n t e s :
Op a c o t et e moe n d e r e od eo r i g e m 2 0 0 . 2 0 0 . 2 0 0 . 2 0 1 ,e l ep a s s ap e l a p r i m e i r aes e g u n d ar e g r a sd oc h a i n I N P U T ,at e r c e i r ar e g r ad i r e c i o n a p a r aoc h a i ni n t e r n e t _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ v / v / | \ // | \ |R e g r a 1 :s1 9 2 . 1 6 8 . 1 . 1 5|| / |R e g r a 1 :s2 0 0 . 2 0 0 . 2 0 0 . 2 0 0jD R O P || | | | / | | | |R e g r a 2 :s1 9 2 . 1 6 8 . 1 . 1 ||/ |R e g r a 2 :s2 0 0 . 2 0 0 . 2 0 0 . 2 0 2jD R O P || | | | / \ | / |R e g r a 3 :ji n t e r n e t / | v | | / |R e g r a 4 :jD R O P -\ / / Op a c o t ep a s s ap e l a sr e g r a s1e2d oc h a i n | i n t e r n e t ,c o m oe l en oc o n f e r ec o mn e n h u m a v d a s2r e g r a se l er e t o r n aa oc h a i nI N P U Te E s t ar e g r aan m e r o4 a n a l i s a d op e l ar e g r as e g u i n t e . q u ed i zp a r ar e j e i t a ro p a c o t e .
pt.wikibooks.org/wiki/Guia_do_Linux/Avanado/Firewall_iptables/Manipulando_chains
6/8
08/07/13
08/07/13
d e s t i n a t i o n l o c a l h o s t
No exemplo acima, a poltica padro de INPUT ACCEPT (policy ACCEPT), o que significa que qualquer pacote que no seja rejeitado pela regra do chain, ser aceito. Para alterar a poltica padro deste chain usamos o comando:
i p t a b l e stf i l t e rPI N P U TD R O P
NOTA: As polticas de acesso PERMISSIVASS (ACCEPT) normalmente so usadas em conjunto com regras restritivas no chain correspondentes (tudo bloqueado e o que sobrar liberado) e polticas RESTRITIVAS (DROP) so usadas em conjunto com regras permissivas no chain correspondente (tudo liberado e o que sobrar bloqueado pela poltica padro). Obtido em "http://pt.wikibooks.org/w/index.php? title=Guia_do_Linux/Avanado/Firewall_iptables/Manipulando_chains&oldid=215154" Categorias: Livro/Guia do Linux Livro/Guia do Linux/Avanado Esta pgina foi modificada pela ltima vez (s) 21h43min de 15 de maro de 2011. Este texto disponibilizado nos termos da licena Creative Commons Atribuio-Compartilhamento pela mesma Licena 3.0 Unported; pode estar sujeito a condies adicionais. Consulte as Condies de Uso para mais detalhes.
pt.wikibooks.org/wiki/Guia_do_Linux/Avanado/Firewall_iptables/Manipulando_chains
8/8