O documento resume as principais características e funcionalidades do firewall Iptables no Linux. Em especial, descreve como o Iptables funciona com regras para filtrar pacotes de rede de acordo com origem, destino, protocolo e portas. Também explica os principais comandos para manipular as chains de regras e definir ações como aceitar, rejeitar ou redirecionar pacotes.
Detalhamento sobre o endereçamento IPv4
- Regras sobre a numeração decimal em um numero IP
- Definição de Sub-Rede, Gateway e DNS
Tire suas Dúvidas: andrevallenobre@gmail.com
Endereço IP e algumas características relacionadas ao assunto. Caminho da comunicação.
Endereço IP ou IPv4 ,exemplo de endereço ip ,endereço ip privados ,classe de endereço por faixa ,máscara de sub-rede ,endereço de rede.
Monitoramento de servidores e ativos de rede com zabbixSergio Roberto
O presente trabalho de conclusão de curso submetido como requisito parcial à
obtenção do grau de técnico em Manutenção e Suporte em Informática objetivava
demonstrar funcionalidades da ferramenta Zabbix através da implementação do
monitoramento automatizado e a geração de dados para tomadas de decisão sobre
diversos ativos de rede como, por exemplo, switches, roteadores e servidores. Para
implementar o monitoramento, será utilizado tanto o Ubuntu Server como também o
Windows Server através da ferramenta Zabbix e a construção de mecanismo de
alerta aos administradores da rede. Zabbix é um software livre e de código fonte
aberto com sistema que possibilita observar as condições de toda sua infraestrutura
de rede, além de aplicações e serviços como http, pop3, imap e ssh sem uso de
agentes. Ele possui um mecanismo de alerta que permite o recebimento de e-mails
e/ou mensagens de texto no celular possibilitando, assim, uma redução dos custos e
do tempo da equipe de profissionais que prestam manutenção.
Detalhamento sobre o endereçamento IPv4
- Regras sobre a numeração decimal em um numero IP
- Definição de Sub-Rede, Gateway e DNS
Tire suas Dúvidas: andrevallenobre@gmail.com
Endereço IP e algumas características relacionadas ao assunto. Caminho da comunicação.
Endereço IP ou IPv4 ,exemplo de endereço ip ,endereço ip privados ,classe de endereço por faixa ,máscara de sub-rede ,endereço de rede.
Monitoramento de servidores e ativos de rede com zabbixSergio Roberto
O presente trabalho de conclusão de curso submetido como requisito parcial à
obtenção do grau de técnico em Manutenção e Suporte em Informática objetivava
demonstrar funcionalidades da ferramenta Zabbix através da implementação do
monitoramento automatizado e a geração de dados para tomadas de decisão sobre
diversos ativos de rede como, por exemplo, switches, roteadores e servidores. Para
implementar o monitoramento, será utilizado tanto o Ubuntu Server como também o
Windows Server através da ferramenta Zabbix e a construção de mecanismo de
alerta aos administradores da rede. Zabbix é um software livre e de código fonte
aberto com sistema que possibilita observar as condições de toda sua infraestrutura
de rede, além de aplicações e serviços como http, pop3, imap e ssh sem uso de
agentes. Ele possui um mecanismo de alerta que permite o recebimento de e-mails
e/ou mensagens de texto no celular possibilitando, assim, uma redução dos custos e
do tempo da equipe de profissionais que prestam manutenção.
Slides de suporte da aula de Redes de Computadores - Continuar pesquisas nas bibliografias:
HUNT, Craig. Linux Servidores de rede. Editora Ciência Moderna. Rio de Janeiro. 2004.
TANENBAUM, Andrew S. Redes de Computadores. Editora Campus, 4 Edição. 2003.
COMER, Douglas E. Interligação de Redes com TCP/IP, volume 1. Editora Campus, 5 Edição. 2006.
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
LIVRO MPARADIDATICO SOBRE BULLYING PARA TRABALHAR COM ALUNOS EM SALA DE AULA OU LEITURA EXTRA CLASSE, COM FOCO NUM PROBLEMA CRUCIAL E QUE ESTÁ TÃO PRESENTE NAS ESCOLAS BRASILEIRAS. OS ALUNOS PODEM LER EM SALA DE AULA. MATERIAL EXCELENTE PARA SER ADOTADO NAS ESCOLAS
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
1. Firewall Iptables - Filter
Prof. Andrei Carniel
Universidade Tecnológica Federal do Paraná – UTFPR
E-mail: andreicarniel@utfpr.edu.br / andrei.carniel@gmail.com
2. Firewall Iptables (1/4)
• O IPTables é uma versão robusta, completa e tão estável quanto seus
antecessores IPFWADM e IPCHAINS, implementados nos Kernels
Linux 2.0 e 2.2 respectivamente.
• IPTables é um firewall muito conhecido na comunidade Linux que foi
incorporado ao mesmo em 1999.
• Principais características:
Filtro de Pacotes (Foco dessa aula)
NAT
QoS sobre tráfego
Redirecionamento de endereços e portas
Detecção de fragmentos
Bloqueio de ataques
Entre outros.
2
3. Firewall Iptables (2/4)
• Surgiu com o objetivo de proteger as máquinas de acessos ou tráfego
indesejado.
• Proteger serviços que estejam rodando na máquina.
• Bloquear a passagem de algo que não deseja receber (por exemplo:
conexões vindas da Internet).
• Foi introduzido no kernel 2.4 do Linux.
• É um firewall em nível de pacotes, com funcionamento baseado em
endereço e porta de origem/destino, prioridade, entre outros.
• Seu funcionamento é baseado na comparação de regras para saber se
um pacote pode ou não passar.
3
4. Firewall Iptables (3/4)
• Pode ser usado para:
▫ Monitorar e/ou modificar tráfego de rede, efetuar NAT (masquerading,
source NAT, destination NAT);
▫ Redirecionamento de pacotes;
▫ Marcação de pacotes;
▫ Modificação de prioridade dos pacotes de entrada/saída;
▫ Contagem de bytes;
▫ Divisão de tráfego;
▫ Proteção anti-spoofing (pacotes com IP falsificado);
▫ Proteção contra syn flood (forma de negação de serviço);
▫ Proteção contra DoS (forma de negação de serviço);
▫ Etc.
4
5. Firewall Iptables (4/4)
• Não funciona de forma automática, ou seja, somente instalar e esperar
que ele faça o resto.
• É necessário pelo menos conhecimentos básicos em redes TCP/IP e
roteamento e portas.
• Esses conhecimentos são necessários para criar regras de segurança.
• Lembre-se:
▫ A segurança do sistema depende do conjunto de regras que serão criados
por você;
▫ 95% das invasões de sucesso são devido a falhas humanas na configuração;
• Trabalharemos principalmente com a função Filtro de Pacotes que é a
mais utilizada no IPTables, bloqueando e permitindo serviços em uma
rede.
5
7. Chains – Lista de regras
• Basicamente para filtragem de pacotes existem basicamente três tipos
de chains, são elas:
▫ INPUT --> Refere-se a todos os pacotes destinados à máquina filtro.
▫ OUTPUT --> Refere-se a todos os pacotes gerados na máquina filtro.
▫ FORWARD --> Refere-se a todos os pacotes oriundos de uma máquina e
destinados a outra. São pacotes que atravessam a máquina filtro, mas não
são destinados a ela.
7
8. Chains – Lista de regras
• Para verificar as regras em nas CHAINS, digite:
▫ # iptables -L
• O resultado deve ser algo como:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
8
9. Chains – Lista de regras
• Note que não existem regras em qualquer das CHAINS, mas o policy
padrão é ACCEPT, ou seja, aceite qualquer pacote de qualquer
origem/destino.
• Outra observação importante aqui é que o comando acima nos
mostrou a as 3 tabelas disponíveis.
• Sempre que formos inserir uma nova regra podemos utilizar a opção
-t filter para especificar a tabela, mas essa opção não é
obrigatória.
9
10. Manipulando Chains
• O Iptables trabalha com uma tabela de regras que é analisada uma a
uma até que a última seja processada.
• Por padrão, se uma regra tiver qualquer erro, uma mensagem será
mostrada e ela descartada.
• O pacote não conferirá e a ação final (se ele vai ser aceito ou rejeitado)
dependerá das regras seguintes.
• Agora que sabemos a existência das três CHAINS, devemos usar
comandos para adicionar regras:
10
12. Manipulando Chains
• Sintaxe padrão:
▫ #iptables -[COMANDO] [CHAIN] [TARGET]
• Exemplo:
▫ #iptables –P INPUT DROP
• Todos os pacotes por default serão rejeitados.
12
13. Manipulando Chains – Inclusão e Exclusão (1/5)
• -P --> Policy (política). Altera a política da chain. A política
inicial de cada chain é ACCEPT.
• Isso faz com que o filtro, inicialmente, aceite qualquer INPUT,
OUTPUT ou FORWARD.
• A política pode ser alterada para DROP, que irá negar o serviço da
chain, até que uma opção -A entre em vigor.
• O -P não aceita REJECT ou LOG. Exemplos:
▫ #iptables -P FORWARD DROP
▫ #iptables -P INPUT ACCEPT
13
14. Manipulando Chains – Inclusão e Exclusão (2/5)
• -A --> Append (anexar). Acresce uma nova regra à chain.
• Tem prioridade sobre o -P.
• Geralmente, como buscamos segurança máxima, colocamos todas as
chains em política DROP, com o -P e, depois, abrimos o que é
necessário com o -A.
• Exemplos:
▫ #iptables -A OUTPUT -d 172.20.5.10 -j ACCEPT
▫ #iptables -A FORWARD -s 10.0.0.1 -j DROP
▫ #iptables -A FORWARD -d www.chat.com.br -j DROP
14
15. Manipulando Chains – Inclusão e Exclusão (3/5)
• -D --> Delete (apagar). Apaga uma regra.
• A regra deve ser escrita novamente, trocando-se a opção para -D.
Exemplos:
• Para apagar as regras anteriores, usa-se:
▫ #iptables -D OUTPUT -d 172.20.5.10 -j ACCEPT
▫ #iptables -D FORWARD -s 10.0.0.1 -j DROP
▫ #iptables -D FORWARD -d www.chat.com.br -j DROP
15
16. Manipulando Chains – Inclusão e Exclusão (4/5)
• Também é possível apagar a regra pelo seu número de ordem.
• Pode-se utilizar o -L para verificar o número de ordem.
• Verificado esse número, basta citar a chain e o número de ordem.
Exemplo:
▫ #iptables -D FORWARD 4
• Isso deleta a regra número 4 da chain FORWARD.
16
17. Manipulando Chains – Inclusão e Exclusão (5/5)
• -L --> List (listar). Lista as regras existentes. Exemplos:
▫ #iptables -L
▫ #iptables -L FORWARD (Lista apenas da Chain FORWARD)
• -F --> Flush (esvaziar). Remove todas as regras existentes.
No entanto, não altera a política (-P). Exemplos:
▫ #iptables -F
▫ #iptables -F FORWARD (Remove apenas regras da Chain FORWARD)
17
18. Manipulando Chains – Inclusão e Exclusão (6/6)
• -I --> Insert(inserir). Insere uma nova regra no início da
lista. Exemplos:
▫ #iptables –I OUTPUT –d 200.200.2 –j ACCEPT
• -N --> New(nova). Adiciona uma nova chain.
▫ #iptables -N internet
• Para adicionar uma regra na chain:
▫ #iptables -A internet -d 127.0.0.1 -j DROP
• Para deletar uma chain:
▫ #iptables -X internet
18
20. Manipulando Chains – Origem e Destino (1/4)
• -s --> Source (origem). Estabelece a origem do pacote.
• Geralmente é uma combinação do endereço IP com a máscara de sub-
rede, separados por uma barra. Exemplo:
▫ #-s 172.20.0.0/255.255.0.0
• No caso, vimos a sub-rede 172.20.0.0. Para hosts, a máscara sempre
será 255.255.255.255. Exemplo:
▫ #-s 172.20.5.10/255.255.255.255
20
21. Manipulando Chains – Origem e Destino (2/4)
• Agora vimos o host 172.20.5.10. Ainda no caso de hosts, a máscara
pode ser omitida.
• Caso isso ocorra, o Iptables considera a máscara como
255.255.255.255. Exemplo:
▫ #-s 172.20.5.10
• Isso corresponde ao host 172.20.5.10. Há um recurso para simplificar a
utilização da máscara de sub-rede.
• Basta utilizar a quantidade de bits 1 existentes na máscara. Assim, a
máscara 255.255.0.0 vira 16. A utilização fica assim:
▫ #-s 172.20.0.0/16
21
22. Manipulando Chains – Origem e Destino (3/4)
• Outra possibilidade é a designação de hosts pelo nome. Exemplo:
▫ #-s www.chat.com.br
• Para especificar qualquer origem, utilize a rota default, ou seja,
0.0.0.0/0.0.0.0, também admitindo 0/0.
• Exemplo Geral:
▫ #iptables -A INPUT -s 200.200.200.0/24 -j DROP
• Bloqueia o tráfego vindo da rede 200.200.200.*.
22
23. Manipulando Chains – Origem e Destino (4/4)
• -d --> Destination (destino). Estabelece o destino do
pacote.
• Funciona exatamente como o -s, incluindo a sintaxe.
• Exemplo Geral:
▫ #iptables -A OUTPUT -d 10.1.2.3 -j DROP
• Bloqueia conexões com o destino 10.1.2.3:
23
24. Manipulando Chains – Protocolos
• -p --> Protocol (protocolo). Especifica o protocolo a ser
filtrado.
• O protocolo IP pode ser especificado pelo seu número (vide
/etc/protocols) ou pelo nome. Os protocolos mais utilizados são
udp, tcp e icmp. Exemplo:
▫ #-p icmp
• Exemplo:
▫ #iptables -A OUTPUT -d 200.200.200.20 -p tcp -j DROP
• Bloqueia qualquer pacote com destino para 200.200.200.20 via
protocolo TCP.
24
25. Manipulando Chains – Interface de Rede (1/3)
• -i --> In-Interface (interface de entrada). Especifica a
interface de entrada.
• As interfaces existentes podem ser vistas com o comando #ifconfig.
• Exemplo:
▫ #-i ppp0
• O -i não pode ser utilizado com a chain OUTPUT.
25
26. Manipulando Chains – Interface de Rede (2/3)
• O sinal + pode ser utilizado para simbolizar várias interfaces.
• Exemplo:
▫ #-i eth+
• eth+ refere-se à eth0, eth1, eth2 e etc.
• Exemplo geral:
▫ #iptables -A FORWARD -i eth0 -j ACCEPT
• Os pacotes que entrarem pela interface eth0 serão aceitos.
26
27. Manipulando Chains – Interface de Rede (3/3)
• -o --> Out-Interface (interface de saída). Especifica a
interface de saída.
• Similar a -i, inclusive nas flexibilidades.
• O -o não pode ser utilizado com a chain INPUT.
• Exemplo:
▫ #iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
• Todos os pacotes que saírem pela interface ppp0 (modem) serão
mascarados. Isso dá um nível de segurança elevado à rede que está
atrás da ppp0. É uma boa regra para navegação na Internet.
27
28. Manipulando Chains – Portas (1/2)
• --sport --> Source Port. Porta de origem.
• Só funciona com as opções -p udp e -p tcp. Exemplo:
▫ #-p tcp --sport 80
• Refere-se à porta 80 sobre protocolo TCP.
• Exemplo:
▫ #iptables -A OUTPUT -d 200.200.200.20 -p tcp --sport
100:1023 -j DROP
• Bloqueia qualquer pacote com destino a 200.200.200.20, que utiliza
protocolo TCP e se originou na faixa de portas 100 a 1023.
28
29. Manipulando Chains – Portas (2/2)
• --dport --> Destination Port. Porta de destino.
• Só funciona com as opções -p udp e -p tcp.
• Similar a --sport.
• Exemplo:
▫ #iptables -A OUTPUT -d 200.200.200.20 -p tcp --dport
100:1023 -j DROP
• Bloqueia qualquer pacote com destino a 200.200.200.20, que utiliza
protocolo TCP e tem como destino qualquer porta da faixa de 100 a
1023.
29
30. Manipulando Chains – Exclusão (1/2)
• ! --> Exclusão. Utilizado com -s, -d, -p, -i, -o e outros,
para excluir o argumento.
• Funciona para muitos parâmetros, como o endereço de
origem/destino, protocolo, porta, mensagens ICMP, fragmentos, etc...
podem ser precedidos pelo sinal “!” que significa exceção
• Exemplo:
▫ #-s ! 10.0.0.1
• Isso refere-se a qualquer endereço de entrada, exceto o 10.0.0.1.
▫ #-p ! tcp
• Todos os protocolos, exceto o TCP.
30
31. Manipulando Chains – Exclusão (2/2)
• Exemplos:
▫ #iptables -A INPUT ! -s 200.200.200.10 -p tcp -j DROP
• Diz para rejeitar todos os pacotes EXCETO os que vem do
endereço 200.200.200.10 .
▫ #iptables -A INPUT -s 200.200.200.10 ! -p tcp -j DROP
• Bloqueia todos os pacotes vindos de 200.200.200.10, EXCETO os do
protocolo TCP.
31
32. Manipulando Chains
• O alvo (-j) é o destino que um pacote terá quando conferir com as
condições de uma regra.
32
33. Manipulando Chains – Jump Target
• Isto especifica o alvo da regra, isto é, o que fazer se o pacote
corresponde a ele.
• O alvo pode ser uma cadeia definida pelo usuário, um dos alvos
embutidos especiais, que decidem o destino do pacote imediatamente,
ou uma extensão.
• Se esta opção for omitido em regra, a regra não é usada, então a regra
de correspondência não irá ter qualquer efeito sobre o destino do
pacote, mas os contadores na regra será incrementado.
33
34. Manipulando Chains – Jump Target
• ACCEPT --> Aceitar. Permite a passagem do pacote normalmente.
• DROP --> Abandonar. Não permite a passagem do pacote, ele será
descartado. Não avisa a origem sobre o ocorrido.
• REJECT --> Igual ao DROP, mas avisa a origem sobre o ocorrido
(envia pacote icmp unreachable).
• LOG --> Cria um log referente à regra, em /var/log/messages.
Usar antes de outras ações¹.
¹ : LOG é uma extensão não terminal, ou seja, mesmo que seja validado em uma regra
ele continuará a ser avaliado pelas regras subsequentes. Portanto se quiser descartar o
pacote terá que criar uma mesma regra mas com a target DROP ou REJECT, ou colocar
a política default como DROP.
34
35. Manipulando Chains – Jump Target
• Caso seja necessário criar uma regra onde seja efetuado o LOG de um
determinado pacote e logo após a exclusão dele, deve-se configurar da
seguinte maneira:
▫ #iptables -A INPUT -s 200.200.200.1 -i eth0 -j LOG
• Para registrar o bloqueio de pacotes vindos de 200.200.200.1 pela
interface eth0.
▫ #iptables -A INPUT -s 200.200.200.1 -i eth0 -j REJECT
• Para efetuar o bloqueio. Note que no exemplo anterior a regra que
registra o pacote (-j LOG) deve aparecer antes da regra que REJEITA
(-j REJECT), caso contrário a regra nunca funcionará.
35
37. Manipulando Chains – Pacotes SYN
• Pacotes syn são usados para iniciarem uma conexão.
• O uso da opção --syn serve para especificar estes tipos de pacotes.
Desta maneira é possível bloquear somente os pacotes que iniciam
uma conexão, sem afetar os pacotes restantes.
• Para que uma conexão ocorra é necessário que a máquina obtenha a
resposta a pacotes syn enviados, caso ele seja bloqueado a resposta
nunca será retornada e a conexão não será estabelecida.
▫ #iptables -A INPUT -p tcp --syn --dport 23 -i eth1 -j
DROP
• A regra acima bloqueia (-j DROP) qualquer tentativa de conexão
(--syn) vindas da interface eth1 ao telnet (--dport 23) da
máquina local. A opção --syn somente pode ser especificada para o
protocolo TCP.
37
39. Lógica das Regras (1/5)
• Observe os próximos exemplos:
• Exemplo A:
▫ #iptables -A INPUT -p ICMP -s 10.0.0.10 -j ACCEPT
▫ #iptables -A INPUT -p ICMP -j DROP
• Podemos concluir o seguinte:
• Exemplo A: todos os pings da máquina 10.0.0.10 serão aceitos, os
outros pings serão deletados.
39
40. Lógica das Regras (2/5)
• Exemplo B:
▫ #iptables -A INPUT -p ICMP -j DROP
▫ #iptables -A INPUT -p ICMP -s 10.0.0.10 -j ACCEPT
• Podemos concluir o seguinte:
• Exemplo B: todos os pings serão deletados, até mesmo os da máquina
10.0.0.10.
• Ou seja: a ordem da regras importam!
• Obs.: no caso do LOG, a regra mesmo que executada, passará para a
próxima condição.
40
41. Lógica das Regras (3/5)
• Impasses e ordem de processamento
• Se houver impasse entre regras, sempre valerá a primeira. Assim,
entre as regras:
▫ #iptables -A FORWARD -p icmp -j DROP
▫ #iptables -A FORWARD -p icmp -j ACCEPT
• Valerá:
▫ #iptables -A FORWARD -p icmp -j DROP
41
42. Lógica das Regras (4/5)
• Impasses e ordem de processamento
• Já entre as regras:
▫ #iptables -A FORWARD -p icmp -j ACCEPT
▫ #iptables -A FORWARD -p icmp -j DROP
• Valerá:
▫ #iptables -A FORWARD -p icmp -j ACCEPT
42
43. Lógica das Regras (5/5)
• Essas situações ocorrem porque as regras são processadas na ordem
em que aparecem.
• Depois do processamento da regra, pode haver continuidade de
processamento ou não.
• Isso irá depender da ação:
▫ ACCEPT --> Para de processar regras para o pacote atual;
▫ DROP --> Para de processar regras para o pacote atual;
▫ REJECT --> Para de processar regras para o pacote atual;
▫ LOG --> Continua a processar regras para o pacote atual;
43
45. Regras comentadas (1/6)
• Regras:
▫ #iptables -L
• Lista todas as regras existentes.
▫ #iptables -F
• Apaga todas as regras sem alterar a política.
▫ #iptables -P FORWARD DROP
• Estabelece uma política de proibição padrão para a passagem de
pacotes entre sub-redes.
45
46. Regras comentadas (2/6)
▫ #iptables -A FORWARD -j DROP
• Todos os pacotes oriundos de qualquer sub-rede e destinados a
qualquer sub-rede deverão ser descartados.
▫ #iptables -A FORWARD -j ACCEPT
• Todos os pacotes oriundos de qualquer sub-rede e destinados a
qualquer sub-rede deverão ser aceitos.
▫ #iptables -A FORWARD -s 10.0.0.0/8 -d www.chat.com.br -j
DROP
• Os pacotes oriundos da sub-rede 10.0.0.0 (máscara 255.0.0.0) e
destinados aos hosts cujos endereços IP respondem pelo nome
www.chat.com.br deverão ser descartados. Note que se a máquina
possuir domínios virtuais, todos esses serão bloqueados.
46
47. Regras comentadas (3/6)
▫ #iptables -A FORWARD -s 10.0.0.0/8 -d www.chat.com.br -j
REJECT
• Os pacotes oriundos da sub-rede 10.0.0.0 (máscara 255.0.0.0) e
destinados aos hosts cujos endereços IP respondem pelo nome
www.chat.com.br deverão ser descartados. Deverá ser enviado um
ICMP avisando à origem.
▫ #iptables -A FORWARD -d www.chat.com.br -j DROP
• Os pacotes oriundos de qualquer lugar e destinados aos hosts cujos
endereços IP respondem pelo nome www.chat.com.br deverão ser
descartados.
47
48. Regras comentadas (4/6)
▫ #iptables -A FORWARD -d 10.0.0.0/8 -s www.chat.com.br -j
DROP
• Os pacotes destinados à sub-rede 10.0.0.0 (máscara 255.0.0.0) e
oriundos aos hosts cujos endereços IP respondem pelo nome
www.chat.com.br deverão ser descartados.
▫ #iptables -A FORWARD -s www.chat.com.br -j DROP
• Os pacotes oriundos aos hosts cujos endereços IP respondem pelo
nome www.chat.com.br e destinados a qualquer lugar deverão ser
descartados.
▫ #iptables -A FORWARD -s 200.221.20.0/24 -j DROP
• Os pacotes oriundos da sub-rede 200.221.20.0 (máscara
255.255.255.0) e destinados a qualquer lugar deverão ser descartados.
48
49. Regras comentadas (5/6)
▫ #iptables -A FORWARD -s 10.0.0.5 -p icmp -j DROP
• Os pacotes icmp oriundos do host 10.0.0.5 e destinados a qualquer
lugar deverão ser descartados.
▫ #iptables -A FORWARD -i eth0 -j ACCEPT
• Os pacotes que entrarem pela interface eth0 serão aceitos.
▫ #iptables -A FORWARD -i ! eth0 -j ACCEPT
• Os pacotes que entrarem por qualquer interface, exceto a eth0, serão
aceitos.
49
50. Regras comentadas (6/6)
▫ #iptables -A FORWARD -s 10.0.0.5 -p tcp --sport 80 -j
LOG
• O tráfego de pacotes TCP oriundos da porta 80 do host 10.0.0.5 e
destinados a qualquer lugar deverá ser gravado em log. No caso,
/var/log/messages.
▫ #iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
• Os pacotes TCP destinados à porta 25 de qualquer host deverão ser
aceitos.
50
54. Exercícios
• 1 - Algumas regras para o roteador “R”:
a) Não permita que a rede 192.168/16 envie pings para o servidor “S”.
b) Não permita que a máquina “B” envie pacotes UDP para a máquina “Y”.
54
55. Exercícios
• 2 - Algumas regras para o servidor “S”:
a) Só será permitido à máquina “X” fazer telnet (baseado em TCP e opera na
porta 23) no servidor.
b) A máquina “B” está proibida de acessar TFTP no servidor.
c) A rede 172.29/16 está proibida de enviar e-mails pelo servidor. E se
alguém tentar, registrar em log.
55
56. Exercícios
• 3 - Algumas regras para a máquina “A”:
a) Só será permitido resolver DNS pelo servidor “S”.
b) A única página web que se permite acessar é a que está no servidor “S”.
Bloquear e registrar em log outras tentativas.
56
58. Exercício 1
• 1 - Algumas regras para o roteador “R”:
a) Não permita que a rede 192.168/16 envie pings para o servidor “S”.
(policy = ACCEPT)
#iptables -A FORWARD -p ICMP -s 192.168.0.0/16 -d
200.143.81.25 -j REJECT
b) Não permita que a máquina “B” envie pacotes UDP para a máquina “Y”.
#iptables -A FORWARD -p UDP -s 172.29.0.3 -d
192.168.0.5 -j DROP
58
59. Exercício 2
• 2 - Algumas regras para o servidor “S”:
a) Só será permitido à máquina “X” fazer telnet (baseado em TCP e opera na
porta 23) no servidor.
(policy = ACCEPT)
#iptables -A INPUT -s 192.168.0.4 -p TCP --dport 23 -j
ACCEPT
#iptables -A INPUT -p TCP --dport 23 -j DROP
b) A máquina “B” está proibida de acessar TFTP no servidor.
#iptables -A INPUT -s 172.29.0.3 -p UDP --dport 69 -j DROP
c) A rede 172.29/16 está proibida de enviar e-mails pelo servidor. E se
alguém tentar, registrar em log.
#iptables -A INPUT -s 172.29.0.0/16 -p TCP --dport 25 -j LOG
#iptables -A INPUT -s 172.29.0.0/16 -p TCP --dport 25 -j
DROP
#iptables -A INPUT -s 172.29.0.0/16 -p TCP --dport 587 -j
LOG
#iptables -A INPUT -s 172.29.0.0/16 -p TCP --dport 587 -j
DROP
59
60. Exercício 3
• 3 - Algumas regras para a máquina “A”:
a) Só será permitido resolver DNS pelo servidor “S”.
(policy = ACCEPT)
#iptables -A OUTPUT -d 200.143.81.25 -p UDP --dport 53
-j ACCEPT
#iptables -A OUTPUT -p UDP --dport 53 -j DROP
b) A única página web que se permite acessar é a que está no servidor “S”.
Bloquear e registrar em log outras tentativas.
#iptables -A OUTPUT -d 200.143.81.25 -p TCP --dport 80
-j ACCEPT
#iptables -A OUTPUT -p TCP --dport 80 -j LOG
#iptables -A OUTPUT -p TCP --dport 80 -j DROP
60
62. Firewall Iptables - Filter
Prof. Andrei Carniel
Universidade Tecnológica Federal do Paraná – UTFPR
E-mail: andreicarniel@utfpr.edu.br / andrei.carniel@gmail.com