Lpi Iptables

  • View
    23

  • Download
    5

Embed Size (px)

DESCRIPTION

Lpi Iptables

Text of Lpi Iptables

  • Formao de Administradores de Redes LinuxLPI level 1SENAC TIFernando Costa

  • FirewallSoftware cujo objetivo proteger a mquina de acesso/trfego indesejado, proteger servios, evitar que dados sigilosos sejam acessados...

  • FirewallIptables:- Firewall em nvel de pacotes- Baseado em porta e endereos de origem/destino, prioridade, etc- Comparao de regras- Modifica e monitora trfego de rede- Redirecionamento de pacotes- Criao de proteo contra anti-spoofing, syn flood, DoS,etc

  • IPTables - Caractersticas# Especificao de portas/endereo de origem/destino# Suporte a protocolos TCP/UDP/ICMP (incluindo tipos de mensagens icmp)# Suporte a interfaces de origem/destino de pacotes# Manipula servios de proxy na rede# Tratamento de trfego dividido em chains (para melhor controle do trfego que entra/sai da mquina e trfego redirecionado.# Permite um nmero ilimitado de regras por chain# Muito rpido, estvel e seguro

  • IPTables - Caractersticas

    # Possui mecanismos internos para rejeitar automaticamente pacotes duvidosos ou mal formados.# Suporte a mdulos externos para expanso das funcionalidades padres oferecidas pelo cdigo de firewall# Contagem de pacotes que atravessaram uma interface/regra# Limitao de passagem de pacotes/conferncia de regra (muito til para criar protees contra, syn flood, ping flood, DoS, etc)

  • # Suporte completo a roteamento de pacotes, tratadas em uma rea diferente de trfegos padres.# Suporte a especificao de tipo de servio para priorizar o trfego de determinados tipos de pacotes.# Permite especificar excees para as regras ou parte das regras# Suporte a deteco de fragmentosIPTables - Caractersticas

  • Firewall- Quais servios proteger?- Quais tipos de conexo permitir?- Mquinas com acesso irrestrito- Servios com prioridade do processamento- Volume de trfego- O que poder trafegar entre redes- ...

  • FirewallIptables

    Regras

    Chains

    Tabelas

  • IPTables - Regras

    - So como comandos passados ao iptables para que ele realize uma determinada ao.

    - As regras so armazenadas dentro dos chains e processadas na ordem que so inseridas.

    - As regras so armazenadas no kernel

  • IPTables - Chains- So locais onde as regras do firewall definidas pelo usurio so armazenadas para operao do firewall

    - Embutidas e as definidas pelo usurio

    INPUTOUTPUTFORWARDPREROUTINGPOSTROUTING

  • IPTables - Tabelas- So os locais usados para armazenar os chains e conjunto de regras com uma determinada caracterstica em comum

    filternatmangle

  • IPTables- filter- INPUT- OUTPUT- FORWARD- nat- PREROUTING Consultado quando os pacotes precisam ser modificados logo que chegam (DNAT)- POSTROUTING Consultado quando os pacotes precisam ser modificados aps o tratamento de roteamento (SNAT)- OUTPUT Consultado quando os pacotes gerados localmente precisam ser modificados antes de serem roteados

  • - mangle- INPUT Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain INPUT da tabela filter.- OUTPUT Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain OUTPUT da tabela nat. - FORWARD Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain FORWARD da tabela filter. - PREROUTING Consultado quando os pacotes precisam ser modificados antes de ser enviados para o chain PREROUTING da tabela nat. - POSTROUTING Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain POSTROUTING da tabela nat. IPTables

  • Adicionando regras:# ping localhost# iptables -t filter -A INPUT -d 127.0.0.1 -j DROP# ping localhost# iptables -t filter -I INPUT 1 -s 10.1.151.X -d 127.0.0.1 -j ACCEPTIPTables

  • Removendo, refinando e listando a regra:# iptables -t filter -D INPUT -d 127.0.0.1 -j DROP# iptables -t filter -A INPUT -d 127.0.0.1 -p tcp -j DROP# iptables -t -L [opcoes]Opes:-v--line-numbers-nIPTables

  • Especificando um endereo de origem/destino

    # iptables -A INPUT -s 200.200.200.0/24 -j DROP

    # iptables -A OUTPUT -d 10.1.2.3 -j DROP

    # iptables -A INPUT -s www.dominio.teste.org -d 210.21.1.3 -j DROP

    IPTables

  • Especificando a interface de origem/destino# iptables -A INPUT -s 200.123.123.10 -i ppp0 -j DROP

    # iptables -A INPUT -s 200.123.123.10 -i ppp+ -j DROP

    # iptables -A OUTPUT -o ppp+ -j DROP

    # iptables -A FORWARD -i ppp0 -o eth1 -j DROP

    IPTables

  • Especificando um protocolo

    # iptables -A INPUT -s 200.200.200.200 -p udp -j DROP

    Especificando portas de origem/destino

    # iptables -A OUTPUT -d 200.200.200.200 -p tcp --dport :1023 -j DROP

    IPTables

  • Tabela NAT (Network Address Translation)

    A tabela nat serve para controlar a traduo dos endereos que atravessam o cdigo de roteamento da mquinaIPTables

  • IP masquerading

    # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

    # echo "1" >/proc/sys/net/ipv4/ip_forward

    IPTables

  • Fazendo SNAT

    Consiste em modificar o endereo de origem das mquinas clientes antes dos pacotes serem enviados. A mquina roteadora inteligente o bastante para lembrar dos pacotes modificados e reescrever os endereos assim que obter a resposta da mquina de destino, direcionando os pacotes ao destino correto

    Toda operao de SNAT feita no chain POSTROUTING. IPTables

  • Firewall# iptables -t nat -A POSTROUTING -s 192.168.1.2 -o eth1 -j SNAT --to 200.200.217.40

  • Fazendo DNAT

    iptables -t nat -A PREROUTING -s 200.200.217.40 -i eth0 -j DNAT --to 192.168.1.2

    Redirecionamento de portas

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 81IPTables

  • Caminho percorrido pelos pacotes nas tabelas e chainsNos exemplos foi assumida a seguinte configurao:

    - A mquina do firewall com iptables possui o endereo IP 192.168.1.1 e conecta a rede interna ligada via interface eth0 a internet via a interface ppp0. - Rede interna com a faixa de endereos 192.168.1.0 conectada ao firewall via interface eth0 - Interface ppp0 fazendo conexo com a Internet com o endereo IP 200.217.29.67. - A conexo das mquinas da rede interna (eth0) com a rede externa (ppp0) feita via Masquerading.

    IPTables

  • Ping de 192.168.1.1 para 192.168.1.1Conexo FTP de 192.168.1.1 para 192.168.1.1Conexo FTP de 192.168.1.1 para 192.168.1.4Conexo FTP de 200.217.29.67 para a mquina ftp.debian.org.brPing de 192.168.1.4 para 192.168.1.1Conexo FTP de 192.168.1.4 para 192.168.1.1Conexo FTP de 192.168.1.4 para ftp.debian.org.brIPTables

  • FirewallEm duplas, fazer IP Masquerading sendo:

    Mquina A alterar o IP local (eth0) para algum da rede 10.5.151.0/24Mquina B criar uma interface virtual eth0:0 com IP da rede 10.5.151.0/24Mquina B definir uma rota para da rede 10.5.151.0/24 sendo o gateway o IP setado para eth0Adicionar a rota default da mquina A o endereo IP da rede 10.5.151.0/24 da mquina BTestar conectividade (ping externos, requisies http, traceroute)

  • FirewallAinda em duplas:

    Mquina A deve bloquear o acesso ao SSH (porta 22) vindo da Mquina B

    Mquina B deve bloquear ping para ela vindo da rede 10.5.151.0/24

  • MonitoramentoPor que monitorar?

    O que monitorar?

    Como monitorar?

  • Software de monitoramentoMRTGO mais antigo sistema de monitoramento de redes que gera pginas HTML com grficos de dados coletados a partir de SNMP ou scripts externos.

    http://oss.oetiker.ch/mrtg/

  • Software de monitoramentoRRDtoolEvoluo do MRTG, utilizado pela maioria das ferramentas de monitoramento de rede. Os dados so armazenados num banco de dados com o conceito de round-robin para que as medies fiquem constantes ao longo do tempo.

    http://oss.oetiker.ch/rrdtool/

  • Software de monitoramentoNagiosRobusto e base para outras ferramentas de gerenciamento / monitoramento, com ele possvel fazer o gerenciamento de toda a rede inclusive com alertas via SNMP trap, SMS, email.

    http://www.nagios.org

  • Software de monitoramentoCactiDesenvolvido para ser flexvel de modo a se adaptar facilmente a diversas necessidades, bem como ser robusto e fcil de usar. Trata-se de uma interface e uma infra-estrutura para o RRDTool, que responsvel por armazenar os dados recolhidos e por gerar os grficos.

    http://cacti.net

  • Software de monitoramentoZabbixFerramenta une o que de melhor do Nagios e do Cacti juntamente com uma excelente ferramenta web de configurao e manuteno. Possui muitos recursos para facilitar o gerenciamento centralizado dos ativos.

    http://www.zabbix.org

  • Software de monitoramentoMuninFeito em Perl, produz grficos sobre variados temas como monitoramento de CPU, carga dos discos, queries do MySQL, uso de memria, rede etc.

    Extremamente til para administrar diversos servidores ao mesmo tempo.

    http://munin.projects.linpro.no/

  • Software de monitoramentoZenossExcelente ferramenta para monitorar/gerenciar a rede baseado no Nagios, com ele possvel tambm fazer um inventrio da rede e possui excelentes grficos da infraestrutura. Utiliza o Google maps para mostrar graficamente a distribuio das redes.http://www.zenoss.com

  • Software de monitoramentoNAVAvanada ferramenta para monitorar grandes redes. Ele automaticamente descobre a topologia de rede, monitora carga de banda, servidores e outros equipamentos de rede enviando alertas via SMS, email.

    http://metanav.uninett.no/

  • Cactihttp://www.cacti.netCacti - uma interface grfica web feita em PHP para a ferramenta RRDTool, que coleta dados via SNMP, armazena informaes sobre os grficos de estatsticas, c