Não consigo fazer dois métodos de autenticações

1. Não consigo fazer dois métodos de autenticações

Renato Alves Nogueira
r3n4t041v3s

(usa Debian)

Enviado em 30/09/2014 - 18:54h

Saudações pessoal,

Estou com um problema razoável aqui e gostaria que vocês tentassem me ajudar.
é um CentOS 2.6.32-431.29.2.el6.x86_64. Quero fazer autenticação integrada com o SQUID para que ele não solicite credencial para o usuário do domínio. Meu servidor já está no domínio. AD 2008. Porém há estações fora do domínio e para essas eu preciso que a tela de autenticação apareça. Para a autenticação integrada eu usei o NTLM com o helper squid-2.5-ntlmssp. Para a autenticação solicitada eu usei o basic com o helper squid-2.5-basic. Ambos chamando o ntlm_auth.Se eu coloco a autenticação basic primeiro, funciona conforme o esperado, exceto que no firefox (última versão) das estações do domínio pede autenticação do mesmo jeito e o IE não pede. Se eu coloco a auteticação NTLM primeiro, navega normalmente no domínio só que fora dele aparece janelas de autenticação que ficam alternando entre os dois métodos mas nenhuma delas consegue me autenticar direito. Eu estou há quase uma semana fazendo estes testes. Já usei o squid 3.1.10 que é a versão do CentOS, já compilei o squid 3.4.7, que é a última stable e com algumas melhorias, com um punhado de opções e também com as opções default e simplesmente não consigo. Em meu cenário atual utilizam a autenticação LDAP e pede senha pra todo mundo mas não é isso que eu quero.

#USUARIO QUE EXECUTA O SQUID
cache_effective_user squid
#Porta de escuta do squid
http_port 127.0.0.1:3128
http_port 10.0.210.20:3128
visible_hostname ##OMITIDO##
# AUTENTICACAO FORA DO DOMINIO
#auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic realm ##OMITIDO##
auth_param basic children 20
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
# AUTENTICACAO COM O AD
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 50
auth_param ntlm keep_alive on
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log squid
cache_mem 2 GB
maximum_object_size_in_memory 2 MB
maximum_object_size 128 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
coredump_dir /var/spool/squid
cache_dir aufs /var/spool/squid 5120 16 256
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

external_acl_type GRUPO_AD %LOGIN /usr/lib64/squid/ext_wbinfo_group_acl (ARQUIVO DIFERENTE DEPENDENDO DA VERSÃO DO SQUID)

################# LISTAS DE ACESSO ##########################
# Recomendacao padrao minima do squid:
acl manager proto cache_object (EXISTE OU NÃO DEPENDENDO DA VERSÃO DO SQUID)
acl localhost src 10.0.210.254/32
acl CONNECT method CONNECT
acl CGI urlpath_regex cgi-bin \?
# ACL COM HORARIO DE CONEXAO. DESATIVADO POR ENQUANTO.
#acl HORARIO time
# ACL PARA SITES QUE NAO SERAO CACHEADOS
acl SEMCACHE dstdomain -i "/etc/squid/acl/sem_cache"
# ACL PARA SITES QUE NAO NAVEGAM AUTENTICANDO NO SQUID
acl SITES_SEM_AUTENTICACAO dstdomain -i "/etc/squid/acl/sites_sem_autenticacao"
# ACL EXIGINDO AUTENTICACAO DO USUARIO
acl AUTENTICACAO proxy_auth -i REQUIRED
# ACL QUE ESPECIFICA QUAIS SAO AS REDES LOCAIS
acl REDES_LOCAIS src "/etc/squid/acl/redes_locais"
# ACL QUE ESPECIFICA QUAIS SAO AS PORTAS SSL. NESSE CASO SAO AS PORTAS QUE PASSAM TRAFEGO CRIPTOGRAFADO
acl PORTAS_SSL port "/etc/squid/acl/portas_ssl"
# ACL QUE ESPECIFICA QUAIS PORTAS SAO SEGURAS PARA COMUNICACAO. DIFERENTE DA ACL 'PORTAS_SSL', ESTA ACL INFORMA EM QUAIS PORTAS WEB O SQUID PODE ESTABELECER CONEXAO.
acl PORTAS_SEGURAS port "/etc/squid/acl/portas_seguras"
# ACL DE ENDERECOS DE DESTINO QUE ESTAO NAS REDES LOCAIS. IDEAL PARA DESTINOS NAS REDES LOCAIS QUE PASSARAO PELO PROXY, MAS NAO SEJAM AUTENTICADOS. ESTA REGRA TEM POUCA UTILIZADE NO CENARIO ATUAL MAS PODE VIR A SER USADA.
acl REDES_LOCAIS_DESTINO dst "/etc/squid/acl/redes_locais_destino"
# ACL DE IP´s COM NAVEGACAO LIBERADA.
acl IPS_LIBERADOS src "/etc/squid/acl/ips_liberados"
# ACL DE SITES BLOQUEADOS
acl SITES_BLOQUEADOS dstdomain "/etc/squid/acl/sites_bloqueados"
# ACL DE SITES DE VIDEOS
acl SITES_VIDEOS dstdomain -i "/etc/squid/acl/sites_videos"
# ACL DE SITES DE REDES SOCIAIS
acl SITES_RSOCIAL dstdomain -i "/etc/squid/acl/sites_rsocial"
## ACLs DOS GRUPOS DO AD
acl NAVEGACAO_LIBERADA external GRUPO_AD G_L_NAVEGACAO_LIBERADA
acl NAVEGACAO_COMUM external GRUPO_AD G_L_NAVEGACAO_COMUM
acl NAVEGACAO_RSOCIAL external GRUPO_AD G_L_NAVEGACAO_RSOCIAL
acl NAVEGACAO_VIDEOS external GRUPO_AD G_L_NAVEGACAO_VIDEOS

############################ REGRAS DE ACESSO ##########################
# NAO FAZ CACHE DESSES DESTINOS
cache deny CGI
cache deny REDES_LOCAIS_DESTINO
cache deny SEMCACHE
# Permite acesso a um script que exibe as estatisticas do proxy. o servidor web deve estar executando no proxy.
# http://srv-proxy/cgi-bin/cachemgr.cgi
http_access allow manager localhost
http_access deny manager
# RECUSA CONEXOES A PORTAS QUE NAO ESTEJAM NA LISTA DE PORTAS SEGURAS E/OU NA LISTA DE PORTAS SSL
http_access deny !PORTAS_SEGURAS
http_access deny CONNECT !PORTAS_SSL
# PERMITE CONEXOES SEM PEDIR AUTENTICACAO
http_access allow REDES_LOCAIS_DESTINO
http_access allow SITES_SEM_AUTENTICACAO
http_access allow IPS_LIBERADOS
# REGRA QUE EXIGE AUTENTICACAO DO USUARIO PARA NAVEGAR. DEVE FICAR SEMPRE ACIMA DA 'HTTP_ACCESS ALLOW LOCALHOST', SENAO O DANSGUARDIAN PARA DE AUTENTICAR USUARIOS
http_access allow AUTENTICACAO
# PERMITE CONEXOES DIRETAS A PARTIR DO DANSGUARDIAN
http_access allow localhost
# NAVEGACAO PARA O GRUPO DE NAVEGACAO COMUM
http_access allow NAVEGACAO_COMUM !SITES_BLOQUEADOS
http_access allow NAVEGACAO_LIBERADA
http_access allow NAVEGACAO_RSOCIAL SITES_RSOCIAL
http_access allow NAVEGACAO_VIDEOS SITES_VIDEOS

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

# REGRA QUE PERMITE ACESSO ATRAVES DAS REDES LOCAIS. REGRA NAO ATIVADA SE O DANSGUARDIAN ESTIVER EM USO
# REGRA QUE PERMITE ACESSO ATRAVES DAS REDES LOCAIS. REGRA NAO ATIVADA SE O DANSGUARDIAN ESTIVER EM USO
#http_access allow REDES_LOCAIS

# REGRA FINAL QUE BLOQUEIA QUALQUER ACESSO QUE NAO SEJA COMPATIVEL COM AS REGRAS ACIMA.
http_access deny all
# We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?


#cache deny localhost to_localhost REDES_LOCAIS PORTAS_SSL
# CONFIGURACAO DE DEBUG PARA EXIBIR QUAIS ACLS ESTAO SENDO APLICADAS
#debug_options ALL,1 33,2 28,9
#debug_options ALL,1 33,2
#follow_x_forwarded_for allow localhost
#acl_uses_indirect_client on
#log_uses_indirect_client on
cache_mgr ##OMITIDO##
logfile_rotate 0 # Nao remover esta linha, senao o rotacionamento dos logs pode ter problemas

Vou agradecer se pudermos discutir a respeito.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts