+ Responder ao Tópico



  1. #1

    Padrão Squid Não pede autenticação de jeito nenhum

    Ola a todos. Estou tentando instalar o squid no servidor de internet, mas
    ele não esta autenticando, apesas de eu ter configurado ele para isso.
    Porém, mesmo não autenticando, o squid funciona normalmente como se fosse um
    proxy transparente. As linhas que eu configurei para ele autenticar são as
    seguintes:

    # >> Proxy com autenticação <<
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
    acl autenticados proxy_auth REQUIRED
    http_access allow autenticados

    Acredito que não seja o problema, mas quando eu testei o squid, eu não tinha
    um servidor apache rodando, mas até onde eu saiba, isso não interferiria na
    autenticação do squid. Abaixo estou postando meu squid.conf completo.

    # Porta:
    http_port 192.168.7.1:3128

    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY

    # >> Quantidade de memória RAM dedicada ao cache <<
    cache_mem 256 MB
    maximum_object_size_in_memory 256 KB
    maximum_object_size 256 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95

    # >> Cache em disco <<
    cache_dir ufs /var/spool/squid 4096 16 256

    # Arquivo onde são guardados os logs de acesso do Squid.
    cache_access_log /var/log/squid/access.log

    visible_hostname empresa.com.br

    # >> Padrão de atualização do cache <<
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    # >> Controle de acesso <<
    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 SSL_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    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 # unregistered 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 Safe_ports port 901 # SWAT
    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
    http_access allow localhost

    # A acl "proibidos" é usada para fazer bloqueio baseado em palavras
    acl proibidos dstdom_regex "/etc/squid/proibidos"
    http_access deny proibidos

    ## Esta acl bloqueia todos malewares contidos em /etc/squid/malware
    acl malware dstdom_regex "/etc/squid/malware"
    http_access deny malware

    ## Esta acl bloqueia todos arquivos com extensões contidas em
    /etc/squid/ext_arquivos
    acl ext_arquivos dstdom_regex "/etc/squid/ext_arquivos"
    http_access deny ext_arquivos

    ## Esta acl determina que somente usuários da acl "redelocal" tem acesso
    liberado as acl's abaixo
    acl redelocal src 192.168.7.0/24
    http_access allow redelocal

    ## Esta acl libera msn por mac address
    acl mac arp "/etc/squid/mac"
    http_access allow redelocal mac

    ## Esta acl libera os domínios contidos no arquivo
    /etc/squid/sites_liberados/
    acl sites_liberados dstdomain -i "/etc/squid/sites_liberados"
    http_access allow redelocal sites_liberados

    ## Esta acl libera os endereços ip contidos no arquivo
    /etc/squid/ip_liberados
    acl ip_liberados dst "/etc/squid/ip_liberados"
    http_access allow redelocal ip_liberados

    # >> Bloqueio com base no horário <<
    acl madrugada time 00:00-06:00
    http_access deny madrugada

    # >> Proxy com autenticação <<
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
    acl autenticados proxy_auth REQUIRED
    http_access allow autenticados

    # >> Controle de acesso <<
    #acl redelocal src 192.168.7.0/24
    #http_access allow redelocal
    http_access deny all
    #http_access allow all

  2. #2

    Padrão

    onde vc colocou as acls que os usuários tem que se autenticar para acessar??

    acl diretoria proxy_auth usuario1 usuario2 usuario3

    mtec

  3. #3

    Thumbs up Autenticacao

    Amigo, tenho varios servidores squid rodando com autenticacao.
    Segue as linhas que vc deve ter para funcionar:

    auth_param basic realm Monitoramento de Internet, Digite seu Login e Senha para Acessar! (aqui vc coloca a mensagem que vc quer que apareca na tela de login)

    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/users (local onde esta o programa de autenticacao, se vc tiver duvida de onde esteja, da um find / -name ncsa_auth e verifica o caminho e altere se preciso. Vc precisa do apache-utils para funcionar a autenticacao. Se vc estiver usando apache2, o pacote utils ja estara instalado)

    acl users proxy_auth "/etc/squid/users"
    http_access allow users

    (o arquivo users contem os usuarios para autenticacao. Vc adiciona usuarios com o comando: htpasswd /etc/squi/users nomedo_usuario (enter) sera solicitado a senha. Lembrando que o arquivo "users" deve ser criado antes de dar o comando para adicionar usuarios. touch /etc/squid/users )


    Espero ter ajudado!!!
    Última edição por damacenoneto; 03-09-2007 às 22:32.

  4. #4

    Padrão

    mtec, a acl para autenticação eh essa:

    # >> Proxy com autenticação <<
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
    acl autenticados proxy_auth REQUIRED
    http_access allow autenticados


    onde, o arquivo /etc/squid/squid_passwd tem todos usuários com senhas que deveriam acessar o squid. Porém, eu não criei com o htpasswd, e sim, como um arquivo de texto normal....acho q pode ter sido ae meu erro.....

    damacenoneto, vou tentar sua dica...

    obrigado aos 2...
    [].s..

    Renato

  5. #5

    Padrão correcao

    gostaria de corrigir uma linha........

    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd

    nao é passwd e sim users no meu conf. É que utilizo varios niveis de acesso autenticado, e postei uma regra com outro arquivo onde vao escritos os nomes dos usuarios que foram criados no htpasswd (outra correcao é essa... htpasswd e nao httpacess..)

  6. #6

    Padrão

    Tudo bem. Mas vc precisa indicar que usuários serão autenticados a partir da acl proxy_auth.

    Como no exemplo abaixo:

    acl diretoria proxy_auth usuario1 usuario2 usuario3

    Att,

    mtec

  7. #7

    Padrão

    Ola pessoal. Com a ajuda de vocês, consegui fazer o squid autenticar . Porém estou tendo mais 1 problema. Acho que eu fiz os bloqueios do meu squid muito "radicais" e com isso, estou tendo problemas com alguns sites. Por exemplo, não estou conseguindo abrir o Globo.com - Absolutamente tudo sobre esportes, notícias, entretenimento e vídeos, YouTube - Broadcast Yourself. http://gmail.com. O site do terra, uol, abrem sem problemas. Ja tentei colocar os sites do youtube, gmail e globo no arquivo da acl "sites_liberados" onde tem os endereços dos sites que podem ser acessados sem problemas, mas mesmo assim não resolveu. Alguém tem alguma idéia de como eu posso resolver isso, sem abrir muito os bloqueios do squid ? Abaixo estou postando meu novo squid.conf para vocês analisarem. Outras sugestões, dicas e críticas são bem vindas .

    [].s....
    Renato


    root@renator:/etc/squid# cat squid.conf
    # Porta:
    http_port 10.1.1.24:3128

    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY

    # >> Quantidade de memória RAM dedicada ao cache <<
    cache_mem 256 MB
    maximum_object_size_in_memory 256 KB
    maximum_object_size 256 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95

    # >> Cache em disco <<
    cache_dir ufs /var/spool/squid 4096 16 256

    # Arquivo onde são guardados os logs de acesso do Squid.
    cache_access_log /var/log/squid/access.log

    visible_hostname renator

    # >> Padrão de atualização do cache <<
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    # >> Controle de acesso <<
    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 SSL_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    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 # unregistered 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 Safe_ports port 901 # SWAT
    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
    http_access allow localhost

    # A acl "proibidos" é usada para fazer bloqueio baseado em palavras
    acl proibidos dstdom_regex "/etc/squid/proibidos"
    http_access deny proibidos

    ## Esta acl bloqueia todos malewares contidos em /etc/squid/malware
    acl malware dstdom_regex "/etc/squid/malware"
    http_access deny malware

    ## Esta acl bloqueia todos arquivos com extensões contidas em #etc/squid/ext_arquivos
    acl ext_arquivos dstdom_regex "/etc/squid/ext_arquivos"
    http_access deny ext_arquivos

    ## Esta acl determina que somente usuários da acl "redelocal" tem acesso
    #liberado as acl's abaixo
    acl redelocal src 10.1.1.0
    http_access allow redelocal

    ## Esta acl libera msn por mac address
    acl mac arp "/etc/squid/mac"
    http_access allow redelocal mac

    ## Esta acl libera os domínios contidos no arquivo /etc/squid/sites_liberados/
    acl sites_liberados dstdomain -i "/etc/squid/sites_liberados"
    http_access allow redelocal sites_liberados

    ## Esta acl libera os endereços ip contidos no arquivo /etc/squid/ip_liberados
    acl ip_liberados dst "/etc/squid/ip_liberados"
    http_access allow redelocal ip_liberados

    # >> Bloqueio com base no horário <<
    acl madrugada time 00:00-06:00
    http_access deny madrugada

    # >> Proxy com autenticação <<
    auth_param basic realm Digite seu Login e Senha:
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/usuarios
    acl usuarios proxy_auth "/etc/squid/usuarios"
    http_access allow usuarios

    # >> Controle de acesso <<
    #http_access allow redelocal
    #http_access deny all
    http_access allow all

  8. #8

    Padrão

    Geralmente o seu problema é esse:

    ## Esta acl determina que somente usuários da acl "redelocal" tem acesso
    #liberado as acl's abaixo
    acl redelocal src 10.1.1.0
    http_access allow redelocal

    esta ANTES da acl de proxyauth, logo ele libera antes de autenticar. Tente comentar esta linha e botar a acl de allow depois de pedir a autenticacao.

    Lembre-se que a parte de autenticacao nao é igual ao allow que depois que esta autenticado nao passa a testar as outras acls de controle.

  9. #9

    Padrão

    Ola Pessoal Obrigado pela ajuda. Consegui resolver, apesar de não ser bem o que vcs propuseram. O problema em si, estava na acl ext_arquivos, onde, por descuido meu, eu deixei a extensão " .com$ ", e com isso, ele bloqueava todos sites que continham extensão .com. Mesmo assim, novamente agradeço sua ajuda. E gostaria de saber a opnião de vocês, sobre meu script de squid (outras pessoas também podem opinar), se tem algo que está mal estruturado ou posso melhorar ou implantar alguma funcionalidade a mais. Segue abaixo o script final que estou usando e está em perfeito funcionamento (até agora )



    []s...

    Renato



    # Porta:
    http_port 10.1.1.24:3128

    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY

    # >> Quantidade de memória RAM dedicada ao cache <<
    cache_mem 256 MB
    maximum_object_size_in_memory 256 KB
    maximum_object_size 256 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95

    # >> Cache em disco <<
    cache_dir ufs /var/spool/squid 4096 16 256

    # Arquivo onde são guardados os logs de acesso do Squid.
    cache_access_log /var/log/squid/access.log

    visible_hostname renator

    # >> Padrão de atualização do cache <<
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    # >> Controle de acesso <<
    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 SSL_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    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 # unregistered 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 Safe_ports port 901 # SWAT
    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
    http_access allow localhost

    # A acl "proibidos" é usada para fazer bloqueio baseado em palavras
    acl proibidos dstdom_regex "/etc/squid/proibidos"
    http_access deny proibidos

    ## Esta acl bloqueia todos malewares contidos em /etc/squid/malware
    acl malware dstdom_regex "/etc/squid/malware"
    http_access deny malware

    ## Esta acl bloqueia todos arquivos com extensões contidas em etc/squid/ext_arquivos
    acl ext_arquivos dstdom_regex "/etc/squid/ext_arquivos"
    http_access deny ext_arquivos

    ## Esta acl determina que somente usuários da acl "redelocal" tem acesso liberado as acl's abaixo
    acl redelocal src 10.1.1.0
    http_access allow redelocal

    ## Esta acl libera msn por mac address
    acl mac arp "/etc/squid/mac"
    http_access allow redelocal mac

    ## Esta acl libera os domínios contidos no arquivo /etc/squid/sites_liberados/
    acl sites_liberados dstdomain -i "/etc/squid/sites_liberados"
    http_access allow redelocal sites_liberados

    ## Esta acl libera os endereços ip contidos no arquivo /etc/squid/ip_liberados
    acl ip_liberados dst "/etc/squid/ip_liberados"
    http_access allow redelocal ip_liberados

    # >> Bloqueio com base no horário <<
    acl madrugada time 00:00-06:00
    http_access deny madrugada

    # >> Proxy com autenticação <<
    auth_param basic realm Digite seu Login e Senha:
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/usuarios
    acl usuarios proxy_auth "/etc/squid/usuarios"
    http_access allow usuarios

    # >> Controle de acesso <<
    http_access allow all