+ Responder ao Tópico



  1. #1

    Padrão Problemas com Autenticação usando Squid

    Olá pessoal tenho um squid rodando no debian que não funciona a autenticação dejeito nenhum. Simplesmente abre a url que estou tentando abrir sem pedir nenhuma autenticação. Eu estou usando o Firefox como browser

    /etc/squid.conf
    # Este é o principal arquivo de configuração do Squid.
    # Esta versão incluída no Kurumin inclui apenas as opções mais usadas,
    # comentadas de forma a facilitar a configuração. Se quiser ver o arquivo
    # original incluído no pacote, leia o arquivo /etc/squid.conf.debian
    # Comentários por Carlos E. Morimoto

    # Porta:
    # Esta é a porta tcp onde o squid ficará ativo. O padrão é a porta 3128

    http_port 3128 transparent

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

    # >> Configuração do cache de páginas e arquivos <<
    # O squid armazena as páginas e arquivos já acessados, para agilizar o
    # acesso.
    # Ao ativar o proxy transparente no ícone mágico, o cache passar a
    # armazenar também todos os downloads feitos pelos clientes, via
    # http, ftp e também através do apt-get, que também usa http.

    # >> Quantidade de memória RAM dedicada ao cache <<
    # Se estiver usando um servidor com muita RAM, você pode aumentar isso
    # para até mais ou menos um terço da memória RAM total.

    cache_mem 16 MB


    # O tamanho máximo dos arquivos que serão guardados no cache feito
    # na memória RAM. O resto vai para o cache feito no HD.
    # O cache na memória é muito mais rápido, mas como a quantidade de
    # RAM é muito limitada, melhor deixa-la disponível para páginas web,
    # figuras e arquivos pequenos em geral.

    maximum_object_size_in_memory 64 KB


    # >> Tamanho máximo e mínimo para arquivos serem armazenados no cache <<
    # por default, o máximo são downloads de 16 MB e o mínimo é zero, o que
    # faz com que mesmo imagens e arquivos pequenos sejam armazenados
    # no cache. Sempre é mais rápido ler a partir do cache do que baixar de
    # novo da web.
    # Se você faz download de arquivos grandes e deseja que eles fiquem
    # armazenados no cache, aumente o valor da opção maximum_object_size
    # Isto é especialmente útil para quem precisa baixar muitos arquivos
    # através do apt-get ou Windows update em muitos micros da rede.

    maximum_object_size 16 MB
    minimum_object_size 0 KB


    # Percentagem de uso do cache que fará o squid começar a descartar os
    # arquivos mais antigos. Por padrão isso começa a acontecer quando o
    # cache está 90% cheio.

    cache_swap_low 90
    cache_swap_high 95


    # >> Cache em disco <<
    # Esta opção é composta por quatro valores. O primeiro, (/var/spool/squid)
    # Indica a pasta onde o squid armazena os arquivos do cache. Você pode
    # querer alterar para uma pasta em uma partição separada por exemplo.
    # O "512" indica a quantidade de espaço no HD (em MB) que será usada para
    # o cache. Aumente o valor se você tem muito espaço no HD do servidor e
    # quer que o squid guarde os downloads por muito tempo.
    # Finalmente, os números 16 256 indicam a quantidade de subpastas que
    # serão criadas dentro do diretório. Por padrão temos 16 pastas com 256
    # subpastas cada uma.

    cache_dir ufs /var/spool/squid 512 16 256


    # Arquivo onde são guardados os logs de acesso do Squid.

    cache_access_log /var/log/squid/access.log
    visible_hostname kurumin

    # O e-mail que o Squid envia como senha ao acessar um servidor
    # FTP anonimo:

    ftp_user [email protected]


    # >> Padrão de atualização do cache <<
    # Estas três linhas precisam sempre ser usadas em conjunto. Ou seja,
    # você podde alterá-las, mas sempre as três precisam estar presentes
    # no arquivo. Eliminando um, o squid ignora as outras duas e usa o
    # default.
    # Os números indicam o tempo (em minutos) quando o squid irá verificar
    # se um ítem do cache (uma página por exemplo) foi atualizado, para
    # cada um dos três protocolos.
    # O primeiro número (o 15) indica que o squid verificará se todas as
    # páginas e arquivos com mais de 15 minutos foram atualizados. Ele
    # só verifica checando o tamanho do arquivo, o que é rápido. Se o
    # arquivo não mudou, então ele continua mandando o que não está
    # no cache para o cliente.
    # O terceiro número (o 2280, equivalente a dois dias) indica o tempo
    # máximo, depois disso o objeto é sempre verificado.

    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280


    # >> Controle de acesso <<
    # Aqui vai vão as regras de quem acessa ou não o proxy. Por default
    # o proxy vem configurado de uma forma liberal, para facilitar o uso.
    # É recomendável que você ative o firewall do Kurumin e o configure
    # para permitir apenas acessos a partir da rede local.

    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 de sites (baseado no domínio)
    # pelo icone magico do Kurumin. Você pode removê-la se não pretender
    # usar o filtro de conteúdo por palavras. Ao usar a lista, coloque os
    # sites desejados dentro do arquivo, um por linha

    acl bloqueados url_regex -i "/etc/squid/bloqueados"
    http_access deny bloqueados


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

    # >> Bloqueio com base no horário <<
    # Esta regra faz com que o proxy recuse conexões feitas dentro de determinados
    # horários. Você pode combinar várias das regras abaixo para bloquear todos
    # os horários em que você não quer que o proxy seja usado:

    #acl madrugada time 00:00-06:00
    #http_access deny madrugada

    #acl manha time 06:00-12:00
    #http_access deny manha

    #acl almoco time 12:00-14:00
    #http_access deny almoco

    #acl tarde time 14:00-19:00
    #http_access deny tarde

    #acl noite time 19:00-24:00
    #http_access deny noite


    # >> Proxy com autenticação <<
    # Se você quer habilitar o uso de login e senha para acessar através
    # do proxy, siga os seguintes pasos:
    # 1- Instale o pacote apache-utils (apt-get install apache-utils)
    # 2- Crie o arquivo que será usado: touch /etc/squid/squid_passwd
    # 3- Cadastre os logins usando o comando:
    # htpasswd /etc/squid/squid_passwd kurumin
    # (onde o "kurumin" é o usuário que está sendo adicionado).
    # Depois de terminar de cadastrar os usuários, descomente as três linhas
    # abaixo e reinicie o squid com o comando "service squid restart".
    # Quando os usuários tentarem acessar será aberto uma tela pedindo login.

    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
    auth_param basic realm Sua senha é individual, não a divulgue!
    acl autenticados proxy_auth REQUIRED
    http_access allow autenticados


    # >> Controle de acesso <<
    # Aqui você pode ativar a configuração do Squid que o deixará explicitamente
    # disponível apenas para a faixa de endereços da sua rede local, recusando
    # acessos provenientes de outras redes, mesmo que o firewall esteja desabilitado.
    # Configure a linha abaixo com a faixa de endereços IP e a máscara de
    # sub-rede (o 24 equivale à mascara 255.255.255.0) da sua rede local e deixe
    # também a linha http_access deny all (mais abaixo) descomentada.

    #acl redelocal src 192.168.1.0/24
    #http_access allow redelocal


    # Ao ativar qualquer uma das regras de controle de acesso, você deve
    # descomentar tampém a linha abaixo, que vai recusar as conexões que
    # não sejam aceitas nas regras acima. Ao alterar a configuração, comente ou apague
    # a linha "http_access allow all", que permite que todo mundo utilize o proxy.

    #http_access deny all
    http_access allow all


    # >> Proxy Transparente <<
    # As linhas abaixo, combinadas com uma regra de firewall adicionada pela opção
    # no ícone mágico fazem o squid se comportar como um proxy transparente.
    # Leia o capítulo 6 do livro do Kurumin para mais detalhes.

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


    # Para habilitar o proxy transparente, você deve descomentar as 4 linhas acima e
    # adicionar a regra do firewall que redireciona o tráfego da porta 80 do servidor
    # para a porta 3128 do squid.
    # Isto é feito colocando os seguintes comandos no arquivo /etc/rc.d/rc.local:
    # (substitua o $placalocal pela placa da rede local, ex: eth0)
    # (substitua o $placainternet pela placa ligada na internet, ex: eth1 ou ppp0)

    #modprobe iptable_nat
    #echo 1 > /proc/sys/net/ipv4/ip_forward
    #iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

  2. #2

    Padrão

    em modo TRANSPARENTE voce NAO consegue fazer autenticação !!!

    ou voce configura proxy em todas as maquinas e tira o transparent do http_port e faz autenticação.. ou vc tira autenticação e deixa transparente...


    outra dica eh rodar 2 squids.. um para autenticar.. e outro em modo transparente..

    usando cache_peer voce faz um squid acessar o outro... ainda nao testei por falta de tempo mas na lista oficial do squid.. ja rolou comentarios sobre isto...

  3. #3

    Padrão

    olá kra! como o alexandre falou não tem como fazer funcionar autenticação em squid transparente.

    segue um squid que configurei pra uma empresa aqui que tem autenticação pam (do shell)

    Código :
     
    http_port 3128
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
    dns_nameservers 208.67.222.222 201.10.1.2 192.168.0.89
    hosts_file /etc/hosts
    auth_param basic program /usr/lib/squid/pam_auth
    refresh_pattern ^ftp:           1440    20%     10080
    refresh_pattern ^gopher:        1440    0%      1440
    refresh_pattern .               0       20%     4320
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl radio src 192.168.0.0/255.255.255.0
    acl usuarios proxy_auth REQUIRED
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8
    acl purge method PURGE
    acl CONNECT method CONNECT
    acl vbs url_regex -i .*\.VBS$
    acl scr url_regex -i .*\.SCR$
    acl cmd url_regex -i .*\.CMD$
    acl pif url_regex -i .*\.PIF$
    acl bloqueados url_regex -i "/etc/squid/bloqueados/block.txt"
    acl desbloqueados url_regex -i "/etc/squid/bloqueados/unblock.txt"
    acl back src 192.168.0.8
    http_access deny vbs
    http_access deny scr
    http_access deny bloqueados !desbloqueados
    http_access allow desbloqueados
    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 usuarios radio
    http_access deny all
    http_reply_access allow all
    icp_access allow all
    visible_hostname Luiz_Biazus
    logfile_rotate 6
    error_directory /usr/share/squid/errors/Portuguese
    coredump_dir /var/spool/squid

    espero que te ajude amigão! abraços!

  4. #4

    Padrão

    Blz galera!!! vlw mesmo pela ajuda tirei o proxy tranparent... tipo como sou muuuuiiito leigo eu reinstalei meu squid.conf e o erro que esta dando agora..


    http_port 3128
    visible_hostname kurumin

    # Configuramaximum_object_size_in_memory 64 KB
    maximum_object_size 512 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95
    cache_dir ufs /var/spool/squid 2048 16 256

    # Localiza
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    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

    # Libera acessos na hora do almoo
    acl almoco time 12:00-14:00
    http_access allow almoco

    # Filtros por palavras e por dominios
    acl proibidos dstdom_regex "/etc/squid/proibidos"
    http_access deny proibidos
    acl bloqueados dstdomain orkut.com www.orkut.com playboy.abril.com.br
    http_access deny bloqueados

    Autenticauth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
    acl autenticados proxy_auth REQUIRED
    http_access allow autenticados

    # Libera para a rede local
    acl redelocal src 192.168.0.0/24
    http_access allow localhost
    http_access allow redelocal

    # Bloqueia acessos externos
    http_access deny all

    # Proxy transparente
    #httpd_accel_host virtual
    #httpd_accel_port 80
    #httpd_accel_with_proxy on
    #httpd_accel_uses_host_header on


    root@Squid:/# etc/init.d/squid restart
    Restarting Squid HTTP proxy: squid2008/01/15 17:28:48| parseConfigFile: line 51 unrecognized: 'Autenticauth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd'
    2008/01/15 17:28:48| Invalid Proxy Auth ACL 'acl autenticados proxy_auth REQUIRED' because no authentication schemes are fully configured.
    FATAL: Bungled squid.conf line 52: acl autenticados proxy_auth REQUIRED
    Squid Cache (Version 2.6.STABLE5): Terminated abnormally.
    failed!

  5. #5

    Padrão

    como vc os usuários de http são adicionados no seu server? através de shell?

    adduser fulano
    smbpasswd -a fulano

    esse tipo de coisa?