Visite: BR-Linux ·  VivaOLinux ·  Dicas-L


Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico

  1. Como vc já deve ter lido aqui no fórum, scripts prontos nao são a melhor solução... sugiro que estude o iptables e desenvolva algo focado ao seu servidor... http://iptables.underlinux.com.br


  2.    Publicidade


  3. Tô postando meu script para análise, acho que algo está errado, derrepente estou penando na ordem das regras. Obs: utilizo controle IP/MAC em um script separado desse juntamento com o bandlimit do nosso amigo Scorpion.

    #!/bin/sh

    # Firewall NetPerdizes - Servidor Wireless
    # By: Alex R. Oliveira
    # Includes: rc.bandlimit, Ips, Interfaces
    # Interfaces: eth0 = Internet eth1 = wireless

    # Variaveis
    #-----------------------------------------------------------------------------------------
    iptables=/usr/sbin/iptables

    # Ativa Módulos
    #-----------------------------------------------------------------------------------------
    /sbin/modprobe iptable_nat
    /sbin/modprobe ip_conntrack
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    /sbin/modprobe ipt_LOG
    /sbin/modprobe ipt_REJECT
    /sbin/modprobe ipt_MASQUERADE

    # Ativa Roteamento via Kernel
    #-----------------------------------------------------------------------------------------
    echo "1" > /proc/sys/net/ipv4/ip_forward

    # Proteção conta IP Spoof
    #-----------------------------------------------------------------------------------------
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

    # Zera as Regras
    #-----------------------------------------------------------------------------------------
    $iptables -F
    $iptables -X
    $iptables -F -t nat
    $iptables -X -t nat
    $iptables -F -t mangle
    $iptables -X -t mangle

    # Determina Politica Padrão
    #----------------------------------------------------------------------------------------
    $iptables -P INPUT ACCEPT
    $iptables -P OUTPUT ACCEPT
    $iptables -P FORWARD ACCEPT


    # Dropa pacotes TCP indesejaveis
    # -------------------------------------------------------
    $iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIREWALL: NEW sem syn: "
    $iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP


    # Dropa pacotes mal formados
    # -------------------------------------------------------
    $iptables -A INPUT -i eth0 -m unclean -j LOG --log-level 6 --log-prefix "FIREWALLacote mal formado:"
    $iptables -A INPUT -i eth0 -m unclean -j DROP


    # Aceita os pacotes que realmente devem entrar
    # -------------------------------------------------------
    $iptables -A INPUT -i ! eth0 -j ACCEPT
    $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
    $iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

    # Proteção contra IP Spoofing
    $iptables -A INPUT -s 10.0.0.0/8 -i eth0 -j DROP
    $iptables -A INPUT -s 172.16.0.0/16 -i eth0 -j DROP
    $iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j DROP
    $iptables -A INPUT -s 172.16.0.0/16 -i eth1 -j DROP
    $iptables -A INPUT -s 192.168.0.0/24 -i eth1 -j DROP

    # Protecao contra trinoo
    # -------------------------------------------------------
    $iptables -N TRINOO
    $iptables -A TRINOO -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: trinoo: "
    $iptables -A TRINOO -j DROP
    $iptables -A INPUT -p TCP -i eth0 --dport 27444 -j TRINOO
    $iptables -A INPUT -p TCP -i eth0 --dport 27665 -j TRINOO
    $iptables -A INPUT -p TCP -i eth0 --dport 31335 -j TRINOO
    $iptables -A INPUT -p TCP -i eth0 --dport 34555 -j TRINOO
    $iptables -A INPUT -p TCP -i eth0 --dport 35555 -j TRINOO


    # Protecao contra tronjans
    # -------------------------------------------------------
    $iptables -N TROJAN
    $iptables -A TROJAN -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: trojan: "
    $iptables -A TROJAN -j DROP
    $iptables -A INPUT -p TCP -i eth0 --dport 666 -j TROJAN
    $iptables -A INPUT -p TCP -i eth0 --dport 666 -j TROJAN
    $iptables -A INPUT -p TCP -i eth0 --dport 4000 -j TROJAN
    $iptables -A INPUT -p TCP -i eth0 --dport 6000 -j TROJAN
    $iptables -A INPUT -p TCP -i eth0 --dport 6006 -j TROJAN
    $iptables -A INPUT -p TCP -i eth0 --dport 16660 -j TROJAN


    # Protecao contra worms
    # -------------------------------------------------------
    $iptables -A FORWARD -p tcp --dport 135 -i eth1 -j REJECT

    # Protecao contra syn-flood
    # -------------------------------------------------------
    $iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT


    # Protecao contra ping da morte
    # -------------------------------------------------------
    $iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT


    # Protecao contra port scanners
    # -------------------------------------------------------
    $iptables -N SCANNER
    $iptables -A SCANNER -m limit --limit 15/m -j LOG --log-level 6 --log-prefix "FIREWALL: port scanner: "
    $iptables -A SCANNER -j DROP
    $iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i eth0 -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags ALL NONE -i eth0 -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags ALL ALL -i eth0 -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i eth0 -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i eth0 -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i eth0 -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i eth0 -j SCANNER


    # Tabela Filter - Outras Regras
    #---------------------------------------------------------------------------------------
    $iptables -A INPUT -i ppp+ -p tcp -m tcp --dport 3128 -j ACCEPT
    $iptables -A INPUT -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
    $iptables -A INPUT -p tcp -m tcp --dport 3128 -j REJECT --reject-with icmp-port-unreachable

    # Libera SSH apenas para Terminal Cruise
    #---------------------------------------------------------------------------------------
    #$iptables -A INPUT -p tcp -s ! 10.0.1.100 -d 200.202.216.194 --dport 22 -j DROP
    #$iptables -A INPUT -p tcp -s ! 10.0.1.100 -d 10.0.1.1 --dport 22 -j DROP

    # Bloqueio Forward de Portas Perigosas
    #---------------------------------------------------------------------------------------
    $iptables -A FORWARD -i ppp+ -o eth1 -j DROP
    $iptables -A FORWARD -i eth1 -o ppp+ -j DROP
    $iptables -A FORWARD -o eth+ -p udp --dport 213 -j DROP
    $iptables -A FORWARD -o eth+ -p tcp --dport 213 -j DROP
    $iptables -A FORWARD -o eth+ -p udp --dport 135 -j DROP
    $iptables -A FORWARD -o eth+ -p tcp --dport 135 -j DROP
    $iptables -A FORWARD -o eth+ -p udp --dport 137 -j DROP
    $iptables -A FORWARD -o eth+ -p tcp --dport 137 -j DROP
    $iptables -A FORWARD -o eth+ -p udp --dport 138 -j DROP
    $iptables -A FORWARD -o eth+ -p tcp --dport 138 -j DROP
    $iptables -A FORWARD -o eth+ -p tcp --dport 139 -j DROP
    $iptables -A FORWARD -o eth+ -p udp --dport 139 -j DROP
    $iptables -A FORWARD -o eth+ -p tcp --dport 445 -j DROP
    $iptables -A FORWARD -o eth+ -p udp --dport 445 -j DROP
    $iptables -A FORWARD -o eth+ -p tcp --dport 593 -j DROP
    $iptables -A FORWARD -o eth+ -p udp --dport 593 -j DROP
    $iptables -A FORWARD -o eth+ -p tcp --dport 1025 -j DROP
    $iptables -A FORWARD -o eth+ -p udp --dport 1025 -j DROP

    #Porta 135 - Bloqueio Geral
    $iptables -A INPUT -p tcp --dport 135 -j LOG --log-prefix "FIREWALL: NetBios 135 TCP"
    $iptables -A INPUT -p tcp --dport 135 -j DROP
    $iptables -A INPUT -p udp --dport 135 -j LOG --log-prefix "FIREWALL: NetBios 135 UDP"
    $iptables -A INPUT -p udp --dport 135 -j DROP

    # Porta 137 - Bloqueio Geral
    $iptables -A INPUT -p tcp --dport 137 -j LOG --log-prefix "FIREWALL: NetBios 137 TCP"
    $iptables -A INPUT -p tcp --dport 137 -j DROP
    $iptables -A INPUT -p udp --dport 137 -j LOG --log-prefix "FIREWALL: NetBios 137 UDP"
    $iptables -A INPUT -p udp --dport 137 -j DROP

    # Porta 138 - Bloqueio Geral
    $iptables -A INPUT -p tcp --dport 138 -j LOG --log-prefix "FIREWALL: NetBios 138 TCP"
    $iptables -A INPUT -p tcp --dport 138 -j DROP
    $iptables -A INPUT -p udp --dport 138 -j LOG --log-prefix "FIREWALL: NetBios 138 UDP"
    $iptables -A INPUT -p udp --dport 138 -j DROP

    # Porta 139 - Bloqueio Geral
    $iptables -A INPUT -p tcp --dport 139 -j LOG --log-prefix "FIREWALL: NetBios 139 TCP"
    $iptables -A INPUT -p tcp --dport 139 -j DROP
    $iptables -A INPUT -p udp --dport 139 -j LOG --log-prefix "FIREWALL: NetBios 139 UDP"
    $iptables -A INPUT -p udp --dport 139 -j DROP

    # Porta 445 - Bloqueio Geral
    $iptables -A INPUT -p tcp --dport 445 -j LOG --log-prefix "FIREWALL: Microsoft-DS TCP"
    $iptables -A INPUT -p tcp --dport 445 -j DROP
    $iptables -A INPUT -p udp --dport 445 -j LOG --log-prefix "FIREWALL: Microsoft-DS UDP"
    $iptables -A INPUT -p udp --dport 445 -j DROP

    # Porta 593 - Bloqueio Geral
    $iptables -A INPUT -p tcp --dport 593 -j LOG --log-prefix "FIREWALL: Microsoft 593 TCP "
    $iptables -A INPUT -p tcp --dport 593 -j DROP
    $iptables -A INPUT -p udp --dport 593 -j LOG --log-prefix "FIREWALL: Microsoft 593 UDP"
    $iptables -A INPUT -p udp --dport 593 -j DROP

    # Redirecionamento VNC Pessonha
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 5908 -j DNAT --to-dest 10.0.1.119:5900

    # Redirecionamento VPN Solus
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 5907 -j DNAT --to-dest 10.0.1.115:5900

    # Redirecionamento VNC RenatoAvila
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 5901 -j DNAT --to-dest 10.0.1.101:5900

    # Redirecionamento SQL Server Prefeitura
    $iptables -t nat -A PREROUTING -s 200.225.212.98 -d 200.202.216.194 -p tcp --dport 1433 -j DNAT --to-dest 10.0.1.141:1433
    $iptables -t nat -A PREROUTING -s 200.225.212.97 -d 200.202.216.194 -p tcp --dport 1433 -j DNAT --to-dest 10.0.1.141:1433

    # Redirecionamento Terrafert (Postgress, SSH, VNC)
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 5906 -j DNAT --to-dest 10.0.1.128:5900
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 10100 -j DNAT --to-dest 10.0.1.128:22
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 5432 -j DNAT --to-dest 10.0.1.128:5432
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p udp --dport 5432 -j DNAT --to-dest 10.0.1.128:5432

    # Redirecionamento Aguia2 (Pico e VNC)
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 1999 -j DNAT --to-dest 10.0.1.152:1999
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 5904 -j DNAT --to-dest 10.0.1.152:5900

    # Redirecionamento WarSistemas (SSH)
    $iptables -t nat -A PREROUTING -d 200.202.216.194 -p tcp --dport 10000 -j DNAT --to-dest 10.0.1.191:22

    # Nat e mascaramento
    $iptables -t nat -A PREROUTING -s 10.0.0.0/255.0.0.0 -d ! 200.202.216.192/255.255.255.224 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
    $iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


    # Tabela Mangle - Qos Prioridade
    #---------------------------------------------------------------------------------------
    $iptables -t mangle -A PREROUTING -p icmp -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 20 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 20 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 25 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 25 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 80 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 80 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p udp -m udp --dport 53 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p udp -m udp --sport 53 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 110 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 110 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 3128 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 3128 -j TOS --set-tos 0x10
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 3389 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 3389 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 5190 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 5190 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 5900 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p tcp -m tcp --sport 5900 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p udp -m udp --dport 8481 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p udp -m udp --sport 8481 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p udp -m udp --dport 8895 -j TOS --set-tos 0x08
    $iptables -t mangle -A PREROUTING -p udp -m udp --sport 8895 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p icmp -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 20 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 20 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 25 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 25 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 80 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 80 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p udp -m udp --dport 53 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p udp -m udp --sport 53 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 110 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 110 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 3128 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 3128 -j TOS --set-tos 0x10
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 3389 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 3389 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 5190 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 5190 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --dport 5900 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p tcp -m tcp --sport 5900 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p udp -m udp --dport 8481 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p udp -m udp --sport 8481 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p udp -m udp --dport 8895 -j TOS --set-tos 0x08
    $iptables -t mangle -A POSTROUTING -p udp -m udp --sport 8895 -j TOS --set-tos 0x08

  4. #8
    clistenis
    Amigo tem um software desenvolvido por um de nossos amigos aqui no forum (GPW) da uma olhada nele... porém o que vc precisa e como o nosso amigo JIM falou, é mais facil vc estudar o IPTABLES e desenvolver o seu proprio Firewall, pois cada um desenvolve a sua solução e fica dificil por exemplo vc pegar um firewall de alguem e migrar para o seu...


    Ps: da um outra olhada em www.patrick.eti.br

    ele tem uma solução que hoje está sendo comercializada e que se chama MYAUTH

    è uma união de vários softwares para a criação de uma unica ferramente.

    [ ]´s


  5.    Publicidade