+ Responder ao Tópico



  1. #1
    Visitante

    Padrão Firewall esta bloqueando todo o sistema???

    Os Servicos internos do sistema estao bloqueados, o sistema nao consegue inicializar devido a esse firewall:

    #!/bin/bash

    # ----------------------------------------------------------------
    # Script iptables montado pela comunidade forumgdh.net
    # http://forumgdh.net
    # Última atualização: 25/08/2004
    # ---
    # Participantes na ordem alfabetica:
    # AValle
    # bolao
    # Default
    # JohnDoe
    # ----------------------------------------------------------------

    echo "Carregando o firewall..."

    # Definindo as variaveis
    IPTABLES="/usr/sbin/iptables"
    REDEINT="192.168.0.0/8"
    IPDNSPROVEDOR="200.124.2.10"
    ENT="ppp+"

    # carregando os modulos
    modprobe ip_tables
    modprobe iptable_nat

    # limpando as tabelas
    $IPTABLES -F
    $IPTABLES -t nat -F

    # Protege contra os "Ping of Death"
    $IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    # Protege contra os ataques do tipo "Syn-flood, DoS, etc"
    $IPTABLES -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

    # Permitir repassamento (NAT,DNAT,SNAT) de pacotes etabilizados e os relatados ...
    $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Logar os pacotes mortos por inatividade ...
    $IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG

    # Protege contra port scanners avançados (Ex.: nmap)
    $IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    # Protege contra pacotes que podem procurar e obter informações da rede interna ...
    $IPTABLES -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP

    # Protege contra todos os pacotes danificados e ou suspeitos ...
    #$IPTABLES -A FORWARD -m unclean -j DROP

    # Bloqueando tracertroute
    $IPTABLES -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP

    # Protecoes contra ataques
    $IPTABLES -A INPUT -m state --state INVALID -j DROP

    # Performance - Setando acesso a web com delay minimo
    $IPTABLES -t mangle -A OUTPUT -o $ENT -p tcp --dport 53 -j TOS --set-tos Minimize-Delay
    $IPTABLES -t mangle -A OUTPUT -o $ENT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay

    # Deixa passar as portas UDP do servidores DNS, e Rejeitar o restante
    $IPTABLES -A INPUT -i $ENT -p udp -s $IPDNSPROVEDOR -j ACCEPT
    $IPTABLES -A INPUT -i $ENT -p udp -s $IPDNSPROVEDOR -j ACCEPT
    $IPTABLES -A INPUT -i $ENT -p udp -j REJECT

    # Bloqueia qualquer tentativa de conexao de fora para dentro por TCP
    $IPTABLES -A INPUT -i $ENT -p tcp --syn -j DROP

    # Mesmo assim fechar todas as portas abaixo de 32000
    $IPTABLES -A INPUT -i $ENT -p tcp --dport :32000 -j DROP

    # Responde pacotes icmp especificados e rejeita o restante
    $IPTABLES -A INPUT -i $ENT -p icmp --icmp-type host-unreachable -j ACCEPT
    $IPTABLES -A INPUT -i $ENT -p icmp --icmp-type source-quench -j ACCEPT
    $IPTABLES -A INPUT -i $ENT -p icmp -j REJECT --reject-with icmp-host-unreachable

    # Rejeita o Kazaa (não testado ainda)
    #$IPTABLES -A FORWARD -p tcp -m string --string X-Kazaa-Username: -j REJECT --reject-with tcp-reset

    # libera acesso interno da rede
    $IPTABLES -A INPUT -p tcp --syn -s $REDEINT -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --syn -s $REDEINT -j ACCEPT
    $IPTABLES -A FORWARD -p tcp --syn -s $REDEINT -j ACCEPT

    # libera o loopback
    #$IPTABLES -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
    $IPTABLES -A INPUT -i lo -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -o lo -j ACCEPT


    # libera conexoes de fora pra dentro
    $IPTABLES -A INPUT -p tcp --destination-port 80 -j ACCEPT
    #$IPTABLES -A INPUT -p tcp --destination-port 443 -j ACCEPT
    #$IPTABLES -A INPUT -p tcp --destination-port 20 -j ACCEPT
    #$IPTABLES -A INPUT -p tcp --destination-port 21 -j ACCEPT
    #$IPTABLES -A INPUT -p tcp --destination-port 22 -j ACCEPT

    #libera conexoes de dentro pra fora:
    $IPTABLES -A OUTPUT -p tcp --destination-port 80 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 3306 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 22 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 20 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 21 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 86 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 21 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 5190 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 443 -j ACCEPT

    # libera o bittorrent - Coloque o ip interno da maquina em questão aqui
    #$IPTABLES -A INPUT -p tcp --destination-port 1214 -j ACCEPT
    #$IPTABLES -t nat -A PREROUTING -i ppp0 -p tcp --dport 1214 -j DNAT --to-dest 10.0.0.2
    #$IPTABLES -A FORWARD -p tcp -i ppp0 --dport 1214 -d 10.0.0.2 -j ACCEPT
    #$IPTABLES -t nat -A PREROUTING -i ppp0 -p udp --dport 1214 -j DNAT --to-dest 10.0.0.2
    #$IPTABLES -A FORWARD -p udp -i ppp0 --dport 1214 -d 10.0.0.2 -j ACCEPT

    # faz o icq receber arquivos - Coloque o ip interno da maquina em questão aqui
    #$IPTABLES -A INPUT -p tcp --destination-port 2000:3000 -j ACCEPT
    #$IPTABLES -t nat -A PREROUTING -i ppp0 -p tcp --dport 2000:3000 -j DNAT --to-dest 10.0.0.2
    #$IPTABLES -A FORWARD -p tcp -i ppp0 --dport 2000:3000 -d 10.0.0.2 -j ACCEPT
    #$IPTABLES -t nat -A PREROUTING -i ppp0 -p udp --dport 2000:3000 -j DNAT --to-dest 10.0.0.2
    #$IPTABLES -A FORWARD -p udp -i ppp0 --dport 2000:3000 -d 10.0.0.2 -j ACCEPT

    # compartilha a web na rede interna
    $IPTABLES -t nat -A POSTROUTING -s $REDEINT -o ppp0 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # bloqueia o resto
    $IPTABLES -A INPUT -p tcp --syn -j DROP
    $IPTABLES -A OUTPUT -p tcp --syn -j DROP
    $IPTABLES -A FORWARD -p tcp --syn -j DROP

    # bloqueia ping
    echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all

    # ----------------------------------------------------------------
    echo "Firewall carregado..."

    # EOF


    Como faco para liberar os servicos , para que o sistema volte a funcionar? :?:

  2. #2

    Padrão Firewall esta bloqueando todo o sistema???

    Qual o problema ? fica difícil para o pessoal olhar cada regra do firewall.
    O script não chega ao final da execução ? O iptables mostra algum erro ?
    Ele executa sem problemas, mas você não consegue acessar nenhum daemon remotamente, ou algo do gênero ?

  3. #3
    Visitante

    Padrão Porque esse firewall esta bloqueando todo o sistema??

    O firewall nao retorna erros, o que acontece e que o linux, nao consegui inicializar na interface grafica , quando ele esta ativo, ou seja ele esta bloqueando os servicos interno do sistema, eu coloquei essa regra :
    # libera o loopback
    #$IPTABLES -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
    $IPTABLES -A INPUT -i lo -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -o lo -j ACCEPT

    como voces podem observar no firewall acima citado, mas acho que nao esta funcionando, sera que e a ordem em que esta colocado???

  4. #4

  5. #5
    Visitante

    Padrão Porque meu firewall esta bloqueando os servicos internos?

    Sera que alguem pode me ajudar, ja estou ficando desisperado :cry:

  6. #6
    karfax
    Visitante

    Padrão Firewall esta bloqueando todo o sistema???

    $IPT -A INPUT -p ALL -i $LOCAL_IFACE -s $LOCAL_NET -j ACCEPT
    $IPT -A INPUT -p ALL -i $LOCAL_IFACE -d $LOCAL_BCAST -j ACCEPT
    $IPT -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
    -j ACCEPT
    Tente adaptar estas regras para sua configuração (atenção para as linhas 1 e 2)

    LOCAL_NET=192.168.0.0/24 (p.e.)
    etc...


    Fui,

  7. #7
    karfax
    Visitante

    Padrão Firewall esta bloqueando todo o sistema???

    Outra coisa:
    # compartilha a web na rede interna
    $IPTABLES -t nat -A POSTROUTING -s $REDEINT -o ppp0 -j MASQUERADE

    Seria bom se isto fosse sua ultima linha...

    ps: Não gostei nada desse script!

    Fui,

  8. #8
    Visitante

    Padrão Firewall esta bloqueando todo o sistema??

    karfax, entao voce teria como postar aqui, um script mais claro e eficaz, vou ficar muito agradecido...........

  9. #9
    Visitante

    Padrão Firewall esta bloqueando todo o sistema???

    Desculpe, mas por uma questão de segurança não é possível eu postar um script de firewall completo aqui no forum. Eu podia enviar um esqueleto, e`"à partir daí"...
    Segundo ponto, quero que voce aprenda a fazer, e não tem outro geito de aprender senão fazendo. Mas posso ir acompanhando a thread e te indicar os pontos que estão faltando ou não muito claros, etc
    Por exemplo: voce não tem um servidor DNS, ou então teu script não dá a mínima funcionalidade pra que um DNS trabalhe, nem como master, nem como slave, pois não permite a transferencia de arquivos de zonas entre os servidores.
    Outra coisa: OUTPUT -j DROP pra rede interna está tentando barrar tentativas de conexões feitas por worms/virus - essa solução é bem meia boca: mantenha uma política de antivirus na rede interna e anti-spyware. Um virus pode inundar tua rede interna com requisições do tipo broadcast, sobrecarregar teu servidor/firewall, etc. colocando teu serviços de rede em estado crítico, e não adiantaria ter um firewall barrando conexões que saem: uma informação importante pode ir pra fora pela porta 25 - p.e. - sem que voce perceba.
    É isso.

  10. #10
    Visitante

    Padrão iptable bloqueando o sistema??

    Eu nao queria muita coisa, apenas proteger o meu servidor linux, e a minha maquina cliente win98, alguem pode me ajudar??? :?:

  11. #11
    pedro_brother
    Visitante

    Padrão firewall

    Eu tambem naum gostei muito desse squid ai nao ,,, esta muito complicado ... tente refaze-lo de forma mais simples

  12. #12
    Visitante

    Padrão Firewall esta bloqueando todo o sistema ??

    pedro_brother, voce poderia me ajudar , o que eu quero e proteger meu servidor linux e a maquina cliente com win98, ............. :cry:

  13. #13
    Visitante

    Padrão firewall esta bloqueando todo o meu sistema??

    e desse firewall o que voces acham:

    #!/bin/sh

    #Detecta o IP da Internet
    NET=`ifconfig ppp0 | grep inet | cut -f 13 -d " "`/32
    #Net Interface
    IF=ppp0
    #iptables
    IPT=/usr/sbin/iptables


    $IPT -N LR
    $IPT -A LR -j LOG
    $IPT -A LR -j DROP
    $IPT -P INPUT DROP

    STOP=LR

    #Esta regra barra qualquer tentativa de conexão vindo da internet
    $IPT -A INPUT -j $STOP

    #Aqui serao adicionados os IPs que voce quer liberar de sua maquina

    #$IPT -t filter -A INPUT -s IP/32 -j ACCEPT

    #Ligar algumas proteçoes do kernel

    if [ -e /proc/sys/net/ipv4/tcp_syncookies ]
    then
    echo 1 > /proc/sys/net/ipv4/tcp_syncookies
    fi

    if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ]
    then
    echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
    fi

    if [ -e /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts ]
    then
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
    fi

    #Alguns serviços que voce possa querer liberar o acesso serao adicionados aqui

    #$IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 21 -i $IF -j ACCEPT
    #ftp
    $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 22 -i $IF -j ACCEPT #ssh
    $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 23 -i $IF -j ACCEPT
    #telnet
    $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 25 -i $IF -j ACCEPT
    #smtp
    #$IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 80 -i $IF -j ACCEPT
    #www
    $IPT -t filter -A INPUT -p tcp -s 0/0 -d $NET --dport 110 -i $IF -j ACCEPT
    #pop3

    #Permitir entrada de ICMP

    $IPT -t filter -A INPUT -p icmp -s $NET -d 0/0 -j ACCEPT

    :?:

  14. #14
    SecOrbiT
    Visitante

    Padrão Vamo lah

    Bom ninguem que acessar o seu servidor, mas para nós ajudarmos seria interessante que mandasse todas as regras, bom para IP do servidor vc põe xxx.xxx.xxx.xxx, sacow ?