PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Squid Anmeldung mit NTLM scheitert



JL Hooker
15.04.07, 17:20
Hallo,

nachdem Squid bereits mit der LDAP Anmeldung fehlerfrei seinen Dienst verrichtet, wollten wir die Anmeldung auf transparente NTLM Anmeldungen umstellen, da dies für die User (und bestimmte Verantwortliche) schöner ist.

Dabei habe ich mich an einschlägige Anleitungen aus dem Netzgehalten. Winbind scheint auch zu funktionieren, denn wbinfo -g, wbinfo -u und wbinfo -t zeigen alle das was sie sollen. Versucht sich hingegen ein Windows Client (Windows XP, Internet Explorer 6) sich mit NTLM an den Squid anzumelden gelangt immer wieder folgender Fehler in meine LogDatein:


Apr 15 17:04:32 proxyserver (ntlm_auth): Login for user [JWGOETHE]\[standxp]@[KU02] failed due to [winbind client not authorized to use winbindd_pam_auth_crap. Ensure permissions on /var/run/samba/winbindd_privileged are set correctly.]
Apr 15 17:04:32 proxyserver squid[4035]: authenticateNTLMHandleReply: Error validating user via NTLM. Error returned 'BH NT_STATUS_ACCESS_DENIED'
Apr 15 17:04:32 proxyserver (ntlm_auth): [2007/04/15 17:04:32, 0] utils/ntlm_auth.c:manage_squid_ntlmssp_request(603)
Apr 15 17:04:32 proxyserver (ntlm_auth): NTLMSSP BH: NT_STATUS_ACCESS_DENIED

Meine smb.conf sieht wie folgt aus:


[global]
workgroup = JWGOETHE
netbios name = Proxyserver
realm = JWGOETHE.LOCAL
idmap uid = 10000-15000
idmap gid = 10000-15000
winbind separator = /
winbind use default domain = Yes
security = ADS
encrypt passwords = yes
password server = x01.jwgoethe.local
client use spnego = yes

[backup]
comment = Backup
path = /backup
browseable = yes
read only = no
guest ok = no
valid users = @linux_admins
create mask = 0770
directory mask = 0770


Die krb5.conf:


[libdefaults]
default_realm = JWGOETHE.LOCAL
clockskew = 300

[realms]
JWGOETHE.LOCAL = {
kdc = X01.JWGOETHE.LOCAL
}

[domain_realm]
.jwgoethe.local = JWGOETHE.LOCAL

[logging]
# default = SYSLOG:NOTICE:DAEMON
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/kdc.log
kadmind = FILE:/var/log/kadmind.log

[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 0
debug = false
}


und schlussendlich meine squid.conf


shutdown_lifetime 5 second
## Ports
http_port 8080
icp_port 0

acl QUERY urlpath_regex cgi-bin \?

## Benutzer unter denen Squid laeuft
cache_effective_user proxy
cache_effective_group proxy

## Groesse des Caches
cache_mem 256 MB
cache_dir aufs /var/spool/squid 1024 16 256

## Deutschte Fehlermeldungen
error_directory /usr/share/squid/errors/German/

## Logs
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log none

strip_query_terms off

forwarded_for off


## Fuer anonymen FTP
ftp_user squid@ano.com

##
## ZUGRIFF UND ANMELDUNG
##
## Anmeldung per Windows Server

#auth_param basic program /usr/lib/squid/ldap_auth -R -b "DC=jwgoethe,DC=local" -D "cn=ldap,cn=Users,dc=jwgoethe,dc=local" -w "ldap11" -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -h 192.168.0.1

#auth_param basic program /usr/lib/squid/ldap_auth -R -b "dc=jwgoethe,dc=local" -D "cn=ldap,cn=Users,dc=jwgoethe,dc=local" -w "ldap11" -f sAMAccountName=%s -h 192.168.0.1
#external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group -R -b "dc=jwgoethe,dc=local" -D "cn=ldap,cn=Users,dc=jwgoethe,dc=local" -w "ldap11" -f "(&(objectclass=person)(sAMAccountName=%u)(memberof=c n=%a,cn=Users,dc=jwgoethe,dc=local))" -h 192.168.0.1

#auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp JWGOETHE/x01
auth_param ntlm program /usr/bin/ntlm_auth \
--helper-protocol=squid-2.5-ntlmssp auth_param ntlm children 3
auth_param ntlm children 5

#auth_param ntlm max_challenge_reuses 1
#auth_param ntlm max_challenge_lifetime 2 minute

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic JWGOETHE/x01

## Allgemeine Anmeldeeinstellungen
auth_param basic children 5
auth_param basic realm Goethe Oberschule Internetanmeldung
auth_param basic credentialsttl 2 hour

##
## REGELN
##

## Zugriff nur nach Anmeldung
acl for_inetusers proxy_auth REQUIRED

#acl allowed_group external ldap_group wwwusers

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

## Alle Rechner
acl SSL_ports port 443 563 445 10000

## Sichere Ports welche von allen Rechnern erlaubt sind
acl Safe_ports port 22 # SSH
acl ftp_ports port 20 21 # ftp
acl Safe_ports port 10000 # Webmin
acl Safe_ports port 443 445 563 # https
acl Safe_ports port 800 # Squids port (for icons)
acl Safe_ports port 901 # Swat
acl Safe_ports port 563 # snews
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 80 # http
acl Safe_ports port 3389 # RDP
acl Safe_ports port 631

## Gesperrte Webseiten sowie Entsperrte
acl gesperrte_webseiten url_regex "/var/www/webadmin/listen/blacklist"
acl freigegebene_webseiten url_regex "/var/www/webadmin/listen/whitelist"

acl CONNECT method CONNECT

## PCs OHNE Anmeldung
#acl allowed_pcs srcdomain "/var/www/webadmin/listen/rechner_allow"
#acl c-raum srcdom_regex -i (^[a-z])*c(^[a-z])*
#acl g-raum srcdom_regex -i (^[a-z])*g(^[a-z])*

acl Safe_ports port 81

no_cache deny QUERY

## ############################## Zugriffbeschraenkungen ###########################################

## Alle Anfragen vom Proxyserver aus erlauben
http_access allow manager localhost
#http_access allow localhost

## Alle undefinierten Ports verbieten
http_access deny !Safe_ports !ftp_ports
http_access deny CONNECT !SSL_ports

## Internet in den Computerräumen freigeben
#http_access allow c-raum g-raum

## Alle Anmeldungen welche nicht in wwwuser gefunden werden ablehnen
http_access allow for_inetusers

## Gesperrte Webseiten verbieten und Ausnahmen zulassen
#http_access deny !allowed_group

## Zugriff für alle Benutzer die im Windowsserver eingetragen sind freigeben
http_access deny gesperrte_webseiten !freigegebene_webseiten

## Alles was nicht erfasst wurde VERBIETEN
http_access deny all

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

## Strip HTTP Header
header_access X-Forwarded-For deny all
header_access Via deny all

maximum_object_size 4096 KB
minimum_object_size 0 KB

request_body_max_size 0 KB
reply_body_max_size 0 allow all

visible_hostname proxy.jwgoethe.local
cache_mgr n.buchwitz@paberlin.de
log_fqdn on
log_mime_hdrs on



Habt ihr Ideen?

Grüße aus der Hauptstadt,

Nicolai

JL Hooker
19.04.07, 14:44
Wirklich keiner eine Idee ?

403
19.04.07, 17:59
Hier hat einer auch den Fehler:
http://www.squid-cache.org/mail-archive/squid-users/200504/0262.html

Allerdings ist das Post von 2005.

JL Hooker
20.04.07, 18:58
Danke, ich werd es mir mal angucken.

Gruß Nicolai