Prof. Eduardo Maroñas Monks

Slides:



Advertisements
Apresentações semelhantes
Disciplina deTópicos em Engenharia de Computação
Advertisements

Professor: João Paulo de Brito Gonçalves Curso Técnico de Informática
Formação de Administradores de Redes Linux LPI – level 1
Netfilter/Iptables Cenário 2.
Linux como um roteador doméstico
SMB - Server Message Block.
Gerencia de Redes Redes de Computadores II
Curso: Segurança da Informação
Introdução a IPTables Resumo da apresentação efectuada na aula de ASI2
Iptables Netfilter ≠ Iptables Diferenciação »NETFILTER [módulo do kernel] »IPTABLES [ferramenta usuário]
Firewalls usando Linux. 1 IPChainsIPChains Sucessor do ipfwadmSucessor do ipfwadm Presente no Linux a partir do kernel Presente no Linux a partir.
2008, Edgard Jamhour Endereçamento Privado Proxy e NAT.
Firewall INPUT FORWARD Internet.
Netfilter/Iptables Introdução e Cenário 1.
Prof. João Bosco M. Sobral
Ana Claudia Dutra Claudia Calegari Sandra Maia Thábita Sepulvida.
Firewalls NAT Proxy Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Dr. João Bosco M. Sobral – UFSC e também do Prof.
Gerencia de Redes Redes de Computadores II
Escola de Ciência e Tecnologia Curso: Bacharelado SI Disciplina: Segurança em Redes 1 IPTABLES Teórico e Prático.
Firewall – Introdução ao Netfilter
Funcionalidades do IPv6 #1 Módulo 4 ● Definido na RFC ● Mesmas funções do ICMPv4 (mas não são compatíveis): ● Informar características da.
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 19.
Jaison Dallabona Orientador: Francisco Adell Péricas.
Camada de Transporte UDP – User Datagram Protocol.
Administração e serviços de redes
“Modelo de Camadas OSI e TCP/IP ” Nataniel Vieira
IPS com Snort Inline Objetivo
WALL FIRE.
Sniffers Iremos tratar aqui de softwares que capturam e analisam tráfego de uma rede. Antes de falarmos dos principais sniffers, iremos verificar uma funcionalidade.
Planejamento – Revisão do Projeto Exemplo
Capacitação no Uso do SABi
Browser Um browser (web browser), ou navegador, é um programa de computador que permite aceder a documentos virtuais da Internet, também conhecidos como.
Aula 05 Pilha TCP/IP.
Sistema Automatizado de Hospedagem de Sites
Redes: Camada de Rede pt. II Prof. Rafael Vieira
Redes: Camada de Enlace, protocolos pt. I Prof. Rafael Vieira
Redes: Camada de Transporte, Protocolos pt. II Prof. Rafael Vieira
Técnico em informática 2017
Promoções e Ações Promocionais
Introdução ao Roteamento e ao Encaminhamento de Pacotes
IP – Repetições Prof. Eduardo Falcão.
Endereçamento IP.
ARQUITETURA DE REDES DE COMPUTADORES
Prof. Msc. Diovani Milhorim
SSH – Secure Shell Profº Fábio Eder.
Firewalls UFRJ – UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Redes TCP/IP Prof. Edgard Jamhour.
Redes de computadores II
Sistema de Abertura de Chamados
Endereçamento Privado Proxy e NAT
Versão Atualizada em 04/10/2016 por Glauce Silva
IPSec – Complemento (Utilitário de Linha de Comando)
Sistemas Operacionais
Exercício QoS Linux Edgard Jamhour.
PRÁTICA Múltiplas rotas até o mesmo destino com custos definidos em função da velocidade.
Firewall no Mikrotik 4Tik.com.br.
Cenário (Custo por Velocidade)
Cenário 1 eth eth eth eth A R B A R B vlan2.
PRÁTICA Roteamento IP – Parte II
Projetos de Pesquisa – Linha DR prof. Sidney C. de Lucena
PRÁTICA Roteamento IP – Parte II
Exercícios de Revisão Redes de Computadores Edgard Jamhour
Protocolo de Roteamento RIPv6
Writer Editor de texto do BrOffice.org
PRÁTICA Endereçamento Privado SNAT e DNAT
Administração de Redes Firewall de Rede
Pratica de Arquitetura DMZ
PRÁTICA Roteamento IP – CIDR
Prática - BD Distribuído
Campus - Cachoeiro Curso Técnico de Informática Firewall Iptables Professor: João Paulo de Brito Gonçalves.
Transcrição da apresentação:

Prof. Eduardo Maroñas Monks Iptables na prática Prof. Eduardo Maroñas Monks

Sumário Histórico Funcionalidades Componentes Dicas Estudo de Caso Considerações Finais Referências

Histórico Primeira geração: ipfw (BSD) Segunda geração: ipfwadm (Linux 2.0) Terceira geração: ipchains (Linux 2.2) Quarta geração: iptables (Linux 2.4, 2.6, 3.x. 4.x) Quinta geração: nftables (Linux 3.13)

Funcionalidades Algumas das funcionalidades mais comuns do Iptables: Construção de firewalls de rede Uso de NAT e PAT Recursos para implementação de proxies transparentes Manipulação de pacotes (tabela mangle) Edição de cabeçalhos

Funcionalidades Base da filtragem de pacotes no Linux: Netfilter: funcionalidades de rede internas ao kernel para permitir a filtragem e manipulação de pacotes Iptables: ferramenta em nível de usuário para acesso ao Netfilter

Componentes Chains Tabelas Políticas Ações

Componentes Chains INPUT: pacotes com destino ao host OUTPUT: pacotes originados do host FORWARD: pacotes passando pelo host POSTROUTING: pacotes que já passaram pelo processo de roteamento PREROUTING: pacotes que ainda não passaram pelo processo de roteamento iptables –A INPUT –i eth0 –p tcp –-dport 80 –j ACCEPT iptables –A INPUT –i eth1 –p tcp –s 192.168.10.15/32 --dport 5001 –j REJECT iptables –A OUTPUT –p udp –-dport 53 –j DROP iptables –A FORWARD –i eth0 –s 200.18.79.0/24 –d 189.78.10.45/32 –-dport 3389 –j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j SNAT -s 192.168.200.0/24 --to-source 200.67.10.5 iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.200.0/24 --dport 80 -j REDIRECT --to-port 3128

Componentes Tabelas Filter: padrão, onde é realizada a filtragem de pacotes NAT: onde acontecem as traduções de endereçamentos e portas dos pacotes Mangle: onde são modificados os cabeçalhos dos pacotes iptables –A INPUT –t filter –i eth0 –p tcp –-dport 80 –j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j SNAT -s 192.168.200.0/24 --to-source 200.67.10.5 iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.200.0/24 --dport 80 -j REDIRECT --to-port 3128 iptables -A PREROUTING -t nat -p tcp -d 177.90.17.45 --dport 18001 -j DNAT --to 192.168.200.10:80 iptables -t mangle -A PREROUTING -i eth1 -p udp --dport 53 -j DSCP --set-dscp-class CS2 iptables -t mangle -A POSTROUTING -o eth0 -p udp --dport 53 -j DSCP --set-dscp-class CS2

Componentes Políticas ACCEPT: todas os pacotes que não são explicitamente bloqueados, serão aceitos DROP: todos os pacotes que não são explicitamente liberados, serão bloqueados iptables –P INPUT DROP iptables –P OUTPUT DROP iptables –P FORWARD ACCEPT

Componentes Ações ACCEPT: se ocorrer uma combinação com a regra, o pacote é liberado DROP: se ocorrer uma combinação com a regra, o pacote é bloqueado sem aviso ao remetente REJECT: se ocorrer uma combinação com a regra, o pacote é bloqueado e o remetente receberá um aviso UDP: ICMP host ou porta inalcançável TCP: segmento com a flag Reset ativada iptables -A INPUT -p tcp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT iptables -A FORWARD -i eth1.100 -p icmp -s 192.168.200.0/24 -d 0/0 -j DROP iptables -A FORWARD -i eth0 -p udp -s 10.10.20.0/24 -d 10.10.30.0/24 -j REJECT

Componentes Ações LOG: se ocorrer uma combinação com a regra, o pacote será registrado em arquivo Normalmente, em /var/log/messages REDIRECT: se ocorrer uma combinação com a regra, o pacote será redirecionando para uma porta definida na regra MASQUERADE: se ocorrer uma combinação com a regra, o pacote terá o endereço de origem traduzido para o endereço da interface de saída iptables -A FORWARD -p tcp -s 10.10.20.15/32 -d 0/0 -m limit --limit 20/min --limit-burst 5 -j LOG --log-level 7 iptables -t nat -A PREROUTING -i eth1.50 -p tcp -s 192.168.200.0/24 --dport 80 -j REDIRECT --to-port 3128 iptables -A POSTROUTING -t nat -o eth0 -s 192.168.200.0/24 -j MASQUERADE

Dicas Manipulação de regras Parâmetros -A, -I e -D: “-A” insere a regra abaixo da última regra adicionada. “-I” posiciona a regra no topo da lista de regras atual “-D” remove a regra iptables -A FORWARD -p tcp -s 10.10.20.15/32 -d 0/0 -j ACCEPT iptables –I FORWARD -p tcp -s 10.10.20.15/32 -d 0/0 -j ACCEPT iptables –D FORWARD -p tcp -s 10.10.20.15/32 -d 0/0 -j ACCEPT

Dicas Manipulação das regras Parâmetro –L –n –v : para listar as regras, sem tradução de nomes e com os contadores de Bytes e pacotes em cada regra Parâmetro –F: para limpar as regras das tabelas filter, mangle e nat iptables –L –n –v iptables -F -t filter iptables -F -t nat iptables -F -t mangle

Dicas Valores padrão Todo o parâmetro não atribuído, é assumido o valor qualquer um (any) ou o valor todos Se não for definido um endereço de origem, destino, interface, protocolo ou porta, será assumido qualquer endereço de origem e destino, porta, protocolo e todas as interfaces iptables –A INPUT –j ACCEPT iptables –A FORWARD –p tcp –j DROP iptables -A FORWARD -p udp –s 0/0 –-dport 161 –j ACCEPT

Dicas Uso de módulos Multiport: para colocar múltiplas portas na regra Limit: para limitar o número de combinações da regra State: para criar combinações conforme o estado do fluxo de pacotes Ativa o modo stateful, onde o estado do fluxo de pacotes é mantido pelo firewall iptables -A FORWARD -p tcp -m multiport -s 10.0.0.10/32 -d 0/0 --dports 80,443,465,993,995,587,8080,8081 -j ACCEPT iptables -A FORWARD -p tcp -s 10.0.0.10/32 -d 0/0 -m limit --limit 20/min --limit-burst 5 -j LOG --log-level 7 iptables -I INPUT -p udp -s 10.15.0.0/16 -d 0/0 --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Dicas Uso de módulos Connlimit: para limitar o número de conexões de determinada regra Mac: para criar regras baseadas no endereço físico (mac address) Iprange: para usar em faixas de IPs String: para usar em regras que combinem palavras nos pacotes iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT iptables -A FORWARD -m mac --mac-source 00:0F:EA:91:04:08 -j ACCEPT iptables -A FORWARD -p tcp -m iprange --src-range 192.168.1.5-192.168.1.100 --dport 143 -j ACCEPT iptables -A FORWARD -m string --algo bm --string "facebook" –p udp –dport 53 -j DROP

Dicas Outros exemplos NAT 1:1: para traduzir um endereço IP interno para um endereço IP externo, quando se tem mais de um IP público Redirecionamento de portas para outro host: a ação REDIRECT permite apenas o redirecionamento de portas para o próprio firewall. Com o de ferramentas tais como redir ou socat junto ao iptables, é possível fazer o redirecionamento para uma porta em um host remoto # NAT 1:1 (10.15.160.25 -> 200.18.16.13) iptables -A FORWARD -s 10.15.160.25/32 -j ACCEPT iptables -A FORWARD -d 10.15.160.25/32 -j ACCEPT iptables -A INPUT -s 10.15.160.25/32 -j ACCEPT iptables -A POSTROUTING -t nat -s 10.15.160.25/32 -o eth0 -j SNAT --to 200.18.16.13 iptables -A PREROUTING -t nat -d 200.18.16.13 -j DNAT --to 10.15.160.25 # Redirecionamento de portas e hosts ## Instalar o utilitário redir redir --lport=8000 --caddr=192.168.200.6 --cport=80 iptables -t nat -I PREROUTING -i eth1 -p tcp -d 192.168.200.3 --dport 80 -j REDIRECT --to-port 8000

https://paste.ee/p/4ObUE Estudo de Caso Cenário exemplo Link para download: https://paste.ee/p/4ObUE

https://paste.ee/p/hyIfi Estudo de Caso Cenário exemplo Link para download: https://paste.ee/p/hyIfi

Considerações Finais A ferramenta Iptables é a base para a montagem de firewalls no Linux A utilização dos comandos na sequência certa é fundamental O que não está permitido, está bloqueado! Manter o firewall mais simples possível e priorizar as regras genéricas, ao invés das exceções A complexidade deve ser evitada! O uso de scripts com o Iptables podem facilitar bastante o gerenciamento do firewall

Referências iptables: The Linux Firewall Administration Program - https://www.pearsonhighered.com/samplechapter/0672327716.pdf Iptables Tutorial (Oskar Andreasson) - https://www.frozentux.net/documents/iptables-tutorial/ Documentação do Iptables - http://www.netfilter.org/documentation/index.html#documentation-howto PURDY, Gregor N. Guia de Bolso Linux iptables. Editora Alta Books, 2005. Netfilter Workshops - http://workshop.netfilter.org/ Redir - http://sammy.net/~sammy/hacks/ Socat - http://www.dest-unreach.org/socat/