[Resolvido] Problemas com squid.conf

Iniciado por newrog, 30 de Março de 2013, 13:42

tópico anterior - próximo tópico

newrog

Consegui configurar o proxy da maneira desejada com autenticação por grupos, porém está bloqueando todos os usuários.

Os usuários conectam só que não conseguem acessar nenhum site, até os que estão nos arquivos de liberação ficam bloqueados.

Se puderem me ajudar informando onde que errei no meu .conf

segue abaixo.


###############################################################

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

############## REDE LOCAL #########################
### Aqui ele libera a rede 192.168.10.0/24 para se conectar ao squid ####
acl localnet src 192.168.10.0/32
## Na linha a baixo, ficarao os ips que poderao
## Navegar sem passar pelo proxy
acl ips_sem_senha src 192.168.10.201

############## ACL PORTAS ##############
#acl all src 0.0.0.0/0.0.0.0
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 Safe_ports port 5000 ### VPN
acl CONNECT method CONNECT

############ ACL AUTENTICAÇÃO #################
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
## Nesta linha abaixo, vc ira informar qual mensagem ira aparecer
## Para o usuario, quando ele abrir o navegador
auth_param basic realm | Proxy SAITO - Entre com seu usuario e senha |
auth_param basic credentialsttl 10 hours
auth_param basic children 20
auth_param basic casesensitive off

################# ACL DE GRUPOS ##################
acl cobranca proxy_auth "/etc/squid3/grupos/cobranca.txt"
acl comercial proxy_auth "/etc/squid3/grupos/comercial.txt"
acl faturamento proxy_auth "/etc/squid3/grupos/faturamento.txt"
acl financeiro proxy_auth "/etc/squid3/grupos/financeiro.txt"
acl fiscal proxy_auth "/etc/squid3/grupos/fiscal.txt"
acl livre proxy_auth "/etc/squid3/grupos/livre.txt"
acl recepcao proxy_auth "/etc/squid3/grupos/recepcao.txt"
acl rh proxy_auth "/etc/squid3/grupos/rh.txt"
acl gerente proxy_auth "/etc/squid3/grupos/gerente.txt"
acl frentecaixa proxy_auth "/etc/squid3/grupos/frentecaixa.txt"
acl controle proxy_auth "/etc/squid3/grupos/controle.txt"
acl marketing proxy_auth "/etc/squid3/grupos/marketing.txt"


#################### ACL's de update do Windows e Avast ######################
acl avast dstdomain avast avast.com download973.avast.com download969.avast.com
acl windows_update dstdomain download.windowsupdate.com download.microsoft.com update.microsoft.com www.update.microsoft.com:443 update.microsoft.com:443

#################### ACL Skype ######################
acl skype_80 url_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:80
acl skype_443 url_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:443
acl skype_ua browser ^skype^

########################## ALCs de SITE #######################
acl proibidos url_regex i "/etc/squid3/regras/sites_proibidos.txt"
acl sites_cobranca url_regex -i "/etc/squid3/regras/sites_liberados_cobranca.txt"
acl sites_comercial url_regex -i "/etc/squid3/regras/sites_liberados_comercial.txt"
acl sites_faturamento url_regex -i "/etc/squid3/regras/sites_liberados_faturamento.txt"
acl sites_financeiro url_regex -i "/etc/squid3/regras/sites_liberados_financeiro.txt"
acl sites_fiscal url_regex -i "/etc/squid3/regras/sites_liberados_fiscal.txt"
acl sites_livre url_regex -i "/etc/squid3/regras/sites_liberados_livre.txt"
acl sites_recepcao url_regex -i "/etc/squid3/regras/sites_liberados_recepcao.txt"
acl sites_rh url_regex -i "/etc/squid3/regras/sites_liberados_rh.txt"
acl sites_gerente url_regex -i "/etc/squid3/regras/sites_liberados_gerente.txt"
acl sites_frentecaixa url_regex -i "/etc/squid3/regras/sites_liberados_frentecaixa.txt"
acl sites_controle url_regex -i "/etc/squid3/regras/sites_liberados_controle.txt"
acl sites_marketing url_regex -i "/etc/squid3/regras/sites_liberados_marketing.txt"

######################### EXTENCOES BLOQUEADAS ############################
acl extencoes urlpath_regex -i "/etc/squid3/regras/download_extencoes.txt"

## Bloqueando navegadores ##
## acl firefox browser Firefox
## acl chrome browser Chrome
## acl opera browser Opera

hosts_file /etc/hosts


####################### BLOQUEIOS E LIBERAÇÕES ######################
acl mailserver url_regex mailserver
always_direct allow mailserver
http_access allow avast
http_access allow windows_update
http_access allow ips_sem_senha
http_access deny skype_80
http_access deny skype_443
http_access deny skype_ua

acl pass proxy_auth REQUIRED
http_access allow manager localhost localnet
http_access allow gerente livre !proibidos
http_access deny extencoes
http_access deny cobranca !sites_cobranca
http_access deny comercial !sites_comercial
http_access deny faturamento !sites_faturamento
http_access deny financeiro !sites_financeiro
http_access deny fiscal !sites_fiscal
http_access deny recepcao !sites_recepcao
http_access deny rh !sites_rh
http_access deny controle !sites_controle
http_access deny marketing !sites_marketing

http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access deny all

########################## PORTA SQUID ######################
http_port 3128
visible_hostname Servidor de Internet Saito

hierarchy_stoplist cgi-bin ?

########################## LOGS ###############################
access_log /var/log/squid3/access.log squid
cache_log /var/log/squid3/cache.log

###################### DESEMPENHO/DISCO #####################
cache_mem 512 MB
maximum_object_size_in_memory 8 KB
memory_replacement_policy lru
cache_replacement_policy lru
cache_dir ufs /var/spool/squid3 60000 16 256

####### Tamanho maximo do arquivo que ira ser armazenado em cache #####
maximum_object_size 200000 KB

icp_access allow all

############################ LIMPA CACHE ##########################
cache_swap_low 90
cache_swap_high 95

############################ ICONES ################################
icon_directory /usr/share/squid3/icons
short_icon_urls on

################### Errors configuracao ###################
error_directory /usr/share/squid3/errors/Portuguese

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320

##########Cache windowsupdate#####################
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern www.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims

###################### Cache atulizacao avira ##########################
## refresh_pattern personal.avira-update.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims

###################### Cache avast ##############################
refresh_pattern avast.com/.*\.(vpu|cab|stamp|exe) 10080 100% 43200 reload-into-ims

###########################################################################
debug_options ALL,2

icp_port 3130
coredump_dir /var/spool/squid3

############################ FIM DO ARQUIVO SQUID.CONF #####################[color=red][/color]

zekkerj

Citarhttp_access deny all
Você veio até aqui só bloqueando acessos... deny isso, deny aquilo. Aqui, vc deu o golpe final --- bloqueou tudo.

Você teria que ter liberado alguma coisa logo antes disso --- algo como "http_access allow redelocal" ou coisa parecida.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

newrog

Citação de: zekkerj online 31 de Março de 2013, 21:20
Citarhttp_access deny all
Você veio até aqui só bloqueando acessos... deny isso, deny aquilo. Aqui, vc deu o golpe final --- bloqueou tudo.

Você teria que ter liberado alguma coisa logo antes disso --- algo como "http_access allow redelocal" ou coisa parecida.

Liberei os acessos em
http_access allow manager localhost localnet


zekkerj

Não, liberou muito cedo. Inclusive, é sinal de que essa linha não está funcionando; se tivesse funcionado, todos os bloqueios teriam sido ignorados.

O Squid analisa as regras de liberação/bloqueio de forma sequencial. A primeira linha que tem suas condições atendidas é executada; nenhuma outra regra após isso é executada.

Se você coloca várias condições numa linha, a linha só é executada se todas as condições forem atendidas ("E" lógico). Essa regra não funcionou, portanto, pois nunca seria possível que um acesso fosse, ao mesmo tempo, "manager", "localhost" e "localnet".

Em tempo... essa regra foi modificada do original ("http_access allow manager localhost"). Eu te sugiro que não faça isso de novo, pois essa regra tem outro uso e significado.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

newrog

Citação de: zekkerj online 01 de Abril de 2013, 10:27
Não, liberou muito cedo. Inclusive, é sinal de que essa linha não está funcionando; se tivesse funcionado, todos os bloqueios teriam sido ignorados.

O Squid analisa as regras de liberação/bloqueio de forma sequencial. A primeira linha que tem suas condições atendidas é executada; nenhuma outra regra após isso é executada.

Se você coloca várias condições numa linha, a linha só é executada se todas as condições forem atendidas ("E" lógico). Essa regra não funcionou, portanto, pois nunca seria possível que um acesso fosse, ao mesmo tempo, "manager", "localhost" e "localnet".

Em tempo... essa regra foi modificada do original ("http_access allow manager localhost"). Eu te sugiro que não faça isso de novo, pois essa regra tem outro uso e significado.


Teria alguma idéia de como posso fazer os bloqueios por grupo de usuários autenticados ?





zekkerj

Eu tentaria usar a acl "pass", que você definiu mas não usou. Algo como

http_access deny !pass

logo antes de verificar as liberações/bloqueios específicos. Assim, você forçaria a negar acesso a quem não se autenticasse.

Mas não esqueça de liberar todos os acessos no final, pra quem tiver passado por todos os bloqueios. Afinal, se não foi bloqueado até um certo ponto, é pq foi liberado...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

newrog

Citação de: zekkerj online 01 de Abril de 2013, 10:48
Eu tentaria usar a acl "pass", que você definiu mas não usou. Algo como

http_access deny !pass

logo antes de verificar as liberações/bloqueios específicos. Assim, você forçaria a negar acesso a quem não se autenticasse.

Mas não esqueça de liberar todos os acessos no final, pra quem tiver passado por todos os bloqueios. Afinal, se não foi bloqueado até um certo ponto, é pq foi liberado...


não deu certo... bloqueia tudo.

acl pass proxy_auth REQUIRED
http_access allow manager localhost
http_access deny !pass
http_access deny cobranca !sites_cobranca
http_access deny comercial !sites_comercial
http_access deny faturamento !sites_faturamento
http_access deny financeiro !sites_financeiro
http_access deny fiscal !sites_fiscal
http_access deny recepcao !sites_recepcao
http_access deny rh !sites_rh
#http_access allow gerente livre !sites_proibidos
http_access deny marketing !sites_marketing

http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all
icp_access deny all

zekkerj

Citação de: zekkerj online 01 de Abril de 2013, 10:48
Eu tentaria usar a acl "pass", que você definiu mas não usou. Algo como

http_access deny !pass

logo antes de verificar as liberações/bloqueios específicos. Assim, você forçaria a negar acesso a quem não se autenticasse.

Mas não esqueça de liberar todos os acessos no final, pra quem tiver passado por todos os bloqueios. Afinal, se não foi bloqueado até um certo ponto, é pq foi liberado...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

newrog


Agora entendi a jogada. Veja Como ficou.

acl pass proxy_auth REQUIRED
http_access allow manager localhost
http_access deny !pass
http_access deny cobranca !sites_cobranca
http_access deny comercial !sites_comercial
http_access deny faturamento !sites_faturamento
http_access deny financeiro !sites_financeiro
http_access deny fiscal !sites_fiscal
http_access deny recepcao !sites_recepcao
http_access deny rh !sites_rh
#http_access allow gerente livre !sites_proibidos
http_access deny marketing !sites_marketing

http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow all
#icp_access deny all

newrog

#9
Deu tudo certo graças a grande ajuda do nosso amigo zekkerj.

Segue abaixo como ficou meu squid.conf caso alguém preciso.

###################### INICIO SQUID.CONF #######################
###############################################################
####################### Newmar Rogério ########################
###############################################################

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8

############## REDE LOCAL #########################
### Aqui ele libera a rede 192.168.10.0/24 para se conectar ao squid ####
acl localnet src 192.168.10.0/255.255.255.0
## Na linha a baixo, ficarao os ips que poderao
## Navegar sem passar pelo proxy
acl ips_sem_senha src 192.168.10.201

############## ACL PORTAS ##############
acl all src 0.0.0.0/0.0.0.0
acl SSL_ports port 443
acl Safe_ports port 80      # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 25          # SMTP
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 CONNECT method CONNECT

############ ACL AUTENTICAÇÃO  #################
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
## Nesta linha abaixo, vc ira informar qual mensagem ira aparecer
## Para o usuario, quando ele abrir o navegador
auth_param basic realm | Proxy SAITO - Entre com seu usuario e senha |
auth_param basic credentialsttl 1 hours
auth_param basic children 20

################# ACL DE GRUPOS ##################
acl cobranca proxy_auth   "/etc/squid3/grupos/cobranca"
acl comercial proxy_auth "/etc/squid3/grupos/comercial"
acl faturamento proxy_auth   "/etc/squid3/grupos/faturamento"
acl financeiro proxy_auth   "/etc/squid3/grupos/financeiro"
acl fiscal proxy_auth "/etc/squid3/grupos/fiscal"
acl livre proxy_auth "/etc/squid3/grupos/livre"
acl recepcao proxy_auth "/etc/squid3/grupos/recepcao"
acl rh proxy_auth "/etc/squid3/grupos/rh"
acl gerente proxy_auth "/etc/squid3/grupos/gerente"
acl frentecaixa proxy_auth "/etc/squid3/grupos/frentecaixa"
acl controle proxy_auth "/etc/squid3/grupos/controle"
acl marketing proxy_auth "/etc/squid3/grupos/marketing"

## ACL de MSN ##
# acl usuariosMSN proxy_auth
# acl MSN req_mime_type -i ^application/x-msn-messenger$
# acl dll_MSN url_regex -i gateway.dll
# acl dll2_MSN url_regex -i sqmserver.dll
# acl msn_domains dstdomain .msn.com .msn.com:443 .hotmail.com .hotmail.com:443 .live.com .live.com:443 .microsoft.com .microsoft.com:443

#################### ACL's de update do Windows ######################
acl avast dstdomain avast avast.com download973.avast.com download969.avast.com
acl windows_update dstdomain download.windowsupdate.com download.microsoft.com update.microsoft.com www.update.microsoft.com:443 update.microsoft.com:443

#################### ACL Skype ################################
acl skype_80 url_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:80
acl skype_443 url_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:443
acl skype_ua browser ^skype^

########################## ALCs de SITE #######################
acl sites_cobranca url_regex -i "/etc/squid3/regras/sites_liberados_cobranca"
acl sites_comercial url_regex -i "/etc/squid3/regras/sites_liberados_comercial"
acl sites_faturamento url_regex -i "/etc/squid3/regras/sites_liberados_faturamento"
acl sites_financeiro url_regex -i "/etc/squid3/regras/sites_liberados_financeiro"
acl sites_fiscal url_regex -i "/etc/squid3/regras/sites_liberados_fiscal"
acl sites_livre url_regex -i "/etc/squid3/regras/sites_liberados_livre"
acl sites_recepcao url_regex -i "/etc/squid3/regras/sites_liberados_recepcao"
acl sites_rh url_regex -i "/etc/squid3/regras/sites_liberados_rh"
acl sites_gerente url_regex -i "/etc/squid3/regras/sites_liberados_gerente"
acl sites_frentecaixa url_regex -i "/etc/squid3/regras/sites_liberados_frentecaixa"
acl sites_controle url_regex -i "/etc/squid3/regras/sites_liberados_controle"
acl sites_marketing url_regex -i "/etc/squid3/regras/sites_liberados_marketing"
acl proibidos url_regex -i "/etc/squid3/regras/sites_proibidos"

######################### EXTENCOES BLOQUEADAS ############################
acl extencoes urlpath_regex -i "/etc/squid3/regras/download_extencoes"

## Bloqueando navegadores ##
#acl firefox browser Firefox
#acl chrome browser Chrome
#acl opera browser Opera

hosts_file /etc/hosts


####################### BLOQUEIOS E LIBERAÇÕES ######################
acl mailserver url_regex mailserver
always_direct allow mailserver
http_access allow avast
http_access allow windows_update
## http_access allow msn_domains  
## http_access allow dll2_MSN      
## http_access allow dll_MSN usuariosMSN
## http_access allow MSN
http_access allow ips_sem_senha

acl pass proxy_auth REQUIRED
http_access allow manager localhost
http_access deny !pass
http_access deny cobranca !sites_cobranca
http_access deny comercial !sites_comercial
http_access deny faturamento !sites_faturamento
http_access deny financeiro !sites_financeiro
http_access deny fiscal !sites_fiscal
http_access deny recepcao !sites_recepcao
http_access deny rh !sites_rh
http_access deny frentecaixa !sites_frentecaixa
http_access deny controle !sites_controle
http_access deny marketing !sites_marketing
http_access allow gerente livre !proibidos
http_access deny skype_80
http_access deny skype_443
http_access deny skype_ua

http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow all
#icp_access deny all

########################## PORTA SQUID ######################
http_port 3128
visible_hostname Servidor de Internet Saito

hierarchy_stoplist cgi-bin ?

########################## LOGS ###############################
access_log /var/log/squid3/access.log squid
cache_log /var/log/squid3/cache.log

###################### DESEMPENHO/DISCO #####################
cache_mem 512 MB
maximum_object_size_in_memory 8 KB
memory_replacement_policy lru
cache_replacement_policy lru
cache_dir ufs /var/spool/squid3 60000 16 256

####### Tamanho maximo do arquivo que ira ser armazenado em cache #####
maximum_object_size 200000 KB

icp_access allow all

############################ LIMPA CACHE ##########################
cache_swap_low 90
cache_swap_high 95

############################ ICONES ################################
icon_directory /usr/share/squid3/icons
short_icon_urls on

################### Errors configuracao ###################
error_directory /usr/share/squid3/errors/Portuguese

refresh_pattern ^ftp:      1440   20%   10080
refresh_pattern ^gopher:   1440   0%   1440
refresh_pattern (cgi-bin|\?)   0   0%   0
refresh_pattern .      0   20%   4320

##########Cache windowsupdate#####################
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern www.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims

###################### Cache atulizacao avira ##########################
###refresh_pattern personal.avira-update.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims

###################### Cache avast ##############################
refresh_pattern avast.com/.*\.(vpu|cab|stamp|exe) 10080 100% 43200 reload-into-ims

###########################################################################
debug_options ALL,2

icp_port 3130
coredump_dir /var/spool/squid3

############################ FIM DO ARQUIVO SQUID.CONF #####################









galactus

newrog, favor colocar o resolvido no título do tópico. Assim fica mais fácil para quem procurar soluções.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.