1 / 22

Firewalls usando Linux

Firewalls usando Linux. IPChains. Sucessor do ipfwadm Presente no Linux a partir do kernel 2.1.102 Estável e seguro Não faz statefull packet inspection. IPChains. Listas de regras (chains) Cada lista tem uma política default ACCEPT REJECT DENY

sonel
Télécharger la présentation

Firewalls usando Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Firewalls usando Linux

  2. IPChains • Sucessor do ipfwadm • Presente no Linux a partir do kernel 2.1.102 • Estável e seguro • Não faz statefull packet inspection

  3. IPChains • Listas de regras (chains) • Cada lista tem uma política default • ACCEPT • REJECT • DENY • Listas podem ser criadas para melhor organizar as regras • Cada regra tem um dos seguintes alvos • ACCEPT, REJECT, DENY • MASQ

  4. IPChains • Como os pacotes passam pelos filtros... IF R IF INPUT FORWARD OUTPUT Processos Locais

  5. IPChains • Referências • Firewall and Proxy Server HOWTO • Linux IPCHAINS-HOWTO • Linux IP Masquerade HOWTO • todos podem ser encontrados em http://www.linuxdoc.org

  6. NetFilter • Sucessor do IPChains • Presente no Linux a partir do kernel série 2.4.x • compatível com ipchains e ipfwadm • Statefull Packet Inspection • Tabelas (tables) • Listas (chains) de Regras

  7. NetFilter • NetFilter Framework IF R IF PRE_ROUTING FORWARD POST_ROUTING LOCAL INPUT LOCAL OUTPUT Processos Locais

  8. NetFilter • Filter Table • Filtragem de pacotes de acordo com regras • Ação típica: DROP, ACCEPT, REJECT, LOG

  9. NetFilter • Filter Table IF R IF PRE_ROUTING FORWARD POST_ROUTING INPUT OUTPUT Processos Locais

  10. NetFilter • NAT Table • DNAT: redirecionar o acesso para um host interno • SNAT: redirecionar o acesso de hosts internos para o firewall • MASQUERADE: como SNAT, mas mais flexível, operando com IPs dinâmicos

  11. NetFilter • NAT Table • Source NAT (S-NAT): Masquerading • Destination NAT (D-NAT): balanceamento, transparent proxy IF R IF PREROUTING FORWARD POSTROUTING D-NAT S-NAT LOCAL INPUT OUTPUT D-NAT Processos Locais

  12. NetFilter • Mangle Table • Não deve ser usada para filtragem ou NAT • Uso: manipulação de campos • Exemplo típico: alteração de TTL e TOS

  13. NetFilter • Mangle Table IF R IF PREROUTING FORWARD POST_ROUTING LOCAL INPUT OUTPUT Processos Locais

  14. NetFilter IF MANGLE PREROUTING MANGLE FORWARD NAT POSTROUTING IF NAT PREROUTING FILTER FORWARD MANGLE POSTROUTING R FILTER OUTPUT MANGLE INPUT NAT OUTPUT FILTER INPUT MANGLE OUTPUT Processos Locais

  15. NetFilter • Estados de uma conexão • New: o primeiro pacote de uma conexão • Established: tráfego de uma conexão nos dois sentidos • Related: tráfego relacionado a uma outra conexão já estabelecida (established) • Invalid: tráfego não identificado ou não pertencente a nenhum outro estado

  16. NetFilter • Formato básico de uma regra • iptables [-t table] command [match] [target/jump] • table: mangle, filter, nat • command: append (A), delete (D), replace (R), insert (I), list (L), flush (F), policy (P), etc • match: genérico, TCP, UDP, ICMP, especial • target/jump: o que fazer/para onde desviar

  17. NetFilter • Matches • -p tcp protocolo = tcp • -s 192.168.10.0/24 ip de origem = 192.168.10.x • -d !192.168.0.1 ip de destino distinto de 192.168.0.1 • -i eth0 interface de entrada = eth0 • -o eth1 interface de saída = eth1 • -p tcp --sport 22:80 porta de origem entre 22 e 80 • -p tcp --dport 1024: porta de destino de 1024 a 65535 • -p tcp --tcp-flags SYN,FIN,ACK SYN • testa por syn=1, fin=0 e ack=0 • -p tcp --syn testa por syn=1, rst=0, e ack=0 • -p udp -dport 53 porta de destino 53

  18. NetFilter • Matches • -p icmp --icmp-type 8 • -m limit --limit 3/hour • -m mac --mac-source 00:00:00:00:00:01 • -p tcp -m multiport --source-port 22,53,80,110 • -p tcp -m multiport --port 22,53,80,110 • -m owner --uid-owner 500 • -m state --state RELATED,ESTABLISHED • -p tcp -m tos --tos 0x16 • -m ttl --ttl 60

  19. NetFilter • targets • iptables -A INPUT -p tcp -j tcp_packets • desvia o processamento para a cadeia tcp_packets • iptables -A INPUT -p tcp --dport 80 -j ACCEPT • aceita pacotes tcp para a porta 80 • iptables -A INPUT -p tcp --dport 23 -j DROP • descarta pacotes tcp para a porta 23

  20. NetFilter • targets • iptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 • --dport 80 -j DNAT --to-destination 192.168.1.1-192.168.1.10 • iptables -A FORWARD -p tcp -j LOG --log-tcp-options • iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 1024-31000 • iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

  21. NetFilter • targets • iptables -A FORWARD -p TCP --dport 22 -j REJECT • --reject-with tcp-reset • iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT • --to-source 194.236.50.155-194.236.50.160:1024-32000 • iptables -t mangle -A PREROUTING -i eth0 -j TTL • --ttl-inc 1

  22. NetFilter • Exemplo: rc.firewall.txt • Onde buscar mais informações (HOW-TOs) • http://www.netfilter.org

More Related