+ Responder ao Tópico



  1. #1
    drmo26
    Visitante

    Padrão Problema para especialistas

    Estou com seguinte problema:

    Tenho 1 firewall que roda iptables fazendo mascaramento para a rede interna.
    Até ai tudo funciona direitinho!!! (todos os sites abrem, bancos, hotmail, kazaa, emule e etc...)
    Mas quando eu executo o script-firewall novamente, todos os sites que funcionam pela porta 443 (https) começam a ter problemas, o hotmail nem abre!!!

    Mas eu resolvo isso desconectando e reconectando denovo o discador ppp0.

    Ai tudo volta ao normal.

    Alguem pode me dizer por que isso esta acontecendo

    Segue abaixo meu firewall para vcs darem uma olhada


    #!/bin/sh

    # Definido variaveis
    redeinterna='10.0.0.0/8'

    # Definindo interface
    internet='ppp0'

    # Politica padrao

    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    # Lipando regras anteriores

    iptables -t nat -F
    iptables -t nat -X
    iptables -F
    iptables -X

    #compartilhando a conexao
    iptables -A POSTROUTING -o ppp0 -s "$redeinterna" -j MAQUERADE

    # Abilitando repasse entre as interfaces
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # Abre para uma faixa de endereços da rede local
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -m state --state INVALID -j DROP

    # Liberaçao de portas para rede interna

    iptables -A INPUT -p tcp -s "$redeinterna" --dport 3128 -j ACCEPT
    iptables -A FORWARD -p tcp -s "$redeinterna" --dport 443 -j ACCEPT
    iptables -A FORWARD -p tcp -s "$redeinterna" --dport 80 -j ACCEPT
    iptables -A FORWARD -p udp -s "$redeinterna" --dport 53 -j ACCEPT
    iptables -A FORWARD -p tcp -s "$redeinterna" --dport 21 -j ACCEPT
    iptables -A FORWARD -p tcp -s "$redeinterna" --dport 25 -j ACCEPT
    iptables -A FORWARD -p tcp -s "$redeinterna" --dport 110 -j ACCEPT
    iptables -A FORWARD -p udp -s "$redeinterna" --dport 8360:8368 -j ACCEPT

    # Redirecionando porta squid
    #iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128

    # Portas abertas para internet
    iptables -A INPUT -p tcp --dport 6123 -j ACCEPT

    # Protege contra synflood
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies

    # Proteção contra ICMP Broadcasting
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

    # Proteções diversas contra portscanners, ping of death, ataques DoS, etc.

    iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
    iptables -A FORWARD -m unclean -j DROP
    iptables -N VALID_CHECK
    iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
    iptables -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
    iptables -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
    iptables -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
    iptables -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
    iptables -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
    iptables -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP

    # Inteface lo
    iptables -A INPUT -s 127.0.0.1/8 -j ACCEPT

    # Regras para saida e entrada

    iptables -A OUTPUT -p udp --dport 137:139 -j DROP
    iptables -A OUTPUT -p udp --sport 137:139 -j DROP
    iptables -A OUTPUT -p udp --dport 445 -j DROP
    iptables -A OUTPUT -p udp --sport 445 -j DROP

    Desde ja agradeço a todos

  2. #2

    Padrão

    Saudações amigo drmo26,

    Tive um problema parecido com esse. No meu caso o pppd subia uma regra no netfilter logo após se conectar.
    A regra era como esta listada no iptables -nvL

    10868 603K TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 tcpmss match 1400:1536 TCPMSS clamp to PMTU

    ou se vc preferir no iptables-save

    -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu

    Demorei um tempo pra perceber que era o pppd que subia essa regra. Sobre algumas conexões ppp os pacotes não podem ter um MTU superior 1460 que o modem não conseguirá modular esse pacote sem fragmentá-lo.
    Pra você ter uma idéia o MTU das placas de rede é 1500. As antigas conexões discadas tinham MTU bem menores que estes.
    Essa regra do netfilter, entre outras coisas, altera a flag do pacote de não fragmentação.

    Veja se ao reconectar o ppp ele não sobe esta regra ou algo próximo a isto na chain forward.
    É o meu palpite.

    Abraço

  3. #3
    drmo26
    Visitante

    Thumbs up

    Amigão valeu mesmo!!!!
    Era exatamente o que vc falou, pessoas como vc realmente fazem o forum valer a pena!!!!
    Não sou nenhum especialista mas se precisar de alguma dica, e eu puder ajudar, estamos ai!!

    Brigadão!!!!!!!

  4. #4