+ Responder ao Tópico



  1. #1
    Visitante

    Padrão script nao inicia!

    Olá galera
    Peguei este script na net mas nao consigo inicia-lo!!!]


    #!/bin/sh

    # Variáveis
    # -------------------------------------------------------
    iptables=/sbin/iptables
    IF_EXTERNA=eth0
    IF_INTERNA=eth1


    # 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 no kernel
    # -------------------------------------------------------
    echo "1" > /proc/sys/net/ipv4/ip_forward


    # Proteção contra IP spoofing
    # -------------------------------------------------------
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter


    # Zera regras
    # -------------------------------------------------------
    $iptables -F
    $iptables -X
    $iptables -F -t nat
    $iptables -X -t nat
    $iptables -F -t mangle
    $iptables -X -t mangle


    # Determina a política padrão
    # -------------------------------------------------------
    $iptables -P INPUT DROP
    $iptables -P OUTPUT DROP
    $iptables -P FORWARD DROP


    #################################################
    # Tabela FILTER
    #################################################


    # Dropa pacotes TCP indesejáveis
    # -------------------------------------------------------
    $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 $IF_EXTERNA -m unclean -j LOG --log-level 6 --log-prefix "FIREWALL: pacote mal formado: "
    $iptables -A INPUT -i $IF_EXTERNA -m unclean -j DROP


    # Aceita os pacotes que realmente devem entrar
    # -------------------------------------------------------
    $iptables -A INPUT -i ! $IF_EXTERNA -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 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 $IF_EXTERNA --dport 27444 -j TRINOO
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 27665 -j TRINOO
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 31335 -j TRINOO
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 34555 -j TRINOO
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 35555 -j TRINOO


    # Proteção 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 $IF_EXTERNA --dport 666 -j TROJAN
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 666 -j TROJAN
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 4000 -j TROJAN
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6000 -j TROJAN
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 6006 -j TROJAN
    $iptables -A INPUT -p TCP -i $IF_EXTERNA --dport 16660 -j TROJAN


    # Proteção contra worms
    # -------------------------------------------------------
    $iptables -A FORWARD -p tcp --dport 135 -i $IF_INTERNA -j REJECT


    # Proteção contra syn-flood
    # -------------------------------------------------------
    $iptables -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT


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


    # Proteção 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 $IF_EXTERNA -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags ALL NONE -i $IF_EXTERNA -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags ALL ALL -i $IF_EXTERNA -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i $IF_EXTERNA -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i $IF_EXTERNA -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i $IF_EXTERNA -j SCANNER
    $iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i $IF_EXTERNA -j SCANNER


    # Loga tentativa de acesso a determinadas portas
    # -------------------------------------------------------
    $iptables -A INPUT -p tcp --dport 21 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: ftp: "
    $iptables -A INPUT -p tcp --dport 23 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: telnet: "
    $iptables -A INPUT -p tcp --dport 25 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: smtp: "
    $iptables -A INPUT -p tcp --dport 80 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: http: "
    $iptables -A INPUT -p tcp --dport 110 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: pop3: "
    $iptables -A INPUT -p udp --dport 111 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: rpc: "
    $iptables -A INPUT -p tcp --dport 113 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: identd: "
    $iptables -A INPUT -p tcp --dport 137:139 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: samba: "
    $iptables -A INPUT -p udp --dport 137:139 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: samba: "
    $iptables -A INPUT -p tcp --dport 161:162 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: snmp: "
    $iptables -A INPUT -p tcp --dport 6667:6668 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: irc: "
    $iptables -A INPUT -p tcp --dport 3128 -i $IF_EXTERNA -j LOG --log-level 6 --log-prefix "FIREWALL: squid: "


    # Libera acesso externo a determinadas portas
    # -------------------------------------------------------
    $iptables -A INPUT -p tcp --dport 22 -i $IF_EXTERNA -j ACCEPT


    # Libera acesso de smtp para fora apenas para o IP XXX.XXX.XXX.XXX
    # -------------------------------------------------------
    #$iptables -A FORWARD -p tcp -d ! XXX.XXX.XXX.XXX --dport 25 -j LOG --log-level 6 --log-prefix "FIREWALL: SMTP proibido: "
    #$iptables -A FORWARD -p tcp -d ! XXX.XXX.XXX.XXX --dport 25 -j REJECT


    #################################################
    # Tabela NAT
    #################################################


    # Ativa mascaramento de saída
    # -------------------------------------------------------
    $iptables -A POSTROUTING -t nat -o $IF_EXTERNA -j MASQUERADE


    # Proxy transparente
    # -------------------------------------------------------
    #$iptables -t nat -A PREROUTING -i $IF_INTERNA -p tcp --dport 80 -j REDIRECT --to-port 3128
    #$iptables -t nat -A PREROUTING -i $IF_INTERNA -p tcp --dport 8080 -j REDIRECT --to-port 3128


    # Redireciona portas para outros servidores
    # -------------------------------------------------------
    #$iptables -t nat -A PREROUTING -d 192.168.200.1 -p tcp --dport 22 -j DNAT --to-destination 10.0.0.1


    # Redireciona portas na própria máquina
    # -------------------------------------------------------
    #$iptables -A PREROUTING -t nat -d 192.168.200.1 -p tcp --dport 5922 -j REDIRECT --to-ports 22

    já dei chmod +x firewall.h
    e coloquei no rc.local /etc/rc.d/firewall.h
    mas ele nao inicia, quando digito os comandos prompt funciona normalmente, o q estou fazendo errado???
    Estou usando CL 8+
    Agradeço desde já a colaboração de todos

  2. #2
    visiatante
    Visitante

    Padrão script nao inicia!

    isso ae galera,,,,,ola para todos...


    estou com o mesmo prob.....

    qualquer ajuda é bem vinda....


    atea mais

  3. #3
    barata_branca
    Visitante

    Padrão script nao inicia!

    amigo, dê iptables -L e veja se realmente ele nao iniciou... se ele nao jogou as regras... e veja se as rotas estao certas... flw!

  4. #4

    Padrão script nao inicia!

    Bom, algumas perguntas básicas:

    Deu permissão de execução ao script?
    Colocou o mesmo na inicialização da máquina?

    Como o barata_branca disse, verifique se as regras estão ativas no sistema com o comando iptables -L.

    Se estiver executando, verifique nos logs se não há algum erro.

  5. #5

    Padrão script nao inicia!

    Vc vai ter que colocar ele pra inicializar no arquivo /etc/rc.local .
    Adiciona na ultima linha

    bash /etc/rc.d/firewall.h

  6. #6
    guardian_metal
    Visitante

    Padrão script nao inicia!

    Ja tive o mesmo problema mas foi pq havia editado os arquivos em um editor de texto do open office ou gedit, kedit.. essas coisas.. usei o mcedit ou vi e retirei o espaço do fim da linhas. espaço = ^M

    Depois disso, funcionou perfeito.

  7. #7
    Visitante

    Padrão script

    já dei permissao ao arquivo
    e no iptables -L ele nao retorna nada
    vou tentar amanha bash /etc/rc.d/firewall.h
    muito obrigado

  8. #8
    oslnx
    Visitante

    Padrão script nao inicia!

    poe " " nas variaveis

    iface="eth0"

    troca a shell do seu script para bash

    ve se gera algum erro quando voce roda o script

  9. #9
    Visitante

    Padrão Erro!

    Ola galera
    coloquei o bash na frente e ele iniciou porem deu varios erros
    cant' module locate
    acho que ele nao achou o caminho da variavel $iptables, oq faco para resolver isso???

    agradeco desde ja a colaboracao de todos

  10. #10
    Blade2005
    Visitante

    Padrão script nao inicia!

    Kara ... tenta por só iptables na variavel, caso nao funcione, verifique se o iptables esta instalado.

  11. #11
    oslnx
    Visitante

    Padrão script nao inicia!

    viu, a shell tava errada, vamo la, seguinte:

    eu="estou aprendendo a fazer variaveis"

    estou dizendo que a variavel $eu e' igual a "estou aprendendo a fazer variaveis"

    ou seja:

    iptables="/sbin/iptables"
    $iptables -A INPUT -p tcp --dport 69 -s 0/0 -d 0/0 -j ACCEPT

    sete a variavel primeiro, confirme tambem se o PATH (caminho) esta certo, no meu sistema uso /sbin/iptables, dependendo da sua distribuicao (slackware) e' diferente, digite whereis iptables, ele vai te mostrar aonde o binario se encontra
    falo ai irmao
    abracao