+ Responder ao Tópico



  1. #1
    rcar
    Visitante

    Padrão Fire

    Boa tarde pessoal,

    É o seguinte há um tempo atrás nosso amigo gato seco me deu uma força com meu fire, só que hoje meu servidor/proxy deu pau perdi tudo. Cometi a infelicidade de não guardar uma cópia do fire tentei fazer um outro script mas cheguei no mesmo problema que nosso amigo já citado solucionou. Depois do servidor configurado belezinha eu consigo distribuir a net pra rede mas caí no mesmo problema não consigo baixar e nem enviar emails pelo outolook e nem consigo acessar o ftp. vou postar o script do fire que fiz e por favor em deêm um ajuda aí.

    Valeu demais.

    Abraços,

    # FIREWALL COM IPTABLES
    #
    #

    #**SCRIPT DE FIREWALL***#

    #!/bin/sh
    # Load the NAT module (this pulls in all the others).
    #modprobe iptable_nat

    # Turn on IP forwarding
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # In the NAT table (-t nat), Append a rule (-A) after routing (POSTROUTING)
    # which says to MASQUERADE the connection (-j MASQUERADE).
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

    # Allows forwarding specifically to our LAN
    iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT

    # Allow dhcp requests
    #iptables -A INPUT -i eth0 -p udp --sport bootpc --dport bootps -j ACCEPT
    #iptables -A INPUT -i eth0 -p tcp --sport bootpc --dport bootps -j ACCEPT
    #iptables -A INPUT -i eth0 -p udp --sport bootps --dport bootpc -j ACCEPT
    #iptables -A INPUT -i eth0 -p tcp --sport bootps --dport bootpc -j ACCEPT

    # Allow dns requests
    iptables -A INPUT -i eth0 -p udp --dport domain -j ACCEPT
    iptables -A INPUT -i eth0 -p tcp --dport domain -j ACCEPT
    iptables -A OUTPUT -s 192.168.0.0/24 -p tcp --dport domain -j ACCEPT
    iptables -A OUTPUT -s 192.168.0.0/24 -p udp --dport domain -j ACCEPT

    #Início do meu FIREWALL
    #
    ###########
    # Opcões de configuracão : Isto irá fazer o script funcionar mais rápido
    acelera#ndo acesso às informacões necessárias.

    LAN_IP_RANGE="192.168.0.0/24"
    LAN_IP="192.168.0.1/24"
    LAN_BCAST_ADRESS="192.168.0.255/24"
    LOCALHOST_IP="127.0.0.1/8"
    STATIC_IP="10.0.0.10/24"
    INET_IFACE="ppp0"
    LAN_IFACE="eth0"
    IPTABLES="/sbin/iptables"

    #########
    # Carregando os modulos necessários do IPTABLES
    #

    # Isto deveria checar as dependências de todos os módulos mas deixa o script
    mui
    #to lento e não é necessário
    #/sbin/depmod -a

    #
    # Adiciona alguns caminhos do IPTABLES como LOG, REJECT e MASQUERADE.
    #
    /sbin/modprobe ipt_LOG
    /sbin/modprobe ipt_REJECT
    /sbin/modprobe ipt_MASQUERADE
    /sbin/modprobe iptable_nat

    #
    # Suporte para owner (só permite certas conexões a certos usuários)
    #
    #/sbin/modprobe ipt_owner

    #
    # Suporte para connection tracking de FTP e IRC.
    #
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_conntrack_irc

    #
    # Habilita o IPFORWARD
    #

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

    #
    #Protecao contra spoof de IP
    #
    echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
    #
    #Para uso com IP dinâmico (nao foi preciso)
    #
    #echo "1" > /proc/sys/net/ipv4/ip_dynaddr

    #
    # Habilita IP Forwarding and Masquerading simples
    #
    $IPTABLES -t nat -A POSTROUTING -o $LAN_IFACE -j MASQUERADE
    $IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

    #
    # Pacotes alterados de TCP indesejáveis se ferram aqui
    #

    $IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-prefix
    "Novo pacote não syn:"
    $IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

    #
    # Aceita os pacotes que realmente devem entrar
    #

    $IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
    $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j
    LOG --log-level DEBUG --log-prefix "IPT FORWARD pacote morreu: "

    #
    # Seta a politica default para INPUT, FORWARD e OUTPUT, ou seja: NÃO!!!
    #

    $IPTABLES -P INPUT ACCEPT
    $IPTABLES -P OUTPUT ACCEPT
    $IPTABLES -P FORWARD ACCEPT

    #
    # Cria cadeias separadas para ICMP, TCP e UDP passarem
    #

    $IPTABLES -N icmp_packets
    $IPTABLES -N tcp_packets
    $IPTABLES -N udpincoming_packets

    #
    # A cadeia allowed para conexões TCP
    #

    $IPTABLES -N allowed
    $IPTABLES -A allowed -p TCP --syn -j ACCEPT
    $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A allowed -p TCP -j DROP

    #
    # Regras ICMP
    #

    $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT
    $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
    $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 5 -j ACCEPT
    $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

    #
    # Regras TCP
    #

    $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
    $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
    $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
    $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed


    #
    # Regras UDP
    #

    $IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT
    $IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 123 -j ACCEPT
    $IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 2074 -j ACCEPT
    #$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 4000 -j ACCEPT

    #
    # Cadeia PREROUTING
    #
    # Faz algumas checagens para IP's obviamente alterados
    #

    $IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 192.168.0.0/16 -j DROP
    $IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 10.0.0.0/8 -j DROP
    $IPTABLES -t nat -A PREROUTING -i $INET_IFACE -s 172.16.0.0/12 -j DROP


    #
    # Cadeia INPUT
    #
    # Toma conta de pacotes alterados de TCP indesejáveis
    #

    $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix
    "Novo pacote não syn:"
    $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

    #
    # Regras para pacotes vindos da internet internet
    #

    $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
    $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
    $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
    $IPTABLES -A INPUT -p TCP -i $INET_IFACE --dport 27665 -j DROP

    #Proteção contra TRINOO

    $IPTABLES -A INPUT -p TCP -i $INET_IFACE --dport 27444 -j DROP
    $IPTABLES -A INPUT -p TCP -i $INET_IFACE --dport 31335 -j DROP

    #Protecão contra Tronjans
    $IPTABLES -A INPUT -p TCP -i $INET_IFACE --dport 666 -j DROP
    $IPTABLES -A INPUT -p TCP -i $INET_IFACE --dport 666 -j DROP
    $IPTABLES -A INPUT -p TCP -i $INET_IFACE --dport 4000 -j DROP
    #$IPTABLES -A INPUT -p UDP -i $INET_IFACE --dport 4000 -j DROP
    #$IPTABLES -A INPUT -p TCP -i $INET_IFACE --dport 5190 -j DROP
    #$IPTABLES -A INPUT -p UDP -i $INET_IFACE --dport 5190 -j DROP

    #Proteção contra acesso externo ao NETBIOS

    $IPTABLES -A INPUT -p TCP -i $INET_IFACE -d 192.168.0.1 --dport 137:139 -j
    DROP

    #Proteção contra acesso externo ao TELNET
    $IPTABLES -A INPUT -p TCP -i $INET_IFACE -d 192.168.0.1 --dport telnet -j
    DROP

    #Barramento do Samba a internet


    #
    # Regras para rede interna e localhost
    #

    $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADRESS -j ACCEPT
    $IPTABLES -A INPUT -p ALL -d $LOCALHOST_IP -j ACCEPT
    $IPTABLES -A INPUT -p ALL -d $LAN_IP -j ACCEPT
    $IPTABLES -A INPUT -p ALL -d $STATIC_IP -m state --state
    ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j
    LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

    #
    # Cadeia OUTPUT
    #

    $IPTABLES -A OUTPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix
    "Novo pacote nao syn:"
    $IPTABLES -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
    $IPTABLES -A OUTPUT -p ALL -s $LOCALHOST_IP -j ACCEPT
    $IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
    $IPTABLES -A OUTPUT -p ALL -s $STATIC_IP -j ACCEPT
    $IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j
    LOG --log-level DEBUG --log-prefix "IPT OUTPUT pacote morreu: "
    ####FIM DO SCRIPT DE FIREWALL

  2. #2
    rcar
    Visitante

    Padrão Re: Fire

    Ninguém pessoal consegue me ajudar?