+ Responder ao Tópico



  1. #1

    Padrão script de firewall

    Pessoal, gostaria que vocês dessem uma olhada no meu script de firewall e cometem como ele esta, e onde posso melhora-lo.

    Código :
    #!/bin/sh
     
    # Limpa regras
     
    iptables -F INPUT
    iptables -F FORWARD
    iptables -F OUTPUT
     
    # Altera policiamento
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT
     
    # Libera conexoes ja estabelecidas
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    # Libera Loopback
    iptables -A INPUT -i lo -j ACCEPT
     
    # Bloqueia Ping
    iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
     
    # Libera ICQ
    iptables -A INPUT -p tcp --sport 5190 -j ACCEPT
     
    # Libera Navegacao
    iptables -A INPUT -p tcp --sport 80 -j ACCEPT
     
    # Libera FTP
    iptables -A INPUT -p tcp --sport 20 -j ACCEPT
    iptables -A INPUT -p tcp --sport 21 -j ACCEPT
     
    # Libera SSL
    iptables -A INPUT -p tcp --sport 443 -j ACCEPT
     
    # Libera aMule
    iptables -A INPUT -p tcp --sport 4661 -j ACCEPT
    iptables -A INPUT -p tcp --dport 4662 --syn -j ACCEPT
    iptables -A INPUT -p tcp --sport 4711 -j ACCEPT
    iptables -A INPUT -p udp --dport 4672 -j ACCEPT
    iptables -A INPUT -p udp --sport 4665 -j ACCEPT
     
    # Libera IRC e DCC
    iptables -A INPUT -p tcp --sport 6665:7000 -j ACCEPT
    iptables -A INPUT -p tcp --dport 5000:5010 -j ACCEPT
     
    # Libera DNS
    iptables -A INPUT -p tcp --sport 53 -j ACCEPT
    iptables -A INPUT -p udp --sport 53 -j ACCEPT
     
    # Libera POP e SMTP
    iptables -A INPUT -p tcp --sport 110 -j ACCEPT
    iptables -A INPUT -p tcp --sport 25 -j ACCEPT
     
    # Libera Radios
    iptables -A INPUT -p tcp --sport 8000 -j ACCEPT
    iptables -A INPUT -p tcp --sport 8004 -j ACCEPT
    iptables -A INPUT -p tcp --sport 8300 -j ACCEPT
     
    # FIM

    OBS.:
    Na parte de IRC e DCCs a faixa de portas de 5000 a 5010, é uma faixa que defini em meu cliente de irc para envio de arquivos (tenho um fileserver).
    E na parte Radios são liberadas umas portas usadas por umas radios online que ouço.


  2. #2
    ReDLe
    Visitante

    Padrão script de firewall

    Dê uma olhada neste artigo:

    https://under-linux.org/noticia4799.html

    Existem regras de firewall que são importantes que serem adiciondas como bloquear ip privados vindos da internet e de pacotes para loopback vindo de fora tbm e assim vai.

  3. #3

    Padrão script de firewall

    Citação Postado originalmente por ReDLe
    Dê uma olhada neste artigo:

    https://under-linux.org/noticia4799.html

    Existem regras de firewall que são importantes que serem adiciondas como bloquear ip privados vindos da internet e de pacotes para loopback vindo de fora tbm e assim vai.
    Cara o link q vc postou eh sobre implementacao de layer 7 no iptables nao de regras importantes como vc falou!!!!

    [] Dotta :twisted:

  4. #4

    Padrão script de firewall

    Cara exerimenta esta regras amais:

    Código :
    iptables -I INPUT -i lo -j ACCEPT
    iptables -I OUTPUT -o lo -j ACCEPT
    iptables -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP
    iptables -A INPUT -p tcp ! --syn -i $INTERNAL_INTERFACE  -j ACCEPT
    iptables -A INPUT -s 10.0.0.0/8  -j DROP
    iptables -A INPUT -s 172.16.0.0/12 -j DROP
    iptables -A INPUT -s 192.168.0.0/16 -j DROP
    iptables -A INPUT -s 224.0.0.0/4 -j DROP
    iptables -A INPUT -s 240.0.0.0/5 -j DROP
    iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
    iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp --dport 135 -i $INTERNAL_INTERFACE  -j REJECT
    iptables -N syn-flood
    iptables -A INPUT -i $INTERNAL_INTERFACE -p tcp --syn -j syn-flood
    iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
    iptables -A syn-flood -j DROP

    [] Dotta :twisted:

  5. #5

    Padrão script de firewall

    depois testo essas regras
    to meio ocupado agora
    flw

  6. #6

    Padrão script de firewall

    Citação Postado originalmente por fdotta
    Cara exerimenta esta regras amais:

    Código :
    iptables -I INPUT -i lo -j ACCEPT
    iptables -I OUTPUT -o lo -j ACCEPT
    iptables -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP
    iptables -A INPUT -p tcp ! --syn -i $INTERNAL_INTERFACE  -j ACCEPT
    iptables -A INPUT -s 10.0.0.0/8  -j DROP
    iptables -A INPUT -s 172.16.0.0/12 -j DROP
    iptables -A INPUT -s 192.168.0.0/16 -j DROP
    iptables -A INPUT -s 224.0.0.0/4 -j DROP
    iptables -A INPUT -s 240.0.0.0/5 -j DROP
    iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
    iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp --dport 135 -i $INTERNAL_INTERFACE  -j REJECT
    iptables -N syn-flood
    iptables -A INPUT -i $INTERNAL_INTERFACE -p tcp --syn -j syn-flood
    iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
    iptables -A syn-flood -j DROP

    [] Dotta :twisted:
    # nao entendi essa regra =/
    iptables -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP

    # bloqua ips externos com origem em redes internas, certo ?
    iptables -A INPUT -s 10.0.0.0/8 -j DROP
    iptables -A INPUT -s 172.16.0.0/12 -j DROP
    iptables -A INPUT -s 192.168.0.0/16 -j DROP
    iptables -A INPUT -s 224.0.0.0/4 -j DROP
    iptables -A INPUT -s 240.0.0.0/5 -j DROP

    # acho desnecessarias regras de forward, nao tenho rede aqui.
    iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
    iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp --dport 135 -i $INTERNAL_INTERFACE -j REJECT

  7. #7

    Padrão script de firewall

    Citação Postado originalmente por Skorpyon
    # nao entendi essa regra =/
    iptables -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP

    # bloqua ips externos com origem em redes internas, certo ?
    iptables -A INPUT -s 10.0.0.0/8 -j DROP
    iptables -A INPUT -s 172.16.0.0/12 -j DROP
    iptables -A INPUT -s 192.168.0.0/16 -j DROP
    iptables -A INPUT -s 224.0.0.0/4 -j DROP
    iptables -A INPUT -s 240.0.0.0/5 -j DROP

    # acho desnecessarias regras de forward, nao tenho rede aqui.
    iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
    iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp --dport 135 -i $INTERNAL_INTERFACE -j REJECT
    A primeira regra bloqeuia qualquer coisa q tente entra no input com rede 127.0.0.0 q nao seja da interface lo. O segundo bloco de regras evita q ips de rede privadas entrem no input, esta eh uma tatica bastante usada para invasao e o 3 bloquo (q vc acho desncessario) sao regras para 1) protecao contra pacotes indesejaveis, 2) protecao contra syn-flood, 3) protecao contra IP spoofing, 4) protecao contra worms (nao muito eficiente mas segura alguma coisa).

    [] Dotta
    :twisted:

  8. #8

    Padrão script de firewall

    Quis dizer desnecessario no sentido de que não irão fazer diferença para mim, por que este micro não esta fazendo o compartilhamento da net.
    Como a chain FORWARD é usada para regras que atravessam o firewall e aqui não preciso disso eu ate deixei a politica dela como DROP.
    Eu tinha entendido a funcao das regras de forward.

    Não tava entendendo aquela regra com o "!" (tinha esquecido a funcao do !).
    E tava com duvida na outra que protege contra ataque de spoofing.

    Se lembrar de mais alguma coisa interesante para colocar no firewall, me avisa.
    fdotta, obrigado ae pela ajuda =)

  9. #9

    Padrão script de firewall

    Opa disponha,


    Eu tinha entendido q as regras nao eram necessarias para vc, so fai isso para identificar o bloco de regras para ficar mais facil de explicar... hehehe

    Mas acredito q com estas resgras o FW fica bem protegido, existem mais algumas regras com o magle para alterar o TOS (type of service), mas nao uso nao dao muito trabalho e costuman dar problemas e o ganha de seguranca nao eh muito grande.


    [] Dotta :twisted:

  10. #10

    Padrão script de firewall

    Citação Postado originalmente por fdotta
    Opa disponha,


    Eu tinha entendido q as regras nao eram necessarias para vc, so fai isso para identificar o bloco de regras para ficar mais facil de explicar... hehehe

    Mas acredito q com estas resgras o FW fica bem protegido, existem mais algumas regras com o magle para alterar o TOS (type of service), mas nao uso nao dao muito trabalho e costuman dar problemas e o ganha de seguranca nao eh muito grande.


    [] Dotta :twisted:
    Dei uma olhada por cima no guia foca sobre mangle.
    Depois quero ver isso com mais calma e fazer uns testes aqui =)
    Agora to no servico, depois posto como fico meu firewall.

    flw

  11. #11

    Padrão script de firewall

    Olha ae como fico meu firewall.

    Código :
    #!/bin/sh
     
    # Firewall
     
    # Limpa regras
    iptables -F 
     
    # Apaga CHAINs
    iptables -X
     
    # Zera contadores
    iptables -Z
     
    # Altera policiamento padrao
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT
     
    # Protecao contra port scanners
    iptables -N SCANNER
    iptables -A SCANNER -j DROP
    iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i eth1 -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags ALL NONE -i eth1 -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags ALL ALL -i eth1 -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i eth1 -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i eth1 -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i eth1 -j SCANNER
    iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i eth1 -j SCANNER 
     
    # Protecao contra spoofed adreess
     
    iptables -A INPUT -s 10.0.0.0/8  -j DROP
    iptables -A INPUT -s 172.16.0.0/12 -j DROP
    iptables -A INPUT -s 192.168.0.0/16 -j DROP
    iptables -A INPUT -s 224.0.0.0/4 -j DROP
    iptables -A INPUT -s 240.0.0.0/5 -j DROP 
     
    # Libera conexoes ja estabelecidas
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
     
    # Libera Loopback
    iptables -A INPUT -i lo -j ACCEPT
     
    # Bloqueia Ping
    iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
     
    # Libera ICQ
    iptables -A INPUT -p tcp --sport 5190 -j ACCEPT
     
    # Libera Navegacao
    iptables -A INPUT -p tcp --sport 80 -j ACCEPT
     
    # Libera FTP
    iptables -A INPUT -p tcp --sport 20 -j ACCEPT
    iptables -A INPUT -p tcp --sport 21 -j ACCEPT
     
    # Libera SSL
    iptables -A INPUT -p tcp --sport 443 -j ACCEPT
     
    # Libera aMule
    iptables -A INPUT -p tcp --sport 4661 -j ACCEPT
    iptables -A INPUT -p tcp --dport 4662 --syn -j ACCEPT
    iptables -A INPUT -p tcp --sport 4711 -j ACCEPT
    iptables -A INPUT -p udp --dport 4672 -j ACCEPT
    iptables -A INPUT -p udp --sport 4665 -j ACCEPT
     
    # Libera IRC e DCC
    iptables -A INPUT -p tcp --sport 6665:7000 -j ACCEPT
    iptables -A INPUT -p tcp --dport 5000:5010 -j ACCEPT
     
    # Libera DNS
    iptables -A INPUT -p tcp --sport 53 -j ACCEPT
    iptables -A INPUT -p udp --sport 53 -j ACCEPT
     
    # Libera POP e SMTP
    iptables -A INPUT -p tcp --sport 110 -j ACCEPT
    iptables -A INPUT -p tcp --sport 25 -j ACCEPT
     
    # Libera Radios
    iptables -A INPUT -p tcp --sport 8000 -j ACCEPT
    iptables -A INPUT -p tcp --sport 8004 -j ACCEPT
    iptables -A INPUT -p tcp --sport 8300 -j ACCEPT
     
    # Loga chain INPUT
    iptables -A INPUT -j LOG --log-prefix "Firewall: "
     
    # FIM

    Coloquei também umas regras contra scanners, que o 1c3 posto em um outro topico.

  12. #12

    Padrão script de firewall

    Acredito q seu FW esta bem fechado. Eu naa coloco todas (so algumas) as regras de scenners, por 3 motivos. 1) Nao traz grande vantagnes, 2) vc pode ter problemas de lentidao em rede com muito trafego, 3) o falg -P0 do nmap ja consegue passar sobre isso. Mas como no seu caso eh so uma maquina mesmo o problema de lentidao nao tem....

    [] Dotta :twisted: