+ Responder ao Tópico



  1. #1

    Padrão Problemas com IPTABLES E SQUID autenticado

    Olá, sou novo na comunidade. Estou usando o Fedora 14 como distribuição Linux para Preciso implementar um servidor que funcione para autenticar usuários, através do iptables e squid. Tenho 2 placas de rede no meu servidor sendo eth0 a que sai do modem para meu servidor e, eth1 que sai do servidor para uma outra máquina. criei um script de firewall que não sei se está correto, pois quando conecto meu servidor pra outra máquina (windows) atráves de um switch, aparece a conexão como sem acesso a rede porém aparece como se eu estivesse recebendo e enviando dados como uma conexão normal. Além disso não aparece a janela para login/senha que o squid deveria requisitar.

    script do iptables:

    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff.

    touch /var/lock/subsys/local

    #Variáveis
    #IPTABLES="/usr/sbin/iptables"
    #IPTABLES="/usr/sysconfig/iptables"
    INT=eth0
    EXT=eth1
    INT_IP="10.1.1.1/24"

    iptables -t nat -A POSTROUTING -o INT_IP -j MASQUERADE

    #Ativar ip_forward
    echo "1" > /proc/sys/net/ipv4/ip_forward

    #Liberar Proxy para rede interna
    iptables -A INPUT -p tcp -i $INT -s $INT_IP --dport 3128 -j ACCEPT




    script do squid.conf:

    # Porta de acesso do proxy
    http_port 3128
    hierarchy_stoplist cgi-bin ?

    # Define o nome do servidor (COMANDO hostname)
    visible_hostname PR99

    cache_mem 512 MB

    maximum_object_size_in_memory 64 KB
    maximum_object_size 512 MB
    minimum_object_size 0 KB

    coredump_dir /var/spool/squid

    # Log
    cache_swap_low 90
    cache_swap_high 95

    # Diretório onde o cache será armazenado em disco, recomendo a utilização deste diretorio que é o padrão, o número 5000 porque serão disponibilizados 5gb de espaço
    cache_dir ufs /var/spool/squid 5000 16 256
    cache_access_log /var/log/squid/access.log

    # Atualização dos obetos que estão no cache
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
    refresh_pattern . 15 20% 2280

    # Ativa a linguagem da paginas de erro para o português
    error_directory /usr/share/squid/errors/pt-br/

    ####################################################################################
    # CONFIGURAÇÕES PARA AUTENTICAÇÃO DO PROXY
    #-----------------------------------------------------------------------------------

    # Informa o caminho do programa de autenticação e o arquivo de logins e senhas
    auth_param basic program /usr/bin/ncsa_auth /etc/squid/squid_passwd

    # Indica o nome do servidor, da forma como ele aparecerá na janela de autenticação do clientes
    auth_param basic realm Squid

    # Números de processos filhos onde o default é 5.
    auth_param basic children 5

    # Define o timeout de logon no proxy
    #auth_param basic credentialsttl 1 hour
    auth_param basic credentialsttl 30 minutes

    # Define o texto que aparecer´a na caixa de login
    auth_param basic realm DIGITE O LOGIN E A SENHA!

    # Desativa a verificação de letras maiúsculas e minúsculas
    auth_param basic casesensitive off
    # Define os usuário autenticados s/ proxy

    acl usuarios_sem_proxy proxy_auth "/etc/squid/acl/usuarios_sem_proxy"

    # Define os usuários autenticados c/ proxy
    acl usuarios_autenticados proxy_auth REQUIRED

    ####################################################################################
    # ACLs
    #-----------------------------------------------------------------------------------
    acl manager proto cache_object

    acl localhost src 127.0.0.1/32
    acl rede_interna src 10.1.1.0/24 # Rede Interna
    #acl rede_interna src 192.168.56.0/24 # Virtual Box - Maquinas Virtuais

    acl SSL_ports port 443 563 2083 10000 # SSL
    acl Safe_ports port 80 # http - Navegacao
    acl Safe_ports port 21 # ftp - download/upload
    acl Safe_ports port 25 # SMTP - Envio de E-Mail
    acl Safe_ports port 110 # POP3 - Recebimento de E-Mail
    acl Safe_ports port 143 # Imap
    acl Safe_ports port 443 563 # https, snews - navegacao SSL
    acl Safe_ports port 70 # gopher - protocolo nao mais utilizado
    acl Safe_ports port 210 # wais
    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 Safe_ports port 901 # Swat
    acl Safe_ports port 1863 # MSN Messenger - Client
    acl Safe_ports port 2083 # CPanel - Host-on - Hospedagem do nosso website
    acl Safe_ports port 3456 # Receitanet
    acl Safe_ports port 5017 # CagedNet
    acl Safe_ports port 6891 # MSN Messenger - Transfer File
    acl Safe_ports port 8017 # Receita Federal
    acl Safe_ports port 10000 # webmin
    acl Safe_ports port 1025-65535 # Portas nao registradas
    acl purge method PURGE
    acl CONNECT method CONNECT

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

    #-----------------------------------------------------------------------------------
    # Bloqueia acessos de fora da rede local antes de passar pela autenticacao
    # O simbolo "!" inverte a regra aplicada, bloqueia todos os enderecos que nao fizerem
    # parte da acl "rede_interna"
    http_access deny !rede_interna

    #-----------------------------------------------------------------------------------
    # Sites que não funcionan bem quando acessado através do proxy Ex: conectividade Social
    #acl site dstdomain siteproblematico.com
    #always_direct allow site

    #-----------------------------------------------------------------------------------
    # ACL de liberacao e Negacao de acesso aos usuario
    acl dominios_liberados dstdomain "/etc/squid/acl/dominios_liberados"
    acl dominios_bloqueados dstdomain "/etc/squid/acl/dominios_bloqueados"
    acl palavras_bloqueadas dstdom_regex "/etc/squid/acl/palavras_bloqueadas"
    acl extencao_bloqueadas url_regex -i "/etc/squid/acl/extencao_bloqueadas"
    acl radioOnline_bloqueados rep_mime_type -i "/etc/squid/acl/radioOnline_bloqueados"
    #-----------------------------------------------------------------------------------

    #http_access allow usuarios_sem_proxy
    http_access allow usuarios_autenticados dominios_liberados
    http_access deny usuarios_autenticados dominios_bloqueados
    http_access deny usuarios_autenticados palavras_bloqueadas
    http_reply_access deny usuarios_autenticados radioOnline_bloqueados
    http_access deny usuarios_autenticados extencao_bloqueadas
    http_access allow usuarios_autenticados
    #-----------------------------------------------------------------------------------
    # Pagina de erros personalizadas
    #deny_info ERR_DENIED_FILE_TYPE extencao_bloqueadas

    #-----------------------------------------------------------------------------------
    # Libera o acesso da rede interna e do localhost para os autenticados, bloqueia os demais
    http_access allow rede_interna
    http_access allow localhost
    http_access deny all

    Não sei mais o que fazer para resolver esse problema, e preciso muito para poder implementar no meu estágio. Agradeço quem puder me ajudar.

  2. #2

    Padrão Re: Problemas com IPTABLES E SQUID autenticado

    Duas dicas:

    1) Consulte o Firewall com IPTABLES - by Eriberto para aprender a mecher com IPTables, sério, vale muito, mais muito apenas ler esse tuto para "abrir" a cabeça..
    2) Proxy autenticado necessita ser colocado proxy no navegador, transparente não funcionará..

    OBS: não vi o seu código de SQUID...