Novato com squid = BOMBA rs! Preciso de ajuda !
Amigos,
Preciso da ajuda de vocês,
Estou configurando o squid de um cliente e tenho o seguinte panorama aqui.
O cliente necessita de autenticação por NCSA para poder controlar o acesso pro usuários.
Não sabia nada de squid até 2 semanas atras, na verdade mal sabia algo sobre linux rs.
Estou estudando, ja domingo as ACLs, entendo ja o esquema das coisas. Porem estou com um probleminha.
Apos consegui fazer o squid funcionar direitinho fui implementar a autenticação.
Fiquei super feliz ao ver a tela de autenticação aparecer no firefox.
Porem não consigo autenticar com nenhum usuário que criei com o HTPASSWD
dei chmod 777 em todos arquivos relacionados para ver se eu nao tinha mordido a boca na hora de configurar as permissões.
vou postar aqui o squid.conf
##########################################################
http_port 3128
# a porta que o squid usa, 3128 éadrãvisible_hostname proxy # proxy éome do micro na rede
visible_hostname servertest
#nome do servidor
ftp_user [email protected] #usuáo anôo para ftp (indiferente)
######### para quem nãsabe, cache é armazenamento das pánas
# CACHE # abertas pelos usuáos, afim de acelerar uma nova visita,
######### aumenta consideravelmente a velocidade de navegaç
cache_mem 64 MB
# quantidade da cache usada na memó ram,
############## recomendo o uso de 1/4 da memó disponÃl
############## a nãser, que o micro seja utilizado para outras
############## funçs.
#autenticaç de usuáo
auth_param basic children 15
auth_param basic realm ENTRE COM SEU LOGIN E SENHA, ESTE SERVIÃO ÃUM PRIVILÃIO E NÃ UM DIREITO, PORTANTO USE-O COM RESPONSABILIDADE
auth_param basic credentialsttl 2 hours
auth_param basic program /usr/bin/ncsa_auth /etc/squid/passwd
maximum_object_size_in_memory 64 KB
maximum_object_size 700 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
#Cache#
cache_dir ufs /var/spool/squid 5000 16 256
refresh_pattern ^ftp: 15 2% 2280
refresh_pattern ^gother: 15 0% 2280
refresh_pattern . 15 20% 2280
cache_effective_user squid
########
# LOGS #
########
cache_access_log /var/log/squid/access.log
#########
# ACLs ##
#########
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl Safe_ports port 901
acl CONNECT method CONNECT
#http_access allow manager localhost
#http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
# A acl redelocal, são demais micros, que terãa navegaç restrita
# ajuste-a conforme a sua classe, se usa IPs 192, altere para 192.168.0.0/24
# O "/24" significa máara 255.255.255.0
acl redelocal src 10.0.0.0/24
# Abaixo vem a indicação para o arquivo que conterás palavras
# que não poderão conter nos sites que os usuáos visitar.
# No arquivo exceçoes, haverão palavras que que anulam a proibição
# com por exemplo sexoesaude.
#AUTENTICAÃO
acl password proxy_auth required
#acl que controla o acesso por usuáos
acl restrito proxy_auth "/etc/squid/restrito"
acl total proxy_auth "/etc/squid/acetotal"
acl proibidos url_regex "/etc/squid/proibidos"
acl excecoes url_regex "/etc/squid/excecoes"
# As ACLs a seguir, bloqueiam downloads pelas extensõdos arquivos.
# vocêdicionar novas extensõda mesma forma.
acl exe url_regex -i .exe
acl zip url_regex -i .zip
acl rar url_regex -i .rar
acl scr url_regex -i .scr
acl msi url_regex -i .msi
acl wmv url_regex -i .wmv
acl pif url_regex -i .pif
acl avi url_regex -i .avi
#acl para liberar o programa da Caixa
acl Safe_ports port 2631
http_access deny exe !excecoes
http_access deny zip !excecoes
http_access deny rar !excecoes
http_access deny scr !excecoes
http_access deny msi !excecoes
http_access deny wmv !excecoes
http_access deny pif !excecoes
http_access deny avi !excecoes
http_access allow total
http_access allow Safe_ports
http_access allow redelocal
http_access deny password proibidos !excecoes
http_access allow password excecoes
http_access deny password restrito !total
http_access deny password proibidos
http_access deny all
# O Proxy transparente estáomentado pois comigo nãfuncionou,
#mas se alguéquiser utilizar éóscomentar
#######################
# PROXY TRANSPARENTE ##
#######################
#httpd_accel_host virtual
#httpd_accel_port 80
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on
##########################################################
e o squid.out
##########################################################
2006/10/16 17:55:26| Squid is already running! Process ID 3937
2006/10/16 18:28:30| ACL name 'permitidos' not defined!
FATAL: Bungled squid.conf line 123: http_access allow permitidos
Squid Cache (Version 2.5.STABLE6): Terminated abnormally.
2006/10/16 18:28:30| ACL name 'permitidos' not defined!
FATAL: Bungled squid.conf line 123: http_access allow permitidos
Squid Cache (Version 2.5.STABLE6): Terminated abnormally.
2006/10/16 18:35:25| ACL name 'permitidos' not defined!
FATAL: Bungled squid.conf line 123: http_access allow permitidos
Squid Cache (Version 2.5.STABLE6): Terminated abnormally.
2006/10/16 18:35:25| ACL name 'permitidos' not defined!
FATAL: Bungled squid.conf line 123: http_access allow permitidos
Squid Cache (Version 2.5.STABLE6): Terminated abnormally.
2006/10/17 08:25:38| Squid is already running! Process ID 6031
###########################################################
alguem de voces sabem o que pode estar ocorrendo ?
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
certo rufino,
Mas e os logs do squid? O que os mesmos te dizem?
post seu /var/log/squid/access.log
e mais uma coisa rufino,
tente trocar a linha referente a autenticação:
de
#AUTENTICAÃO
acl password proxy_auth required
para
#AUTENTICAÃO
acl password proxy_auth
"/etc/squid/usuarios" #ou onde seu arquivo de usuários estiver
e depois
htpasswd -c /etc/squid/passwd MAJOR #Caso não seja o primeiro usuario, descarte a opção -c
passwd MAJOR
New password:
Re-type new password:
Adding password for user MAJOR
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
Oi major!
eu tava postando justamente isso aqui agora.
vou fazer as alterações que voce me sugeriu e ja te posto
1161102934.254 6 127.0.0.1 TCP_DENIED/407 1677 GET http://www.uol.com.br/ - NONE/- text/html
1161102938.553 441 127.0.0.1 TCP_DENIED/407 1677 GET http://www.uol.com.br/ neto NONE/- text/html
1161102941.333 30 127.0.0.1 TCP_DENIED/407 1677 GET http://www.uol.com.br/ neto NONE/- text/html
1161102946.606 990 127.0.0.1 TCP_DENIED/407 1677 GET http://www.uol.com.br/ neto NONE/- text/html
1161102952.489 904 127.0.0.1 TCP_DENIED/407 1677 GET http://www.uol.com.br/ teste NONE/- text/html
1161102958.320 231 127.0.0.1 TCP_DENIED/407 1677 GET http://www.uol.com.br/ rosalvo NONE/- text/html
1161103040.442 1 127.0.0.1 TCP_DENIED/407 1710 GET http://www.uol.com.br/favicon.ico - NONE/- text/html
1161103047.734 759 127.0.0.1 TCP_DENIED/407 1674 GET http://www.orkut.com/ - NONE/- text/html
1161103053.720 273 127.0.0.1 TCP_DENIED/407 1674 GET http://www.orkut.com/ teste NONE/- text/html
1161103209.736 5 127.0.0.1 TCP_DENIED/407 1674 GET http://www.orkut.com/ - NONE/- text/html
1161103214.984 260 127.0.0.1 TCP_DENIED/407 1674 GET http://www.orkut.com/ teste NONE/- text/html
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
fiz a alteração, agora navega, porem nao pede mais a autenticação rs
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
deixando com a linha dessa maneira?
acl password proxy_auth "/etc/squid/usuarios"
edite esse arquivo e coloque os usuários que vai desejar que autentiquem.
tipo,
vi /etc/squid/usuarios
MAJOR
rick
doiche
Post o log novamente.
e mais uma coisa, o seu /etc/squid/usuarios tem que ter permissão de leitura para o usuário que está rodando o squid.
e você tem que mudar a seguinte linha tambem:
auth_param basic program /usr/bin/ncsa_auth /etc/squid/passwd
os usuários que existem no /etc/squid/passwd devem existir tambem no /etc/squid/usuarios
veja se resolve.
fico no aguardo.
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
amigão ! bom dia !
continua sem pedir autenticação...
estranho né ?
vc teria um squid.conf ai pronto para eu testar aqui?
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
fala Rufino...
seguinte, eu estava com o mesmo problema aki na empresa, porem eh uma empresa grande, entaum possuo alguns servidores, dentre eles um Server 2000, para autenticaçao de usuarios na rede e gerenciamento de banco de dados para sistemas especificos...
diante dessa dificuldade, e como tinha pouko tempo para colocar meu proxy no ar devido algumas mudanças aki, resolvi fazer ele utilizar a lista do meu PDC, estah funcionando q eh uma maravilha, naum tive mais problemas depois disso, uso o Conectiva 10 com o squid 2.5... caso possua um PDC ai na empresa entre em contato comigo q eu te passo meu squid.conf para poder te ajudar...
[email protected]
teh mais galera
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
Citação:
Postado originalmente por wzaleski
fala Rufino...
seguinte, eu estava com o mesmo problema aki na empresa, porem eh uma empresa grande, entaum possuo alguns servidores, dentre eles um Server 2000, para autenticaçao de usuarios na rede e gerenciamento de banco de dados para sistemas especificos...
diante dessa dificuldade, e como tinha pouko tempo para colocar meu proxy no ar devido algumas mudanças aki, resolvi fazer ele utilizar a lista do meu PDC, estah funcionando q eh uma maravilha, naum tive mais problemas depois disso, uso o Conectiva 10 com o squid 2.5... caso possua um PDC ai na empresa entre em contato comigo q eu te passo meu squid.conf para poder te ajudar...
[email protected]
teh mais galera
Oi zaleski!
Tudo bem ?
Cara temos sim um PDC,
vc fez usando Samba ou AD?
gostaria muito de ver seu squid.conf
obrigado !!!
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
primeiramente vamos configurar o servidor PDC para o Squid possa obter a lista do AD.
- crie um arquivo com txt com o nome proxyauth no compartilhamento netlogon
- dentro desse arquivo escreva apenas allow, salve o arquivo
obs.: muito importante, renomeie o arquivo para tirar a extensao .txt, deixe sem extençao, o arquivo tem q estar soh como proxyauth, caso contrario o smb_auth nao reconhece o arquivo.
- validar o smb_auth
* no shel digite <caminho_do_smb_auth> -W <nome_servidor_PDC> -U <ip_servidor_PDC>
* entre com o usuario administrador do PDC e a senha, uma msg de exito devera aparecer
- direcione todas as requisiçoes da posrta 80 para a porta 3128 para q o squid gerencie os acessos:
># iptables -t nat -A PREROUTING -i (interface_de_rede) -p tcp --dport 80 -j REDIRECT --to-port 3128
apos feito isso e alterado o arquivo squid.conf inicie o squid e td estara funcionando
obs.: sugiro q crie regras de piliticas de grupo para os grupos do PDC, dessa maneira qd o usuario logar o PDC automaticamente jogara o endereço do servidor proxy para a estaçao, assim nao se faz necessario colocar o endereço proxy manualmente em cada estaçao da empresa. isso pq o proxy transparente nao funciona com a autenticaçao.
caso necessite de alguma ajuda para entender algo q nao ficou claro estarei a disposiçao aki no forum. espero ter ajudado.
" LINUX -> LIVE FREE OR DIE "
#squid.conf
http_port 3128
visible_hostname MORPHEU
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 64 MB
maximum_object_size 16 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB
ipcache_size 4096
ipcache_low 90
ipcache_high 95
cache_dir ufs /var/cache/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
hosts_file /etc/hosts
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
request_body_max_size 0 MB
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 10.0.0.0/24
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 # 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 CONNECT method CONNECT
# regra para bloquear sites
acl bloqueados url_regex -i "/etc/squid/bloqueados.txt"
http_access deny bloqueados
# todos os sites q estao dentro desse arquivo sao liberados sem autenticação (utilizei para acessar a intranet da empresa, assim o usuario
# nao necessitaria utilizar login e senha toda vez q fosse acessar
acl intranet url_regex -i "/etc/squid/intranet.txt"
http_access allow intranet
# nesse caso utilizei uma regra de axcessao para que certas maquinas nao necessitem de autenticaçao
acl excessao src 10.x.x.x 10.x.x.x
http_access allow excessao
# aki esta os camando q farao a autenticaçao com o PDC
auth_param basic program /usr/lib/squid/smb_auth -W <nome_servidor_PDC> -U <ip_servidor_PDC>
# uso o CL10, o responsavel pela autenticaçao eh o smb_auth
# caso utilize outra distro verificar o caminho do arquivo
auth_param basic children 5
auth_param basic realm Digite seu Login
auth_param basic credentialsttl 1 minute # caso o ususrio naum digite seu login em 1 minuto a sessão expira
acl usuarios proxy_auth REQUIRED
authenticate_ip_ttl 10 minutes # aki eh para pegar os espertinhos, como possuo mts usuarios no PDC, e em grupos diferentes, na maioria
# com acesso restrito, poukos com acesso total, criei essa regra para q os usuarios naum emprestem
# sua senha para quem naum tem acesso, entaum qd ele acessa de algum terminal, soh podera acessar de outro
# 10 minutos depois. para outro controle de acesso utilizo o gerador de relatorios SARG
# regra onde estah a lista com todos os usuarios q possuem acesso restrito, bem como a relaçao de sites q sao permitidos a esse grupo
acl userrestrito proxy_auth user_regex -i "/etc/squid/userrestrito.txt"
acl sitesrestritos url_regex -i "/etc/squid/sitesrestritos.txt"
# detalhe q para os usuarios q possuem acesso total naum eh necessaria nenhuma regra
# regra para anular q o usuario fique preso a estaçao durante os 10 minutos, todos os usuarios q estao nesse arquivo nao sao controlados
# por akela regra
acl useradm proxy_auth user_regex -i "/etc/squid/adm.txt"
# regra parecida com a dos userrestrito citada acima
acl userespecifico proxy_auth user_regex -i "/etc/squid/userespecifico.txt"
acl siteespecifico url_regex -i "/etc/squid/siteespecifico.txt"
http_access deny limitarlogin usuarios !useradm
http_access deny userespecifico !siteespecifico
http_access deny userrestrito !sitesrestritos
# fazer a autenticaçao
http_access allow usuarios
httpd_accel_port 80
httpd_accel_with_proxy on
# daki para baixo nao eh necessaria nenhuma modificaçao, jah sao regras default do squid.conf
httpd_accel_uses_host_header on
http_access allow all
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_reply_access allow all
icp_access allow all
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /var/cache/squid
httpd_accel_host virtual
Re: Novato com squid = BOMBA rs! Preciso de ajuda !
Muito obrigado meu amigo ! vou implementar assim, parece bem melhor de controlar !