+ Responder ao Tópico



  1. #1
    fael
    Visitante

    Padrão Deve ser facil, mas eu não sei II

    Pessoal, boa tarde,
    Como havia dito eu iria postar se eu conseguisse, e consegui .. o squid esta rodando legal e estou conseguindo acessar sites sem problemas o único problema é em relação ao acesso ao SMTP, POP3 e HTTPS esses protocolos não estou conseguindo acessar até cheguei a criar algumas regras para firewall só que mesmo eu " parando" de usar essas regras eu não consigo ter acesso a esses protocolos ... por esse motivo acho que o problema esteja no proprio squid estou passando o meu squid.conf para discutirmos sobre ele:

    # squid.conf alterado

    http_port 3128

    hierarchy_stoplist cgi-bin ?

    acl QUERY urlpath_regex cgi-bin \?

    no_cache deny QUERY

    cache_dir ufs /usr/local/squid/cache 2100 16 256

    cache_mem 100 MB

    cache_access_log /usr/local/squid/logs/access.log
    cache_log /usr/local/squid/logs/cache.log
    cache_store_log /usr/local/squid/logs/store.log


    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1400 0% 1440
    refresh_pattern . 0 20% 4320

    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8

    acl SSL_ports port 443 563
    acl Safe_ports port 80 #hhtp
    acl Safe_ports port 21 #ftp
    acl Safe_ports port 25 #smtp
    acl Safe_ports port 110 #pop3
    acl Safe_ports port 443 563 #https, snews
    acl Safe_ports port 70 #gopher
    acl Safe_ports port 210 #wais
    acl Safe_ports port 1025-65535 #unregistred ports
    acl Safe_ports port 280 # http-mgmt
    acl Safe_ports port 488 # gss-http
    acl Safe_ports port 591 #filemaker
    acl Safe_ports port 777 #multiling http
    acl CONNECT method CONNECT
    acl rede_interna src 192.168.0.0/24


    http_access allow manager localhost
    http_access deny manager
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access allow rede_interna

    icp_access deny all

    #http_reply_access allow all # Essa linha não esta funcionando, esta dando erro quando inicio o squid por isso que ela esta comentada ...

    icp_access allow all

    #httpd_accel_host virtual
    #httpd_accel_port 80
    #httpd_accel_single_host off
    #httpd_accel_with_proxy on
    #httpd_accel_uses_host_header on

    Pessoal se alguem souber alguma coisa vocês podem me dar um toque ?

    Obrigado novamente

  2. #2

    Padrão Re: Deve ser facil, mas eu não sei II

    O Squid não suporta os protocolos que você tá querendo utilizar. Para contornar a situação, você deve utilizar uma regra de NAT no seu firewall, para o repassamento dos pacotes. É a velha histórinha do:

    Código :
    # echo 1 > /proc/sys/net/ipv4/ip_forward
    # iptables -t nat -A POSTROUTING -o $INTERFACE_SAIDA -j MASQUERADE

    Recomendo a leitura da documentação disponível no Wiki!


    Abraços!

  3. #3
    fael
    Visitante

    Padrão Re: Deve ser facil, mas eu não sei II

    Cara coloquei essa regra e mesmo assim nada ... vou passar para vcs as minhas regras de IPTABLES pois tirei elas de um tutor que ache aqui mesmo no underlinux o squid.conf já passei agora vem as regras do iptables que eu fiz.
    Site do tutorial : https://under-linux.org/content/view/5749/58/ e as regras são as seguintes :
    # Variaveis
    LAN1="eth0"
    WAN1="eth1"
    GW="200.x.x.1"
    IP_EXT="200.x.x.7"
    REDE="10.0.0.0/32"
    P_PX="28021" # Porta do Proxy
    IP_DIRETOR1="10.0.0.25"
    IP_DIRETOR2="10.0.0.27"

    case "$1" in
    start)
    echo "Iniciando Firewall..."
    depmod -a
    modprobe ipt_LOG
    modprobe ip_tables
    modprobe iptable_nat
    modprobe iptable_filter
    modprobe ipt_MASQUERADE
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp

    #Flush nas Chains
    iptables -F
    iptables -t nat -F
    iptables -X
    iptables -Z

    #Politica padrão
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT


    #Habilita o roteamento
    echo "1" > /proc/sys/net/ipv4/ip_forward

    #Regras de Entrada
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 25 -j ACCEPT
    iptables -A INPUT -p tcp --dport 53 -j ACCEPT
    iptables -A INPUT -p udp --dport 53 -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 110 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    iptables -A INPUT -p tcp --dport 563 -j ACCEPT
    iptables -A INPUT -i $LAN1 -p tcp --dport $P_PX -j ACCEPT
    iptables -A INPUT -i $WAN1 -p tcp --dport $P_PX -j DROP

    #Regras de Repasse
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -d $GW -s $REDE -j ACCEPT
    iptables -A FORWARD -i $LAN1 -d smtp.terra.com.br -p tcp --dport 25 -j ACCEPT
    iptables -A FORWARD -i $LAN1 -p tcp --dport 53 -j ACCEPT
    iptables -A FORWARD -i $LAN1 -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -i $LAN1 -d pop.terra.com.br -p tcp --dport 110 -j ACCEPT
    iptables -A FORWARD -i $LAN1 -p tcp --dport $P_PX -j ACCEPT
    iptables -A FORWARD -s $IP_DIRETOR1 -d 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT
    iptables -A FORWARD -s $IP_DIRETOR2 -d 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT

    #Barro qualquer comunicação com a porta 80
    iptables -A FORWARD -i $LAN1 -p tcp --dport 80 -j DROP

    #Tudo que for proveniente da rede local e for p/ internet tem seu endereço alterado
    iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -s $REDE -j SNAT --to $IP_EXT

    #Regras de Segurança

    #Contra Syn-fllod
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

    #Contra Ping da Morte
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    #Contra nmap
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    #iptables -A FORWARD -p tcp -tcp-flags SYN,ACK -j DROP

    #Logando os pacotes
    #Logando pacotes bloqueados vindo da internet
    iptables -A INPUT -p tcp -i $LAN1 -j LOG --log-level DEBUG --log-prefix "Pacote tcp : "
    iptables -A INPUT -p icmp -i $LAN1 -j LOG --log-level DEBUG --log-prefix "Pacote icmp : "

    iptables -A FORWARD -m unclean -j DROP

    ;;
    stop)
    echo "Parando Firewall:"
    iptables -X
    iptables -F
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT

    iptables -t nat -F
    iptables -t nat -X
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    iptables -t nat -P OUTPUT ACCEPT

    ;;
    restart)
    $0 stop
    $0 start
    ;;
    status)
    iptables -L -n
    iptables -t nat -L -n
    ;;
    *)
    echo "Use: $0 {start|stop|restart|status}"
    exit 1
    ;;
    esac
    exit 0


    Fiz modificações referete as interfaces de rede por que as minhas estão invertidas e os ips dos diretores e o POP3 e o SMTP que eu coloquei do nosso servidor de e-mail de resto esta tudo igualzinho.

    Alguem pode me dar uma luz ?

    Stefano muito boa a documentação do squid vou le-la com certeza.

    Obrigado

  4. #4

    Padrão Re: Deve ser facil, mas eu não sei II

    Opa, valeu pelo elogio à documentação!

    Faz o seguinte... limpa o seu firewall, sete as políticas para ACCEPT primeiro e tente fazer com aquelas regras que eu te passei no último post. Veja se funciona, pra gente descobrir se é por algum problema adverso ou pelo firewall bloqueando. Desculpe, mas eu estou meio no rush com um probleminha aqui e não tive tempo de olhar com calma o seu script... =/


    Abraços!

  5. #5
    fael
    Visitante

    Padrão Re: Deve ser facil, mas eu não sei II

    Cara valeu ... eu consegui fazer isso adicionei algumas regras que eu estava pesquisando aqui mesmo no site na parte de artigos e achei um artigo interessante li , apliquei e funcionou ...
    Adicionei as seguintes regras:

    /usr/sbin/iptables -A FORWARD -p udp -s 10.0.0.0/8 -d 200.204.0.10 --dport 53 -j ACCEPT
    /usr/sbin/iptables -A FORWARD -p udp -s 10.0.0.0/8 -d 200.204.0.138 --dport 53 -j ACCEPT
    /usr/sbin/iptables -A FORWARD -p udp -s 200.204.0.10 --sport 53 -d 10.0.0.0/8 -j ACCEPT
    /usr/sbin/iptables -A FORWARD -p udp -s 200.204.0.138 --sport 53 -d 10.0.0.0/8 -j ACCEPT

    /usr/sbin/iptables -A FORWARD -p TCP -s 10.0.0.0/8 --dport 25 -j ACCEPT
    /usr/sbin/iptables -A FORWARD -p TCP -s 10.0.0.0/8 --dport 110 -j ACCEPT
    /usr/sbin/iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
    /usr/sbin/iptables -A FORWARD -p tcp --sport 110 -j ACCEPT

    Com essas regras funcionou só que eu tive que colocar como meus DNS esses ai que eu num sei se é da Telefonica ou do terra .. mas funcionou .. agora vou fazer o meu proprio DNS para ficar uma coisa mais certa.

    O meu servidor DHCP não esta funcionando corretamente, ele inicia sem dar erro só que não distribui os IP's para os clientes. Será que tem uma regra no iptables que esta bloqueando isso ou é alguma outra coisa ?

    Valeu a todos
    Obrigado e valeu