Squid autenticado não esta funcionando

1. Squid autenticado não esta funcionando

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 12/12/2011 - 23:13h

Bom pessoal, estou configurando proxy autenticado no squid.conf, coloquei o ip do proxy:porta no IE e Firefox, mas o navegador não recebe tela de autenticação.

Testando no Slackware e Debian
Squid 3.1.16

Instalação
$./configure --prefix=/usr/local/squid \
--enable-err-Portuguese=lang \
--mandir=/usr/share/man \
--enable-auth="basic,digest,ntlm" \
--enable-removal-policies="lru,heap" \
--enable-digest-auth-helpers="password" \
--enable-basic-auth-helpers="getpwnam,YP,NCSA,MSNT" \
--enable-external-acl-helpers="ip_user,unix_group,wbinfo_group" \
--enable-ntlm-auth-helpers="fakeauth,no_check" \
--enable-removal-policies \
--enable-linux-netfilter \
--enable-ident-lookups \
--enable-useragent-log \
--enable-cache-digests \
--enable-delay-pools \
--enable-referer-log \
--enable-underscores \
--enable-async-io \
--enable-truncate \
--enable-arp-acl \
--with-pthreads \
--enable-icmp \
--enable-htcp \
--enable-carp \
--enable-poll \
--enable-snmp \
--enable-wccp \
--enable-ssl
$make
#make install

Como pode ver coloquei para ser instalado o squid em /usr/local/squid e o ncsa_auth ficou localizado em /usr/local/squid/libexec/
squid.conf

#autenticação dos usuários para acesso
auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/passwd
auth_param basic children 5
auth_param basic realm Digite seu login SAITAM
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl autenticados proxy_auth REQUIRED
http_port 192.168.1.103:3128
visible_hostname saitam

cache_mem 64 MB
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
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl manager proto cache_object
acl localhost src 127.0.0.1
acl redelocal src 192.168.1.0/24
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 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 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl SSL_ports port 443 563

##ACLS
acl sitesbloqueados url_regex -i "/usr/local/squid/dominiosbloqueados"
acl palavrasproibidas url_regex -i "/usr/local/squid/palavrasproibidas"
acl sitespermitidos url_regex -i "/usr/local/squid/dominiospermitidos"
acl redelocal src 192.168.1.0/24
#ACL para bloquear skype
acl acl_url_im_skype url_regex ^((0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})\.){3}(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5][3-9][0-9]{0,1})(:|/|$\?)

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

##Controle de acesso
http_access deny autenticados sitesbloqueados palavrasproibidas
http_access deny autenticados CONNECT acl_url_im_skype
http_access allow autenticados sitespermitidos
http_access allow localhost
http_access allow redelocal
http_access deny all
error_directory /usr/share/squid/errors/pt-br

#Determina de quanto tempo em quanto tempo será limpo o cache
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320



criado arquivo /usr/local/squid/passwd
#touch /usr/local/squid/passwd
criei o usuário de acesso
#htpasswd -b /usr/local/squid/passwd usuario1 senha1

Problema:
Mesmo setando o ip:porta no navegador IE e Firefox não recebe autenticação.

Então em qual etapa estou errando ?

Grato pela atenção!


  


2. Re: Squid autenticado não esta funcionando

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 13/12/2011 - 10:03h

Retire a acl "redelocal" na linha do http_access. Vc liberou a rede toda antes da autenticação.


3. Re: Squid autenticado não esta funcionando

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 14/12/2011 - 22:40h

Renato, fiz alteração removendo 'redelocal' da http_access e coloquei ACL autenticados como primeiro.
Assim segue o squid.conf

#autenticação dos usuários para acesso
auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/passwd
auth_param basic children 5
auth_param basic realm Digite seu login SAITAM
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl autenticados proxy_auth REQUIRED
http_port 192.168.1.103:3128
visible_hostname saitam

cache_mem 64 MB
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
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl manager proto cache_object
acl localhost src 127.0.0.1
acl redelocal src 192.168.1.0/24
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 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 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl SSL_ports port 443 563

##ACLS
acl sitesbloqueados url_regex -i "/usr/local/squid/dominiosbloqueados"
acl palavrasproibidas url_regex -i "/usr/local/squid/palavrasproibidas"
acl sitespermitidos url_regex -i "/usr/local/squid/dominiospermitidos"
acl redelocal src 192.168.1.0/24
#ACL para bloquear skype
acl acl_url_im_skype url_regex ^((0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})\.){3}(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5][3-9][0-9]{0,1})(:|/|$\?)

##Controle de acesso
http_access allow autenticados
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 autenticados sitesbloqueados palavrasproibidas
http_access deny autenticados CONNECT acl_url_im_skype
http_access allow autenticados sitespermitidos
http_access deny all
error_directory /usr/share/squid/errors/pt-br

#Determina de quanto tempo em quanto tempo será limpo o cache
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320


script para iniciar/parar/reiniciar o squid (usado no Slackware e Debian)

#!/bin/sh
# Start/stop/restart/reload the Squid Internet Object Cache (squid)
# To make Squid start automatically at boot, make this
# file executable: Slackware: chmod 755 /etc/rc.d/rc.squid
# file executable: Debian: chmod 755 /etc/init.d/rc.squid
# Written for Slackware Linux by Erik Jan Tromp
# Modified by David Somero
SQUIDCFG=/usr/local/squid/etc/squid.conf
SQUIDCMD=/usr/sbin/squid
if [ ! -r $SQUIDCFG ]; then
echo "Please set the correct path to $SQUIDCFG"
exit 1
fi
if [ ! -x $SQUIDCMD ]; then
echo "$SQUIDCMD not found"
exit 1
fi
squid_start() {
# Create cache directory hierarchy if needed
ALL_DIRS=$(awk '/^cache_dir/ {print $3}' $SQUIDCFG)
[ -z "$ALL_DIRS" ] && ALL_DIRS=/var/cache/squid
for CACHE_DIR in $ALL_DIRS ; do
if [ ! -d $CACHE_DIR/00 ] ; then
echo "Creating swap directories: $SQUIDCMD -z"
$SQUIDCMD -z 2> /dev/null
break
fi
done
echo "Starting Squid: $SQUIDCMD -F"
$SQUIDCMD -F
}
squid_stop() {
COUNTDOWN=$(awk '/^shutdown_lifetime/ {print $2}' $SQUIDCFG)
[ -z "$COUNTDOWN" ] && COUNTDOWN=30
echo -n "Shutting down Squid in $COUNTDOWN seconds: "
$SQUIDCMD -k shutdown 2> /dev/null
while $SQUIDCMD -k check 2> /dev/null ; do
sleep 1
echo -n .
COUNTDOWN=$[ $COUNTDOWN - 1 ]
if [ $COUNTDOWN -le 0 ] ; then
$SQUIDCMD -k interrupt 2> /dev/null
sleep 1
break
fi
done
echo
}
squid_restart() {
squid_stop
sleep 1
squid_start
}
squid_reload() {
$SQUIDCMD -k reconfigure 2> /dev/null
}
case "$1" in
'start')
squid_start
;;
'stop')
squid_stop
;;
'restart')
squid_restart
;;
'reload')
squid_reload
;;
*)
echo "usage: $0 start|stop|restart|reload"
esac



Na estação coloquei o ip:porta nos navegadores IE e Firefox, mas mesmo assim o navegador não esta pedindo autenticação.
Detalhe que notei:
No IE a navegação fica livre e no Firefox não acessa nenhum site informando página de erro padrão -'seu navegador foi configurado para usar proxy' (coloquei o ip:porta no navegador)
Testei com http:192.168.1.103:3128 e apareceu mesma mensagem.

Então o que há de errado ?

Grato pela atenção!



4. Re: Squid autenticado não esta funcionando

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 15/12/2011 - 10:22h

Tente remover essa linha:


http_access allow autenticados


E reinicie o squid. Se ainda não funcionar, tente executar o seu squid dessa forma:


squid -NCd1


E tb analise os logs para alguma pista.


5. Re: Squid autenticado não esta funcionando

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 15/12/2011 - 22:33h

Ao executar squid -NCd1
apareceu as linhas gerais, mas apenas mostrarei o final
"FATAL: Cannot OPEN '/var/log/squid/access.log' because the parent directory does not exist. Please create the o directory"

criei o diretorio /var/log/squid e o arquivo /var/log/squid/access.log
#mkdir /var/log/squid
#touch /var/log/squid/access.log

executei novamente squid -NCd1

e nova mensagem
"FATAL: Cannot open '/var/log/squid/access.log' for writing. The parent directory must be writeable by the user 'nobody', which is the cache_effective_user set in squid.conf"

setei permissão de escrita no arquivo /var/log/squid/access.log

executei novamente squid -NCd1
apenas apareceu as linhas gerais do squid


Testei na estação, ao abrir o navegador firefox não pediu autenticação, só quando acessei um site e pediu autenticação, digitei o user/passwd do proxy, testei com um site que esta no arquivo de bloqueio (orkut por ex) e não bloqueou.


Agora o log em #tail -f /var/log/squid/access.log esta gerando incluindo o IP, usuário, site.

Perguntas:
1. A autenticação é solicitada quando o navegador é aberto ou quando for acessar um site no primeiro acesso ?
2. Qual ACL esta liberando acesso o site que não deveria ?
3. Toda vez que o navegador é fechado, e aberto novamente deve solicitar autenticação ? Em qual caso do item 1?
EDIT...
Fiz mais testes e agora não acessa nenhum site (fica carregando)
log só gerou no primeiro instante, e agora nenhum porque não acessa nenhum site (fica carregando em loop)

PS: ping estação - servidor e vice-versa OK
ping estação - www.google.com.br (qq outro site) OK
ping servidor - www.google.com.br (qq outro site) OK


Então o problema esta em alguma ACL, mas qual ?

Grato pela atenção


6. Re: Squid autenticado não esta funcionando

Diego Marin
diegobnx

(usa Debian)

Enviado em 16/12/2011 - 08:13h

Vamos ver se consigo te ajudar...

Perguntas:
1. A autenticação é solicitada quando o navegador é aberto ou quando for acessar um site no primeiro acesso ?
R.: Se você usar about:blank não vai pedir autenticação porque ele não enviou nenhum pacote ou seja é como se vc tivesse aberto Meus Documentos, apartir do momento que vc abrir o site ai sim ele vai tentar sair para internet e parar no proxy.

2. Qual ACL esta liberando acesso o site que não deveria ?
R.: Vou te dar uma ideia melhor, pra você não se confundir crie outras acls de authenticação como grupos ex.:

acl grupo_liberado proxy_auth "/etc/squid/grupos/usuarios_liberados"
acl grupo_limitado proxy_auth "/etc/squid/grupos/usuarios_limitados"

ai é só ir adicionando os nomes de usuários que se encaixam nos grupos.

melhora até a organização do seu squid.conf, a acl autenticados voce abre ela no começo do arquivo e fecha no final das permissões... assim você não se perde.

3. Toda vez que o navegador é fechado, e aberto novamente deve solicitar autenticação ? Em qual caso do item 1?
EDIT...
R.: Sim, todas as vezes que fechar e abrir novamente vai pedir auth a não ser que você grave a senha no navegador ai é só remover os cookies, cache etc...

"Fiz mais testes e agora não acessa nenhum site (fica carregando)
log só gerou no primeiro instante, e agora nenhum porque não acessa nenhum site (fica carregando em loop)"

tente usar a opção de grupos vc não vai se arrepender, muito mais facil...

t+ abraxx.



7. Re: Squid autenticado não esta funcionando

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 16/12/2011 - 09:52h

O @diegobnx disse algumas coisas interessantes. Siga o q ele sugeriu, reorganize o seu squid.conf, fazendo ACL's d autenticação para cada grupo d usuários.


8. Re: Squid autenticado não esta funcionando

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 19/12/2011 - 08:59h

primeiramente obrigado pelo help e dicas, fiz as alterações sugeridas e funcionou a autenticação.

segue o squid.conf

#autenticação dos usuários para acesso proxy
auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/passwd
auth_param basic children 5
auth_param basic realm Digite seu login SAITAM
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl autenticados proxy_auth REQUIRED
http_port 192.168.1.103:3128
visible_hostname saitam

cache_mem 256 MB
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
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl manager proto cache_object
acl localhost src 127.0.0.1
acl redelocal src 192.168.1.0/24
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 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 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl SSL_ports port 443 563

##ACLS
#criando grupos de usuários com acesso livre e restrito
acl grupo_liberado proxy_auth "/usr/local/squid/usuarios_liberados"
acl grupo_limitado proxy_auth "/usr/local/squid/usuarios_limitados"

#criação das regras acls dos sites, palavras proibidas, e sitespermitidos
acl sitesbloqueados url_regex -i "/usr/local/squid/dominiosbloqueados"
acl palavrasproibidas url_regex -i "/usr/local/squid/palavrasproibidas"
acl sitespermitidos url_regex -i "/usr/local/squid/dominiospermitidos"
#ACL para bloquear skype
acl acl_url_im_skype url_regex ^((0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})\.){3}(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5][3-9][0-9]{0,1})(:|/|$\?)

##Controle de acesso
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 sitesbloqueados
http_access deny palavrasproibidas
http_access deny deny CONNECT acl_url_im_skype
http_access allow autenticados grupo_limitado !sitesbloqueados !palavrasproibidas !acl_url_im_skype sitespermitidos
http_access allow autenticados grupo_liberado sitesbloqueados palavrasproibidas acl_url_im_skype
http_access deny all
error_directory /usr/share/squid/errors/pt-br


Antes tinha feito dessa forma a acl

http_access deny sitesbloqueados palavrasproibidas acl_url_im_skype grupo_limitado
#pensei assim: bloqueia sitesbloqueados,palavrasproibidas,skype apenas para grupo_limitado, mas a autenticação estava bloqueando o acesso, e apenas permitia o acesso do grupo_liberado.
http_access allow autenticados grupo_limitado
http_access allow autenticados grupo_liberado

Então, analisei e apliquei as regras de outra forma e resolveu.

Caso, tenha como melhorar as acls do squid, favor posta ae.

Grato pela atenção


9. SQUID não funciona transparente?

Geovane J.Silva
gigio

(usa Debian)

Enviado em 19/12/2011 - 10:05h

Olá pessoal, bom dia!
Sou novo no linux e estou com um probleminha. Meu proxy squid esta funcionando normalmente, só que o proxy transparente não funciona. Se eu colocar o código aqui, alguém poderia me mostrar aonde estou pecando?
Grato.


# Arquivo de configuracao do
# Implementado pelo Departamento de TI
# Responsavel - Geovane
# Data: 22/09/2011

# COMANDO PARA TRANSFORMAR O PROXY NUM TRASPARET PROXY
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

# Configuracoes iniciais - porta - noma do server na rede - e-amiol do admin
# http_port 3128 # ESSE COMANDO E SUBSTITUIDO PELO ABAIXO PARA QUE O PROXY FIQUE TRASPARENTE
http_port 3128 transparent

visible_hostname SRV-WEB
cache_mgr apae-suporte@uol.com.br

# Dados dos caches do sistema e arquivos de log
cache_mem 256 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 512 MB
minimum_object_size 1 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_log /var/log/squid/store.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 20% 2280
refresh_pattern . 15 20% 2280
logfile_rotate 10
icp_port 0
#icp_port 3130
#cache_dir ufs /var/cache/squid 300 32 512
#cache_access_log /etc/squid/access.log

# Declaracao para bloquear enderecos digitados por dominio (Ex.: www.orkut.com)
acl sites-bloqueados url_regex -i "/etc/squid/sites_bloqueados.txt"
# O arquivo sites_bloqueados tem de estar criado no diretorio informado e com um site por linha
http_access deny sites-bloqueados

# Bloqueando aqui por dominios digitados a partir de uma palavra proibida
acl palavrasproibidas dstdom_regex "/etc/squid/palavras.txt"
# No arquivo devera existir uma palavra por linha e precisa estudar bem quais palavras
# serao incluidas, pois pode haver problemas futuros (Ex.: a palavra teen pode ser usada em
# um site de pornografia, mas tambem em um site com conteudo para adolescentes)
http_access deny palavrasproibidas

# Criando regra para liberar acesso irrestrito em qualquer site/dominio
acl administradores src 192.168.1.185 192.168.1.210
http_access allow administradores

# Bloqueando o Youtube em micros especificos
#acl bloq_youtube url_regex "/etc/squid/bloq_especial.txt"
#acl maquinas_bloqueadas url_regex "/etc/squid/maquinas.txt"
#http_access deny bloq_youtube

# Criando uma regra para liberar o acesso na hora do almoco
# acl almoco MTWHF 11:50-13:30
# http_access allow all !almoco #TAI - VAMOS TER DE ESTUDAR ISSO MELHOR... RSRSRS

acl all src all
acl manager proto cache_object
acl localhost src 192.168.1.216
acl to_localhost dst 192.168.1.217/8
acl rede_local src 192.168.1.0/24

# Portas cofiaveis e de aplicativos especificas liberadas e devidamente identificadas
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
#acl PROXY_AUTOMATICO src 192.168.1.1-192.168.1.216/192.168.1.0

# Permissoes especificas e negacoes/bloqueios especificos
http_access allow localhost
http_access allow rede_local
http_access deny all

icp_access allow rede_local
icp_access deny all



10. Re: Squid autenticado não esta funcionando

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 19/12/2011 - 10:16h

@gigio seria melhor abrir outro tópico para o seu caso, e assim não haver confusão com outros que for ler esse tópico.

Respondendo sua dúvida
Proxy transparente e autenticado não funcionam juntos, apenas separado, transparente OU autenticado.

transparente: não precisa configurar no navegador
apenas essa regra iptables é necessário:
iptables -t nat -A PREROUTING -i $ifaceInterna -p tcp --dport 80 -j REDIRECT --to-port 3128 

Substitua $ifaceInterna pela interface de rede interna (intranet).

autenticado: precisa configurar no navegador em cada máquina na estação


11. Re: Squid autenticado não esta funcionando

Geovane J.Silva
gigio

(usa Debian)

Enviado em 19/12/2011 - 11:16h

@saitam
Fico muito grato pela sua resposta.
Ja tentei criar um tópico mas infelizmente ninguém respondeu.
Obrigado pela sua ajuda.


12. Re: Squid autenticado não esta funcionando

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 19/12/2011 - 19:51h

primeiramente obrigado @renato_pacheco, @diegobnx pelo help e dicas, fiz as alterações sugeridas e funcionou a autenticação.

segue o squid.conf

#autenticação dos usuários para acesso proxy
auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/passwd
auth_param basic children 5
auth_param basic realm Digite seu login SAITAM
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl autenticados proxy_auth REQUIRED
http_port 192.168.1.103:3128
visible_hostname saitam

cache_mem 256 MB
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
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl manager proto cache_object
acl localhost src 127.0.0.1
acl redelocal src 192.168.1.0/24
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 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 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl SSL_ports port 443 563

##ACLS
#criando grupos de usuários com acesso livre e restrito
acl grupo_liberado proxy_auth "/usr/local/squid/usuarios_liberados"
acl grupo_limitado proxy_auth "/usr/local/squid/usuarios_limitados"

#criação das regras acls dos sites, palavras proibidas, e sitespermitidos
acl sitesbloqueados url_regex -i "/usr/local/squid/dominiosbloqueados"
acl palavrasproibidas url_regex -i "/usr/local/squid/palavrasproibidas"
acl sitespermitidos url_regex -i "/usr/local/squid/dominiospermitidos"
#ACL para bloquear skype
acl acl_url_im_skype url_regex ^((0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5]|[3-9][0-9]{0,1})\.){3}(0|1[0-9]{0,2}|2[0-9]{0,1}|2[0-4][0-9]|25[0-5][3-9][0-9]{0,1})(:|/|$\?)

##Controle de acesso
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 sitesbloqueados
http_access deny palavrasproibidas
http_access deny deny CONNECT acl_url_im_skype
http_access allow autenticados grupo_limitado !sitesbloqueados !palavrasproibidas !acl_url_im_skype sitespermitidos
http_access allow autenticados grupo_liberado sitesbloqueados palavrasproibidas acl_url_im_skype
http_access deny all
error_directory /usr/share/squid/errors/pt-br


Antes tinha feito dessa forma a acl

http_access deny sitesbloqueados palavrasproibidas acl_url_im_skype grupo_limitado
#pensei assim: bloqueia sitesbloqueados,palavrasproibidas,skype apenas para grupo_limitado, mas a autenticação estava bloqueando o acesso, e apenas permitia o acesso do grupo_liberado.
http_access allow autenticados grupo_limitado
http_access allow autenticados grupo_liberado

Então, analisei e apliquei as regras de outra forma e resolveu parcialmente.
O grupo de usuários restritos esta OK, mas o grupo de usuários livre não acessa os sites bloqueados.

@renato_pacheco , @diegobnx
Caso, tenha como melhorar as acls do squid, favor posta ae.

Grato pela atenção



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts