+ Responder ao Tópico



  1. #1

    Padrão Squid não funciona com Firewall

    Pessoal,
    Estou com o seguinte problema aki.
    Tenho um firewall meia boca (apenas com regras básicas) funcionando. Eu queria melhorar ele um pouquinho, fazendo o seguinte.
    Atualmente uso a seguinte política:

    #POLITICA
    /usr/sbin/iptables -P INPUT DROP
    /usr/sbin/iptables -P FORWARD ACCEPT
    /usr/sbin/iptables -P OUTPUT ACCEPT

    e queria passá-la para:

    #POLITICA
    /usr/sbin/iptables -P INPUT DROP
    /usr/sbin/iptables -P FORWARD DROP
    /usr/sbin/iptables -P OUTPUT ACCEPT

    Pois o certo na minha concepção de ver, é vc negar tudo e depois sair liberando o q realmente precisa do q fazer ao contrário, como estou fazendo. Mas estou fazendo assim pq?
    Sempre q tento colocar a ação DROP na chain FORWARD o meu squid para de funcionar, daí a conexão q tenho com a internet para deixando toda a rede sem internet, aí tenho q voltar para ACCEPT novamente para os usuários poderem usar a Net.
    Como posso fazer para resolver esse problema sem ter q deixar o FORWARD ACCEPT.
    Desde já agradeço

  2. #2
    Linux não é religião
    Visitante

    Padrão Fala sério

    Habilita o forward somente para a porta do squid (3128)

  3. #3
    Abutre
    Visitante

    Padrão Squid não funciona com Firewall

    Vc precisa redirecionar tudo da porta 80, para a porta do Squid.

    Geralmente fica assim...
    iptables -t nat -A PREROUTING -i <eth externa> -p tcp --dport 80 -j REDIRECT --to-port 3128

    Tenta.

    Abutre

  4. #4

    Padrão Squid não funciona com Firewall

    Caro abutre,
    já estou fazendo o q vc falou ...
    Vou mandar o script q uso para talves falicitar a visualização de um erro ou para uma solução
    Valeu...


    #! /bin/sh
    # description: Inicializacao do iptables
    #
    # chkconfig: 2345 80 30
    # processname: iptables
    # pidfile: /var/run/iptabless.pid

    # Script Firewall

    . /etc/rc.d/init.d/functions
    . /etc/sysconfig/network

    if [ ${NETWORKING} = "no" ]
    then
    exit 0
    fi

    case "$1" in
    start)
    gprintf "Iniciando o serviço de %s: " "IPtabless"
    echo
    echo 1 > /proc/sys/net/ipv4/ip_forward

    #CARREGA MODULOS DO IPTABLES
    modprobe ip_tables
    modprobe iptable_nat
    modprobe iptable_filter
    modprobe ip_conntrack

    #LIMPA TODAS AS REGRAS
    /usr/sbin/iptables -F
    /usr/sbin/iptables -t nat -F
    /usr/sbin/iptables -F INPUT
    /usr/sbin/iptables -F OUTPUT
    /usr/sbin/iptables -F FORWARD

    #REGRAS PROTEÇÃO
    #CONTRA SYN-FLOODS
    /usr/sbin/iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
    #CONTRA PORT SCANNERS OCULTOS
    /usr/sbin/iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    #CONTRA PING DA MORTE
    /usr/sbin/iptables -A FORWARD -m unclean -j DROP
    /usr/sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    #CONTRA IP SPOOFING
    /usr/sbin/iptables -A INPUT -s 200.xxx.xxx.xxx/255.xxx.xxx.xxx -i eth0 -j DROP
    #CONTRA PACOTES DANIFICADOS
    /usr/sbin/iptables -A FORWARD -m unclean -j DROP
    #PROIBIR PING
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

    #LIBERA SQUID PARA NOSSA REDE
    /usr/sbin/iptables -A INPUT -p tcp --dport 3128 -s 192.168.0.0/24 -j ACCEPT
    /usr/sbin/iptables -A INPUT -p tcp --dport 3128 -s 192.168.1.0/24 -j ACCEPT

    #POLITICA
    /usr/sbin/iptables -P INPUT DROP
    /usr/sbin/iptables -P FORWARD ACCEPT
    /usr/sbin/iptables -P OUTPUT ACCEPT

    #ABRE TUDO PARA NOSSA REDE
    /usr/sbin/iptables -A INPUT -p tcp --syn -s 192.168.0.0/24 -i eth0 -j ACCEPT
    /usr/sbin/iptables -A INPUT -p tcp --syn -s 192.168.1.0/24 -i eth0 -j ACCEPT
    /usr/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    #NAT PARA NOSSA REDE
    /usr/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
    /usr/sbin/iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128
    /usr/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    /usr/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    #LIBERA HTTP
    /usr/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    #LIBERA LOCALHOST
    /usr/sbin/iptables -t filter -A INPUT -i eth0 -m state --state NEW -j ACCEPT
    /usr/sbin/iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    #POP E SMTP
    /usr/sbin/iptables -A FORWARD -p tcp -m tcp -s 192.168.0.0/24 -d 192.168.0.0/24 --dport 25 -j ACCEPT
    /usr/sbin/iptables -A FORWARD -p tcp -m tcp -s 192.168.0.0/24 -d 192.168.0.0/24 --dport 110 -j ACCEPT

    #FORWARD
    #/usr/sbin/iptables -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PHS,ACK,URG FIN -m limit --limit 3/s -j LOG --log-prefix "NMAP"
    #/usr/sbin/iptables -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,PHS,ACK,URG FIN -m limit --limit 3/s -j DROP
    /usr/sbin/iptables -A FORWARD -d 200.xxx.xxx.xxx -p tcp --dport 137:139 -j DROP
    /usr/sbin/iptables -A FORWARD -s 192.168.0.45 -j DROP
    /usr/sbin/iptables -A FORWARD -p tcp --dport 9781 -s 192.168.0.0/24 -j REJECT
    /usr/sbin/iptables -A FORWARD -p tcp --dport 9781 -s 192.168.1.0/24 -j REJECT
    #/usr/sbin/iptables -A FORWARD -m multiport -p -tcp --dport 12345,12346,20034,31337,6000,6670,6711,6712,6713 -j LOG --log-prefix "NetBUS BO Xwin Deepthroaf"
    #/usr/sbin/iptables -A FORWARD -s 192.168.0.0/24 -m multiport -p -tcp --dport 12345,12346,20034,31337,6000,6670,6711,6712,6713 -j DROP
    #/usr/sbin/iptables -A FORWARD -s 192.168.1.0/24 -m multiport -p -tcp --dport 12345,12346,20034,31337,6000,6670,6711,6712,6713 -j DROP

    #FECHANDO O RESTO
    /usr/sbin/iptables -A INPUT -p tcp --syn -j DROP

    #FECHANDO PARTE DAS PORTAS UDP
    /usr/sbin/iptables -A INPUT -i eth0 -p udp --dport 0:30000 -j DROP



    ;;

    stop)

    gprintf "Parando o serviço de %s: " "IPtables"
    echo
    /usr/sbin/iptables -F

    ;;
    *)
    gprintf "Uso: iptables (start|stop)"
    echo
    ;;
    esac

    exit 0

  5. #5
    Abutre
    Visitante

    Padrão Squid não funciona com Firewall

    Retire essa regra de INPUT e coloque de PREROUTING e faça um teste.

    iptables -t nat -A PREROUTING -i 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

    Se não der certo, acharemos outra solução !

    Abraço,

    Abutre

  6. #6

    Padrão Squid não funciona com Firewall

    Onde? em libera squid para nossa rede?