Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/04/2015, à 11:15

IronQuake

Authenfication SQUID via Samba (Ubuntu 12.04 Server + Samba 3.6)

Bonjour,

Je suis actuellement "embêté" sur ce point, en effet je souhaite lier mes comptes Samba à SQUID.
En gros, je veux pouvoir m'authentifier sur mon proxy avec mes comptes Samba.
Je dispose de deux serveurs, un avec Squid et un autre avec Samba. (Les deux serveurs sont des Ubuntu Server 12.04)

Version de Samba : 3.6.3
Version de Squid : 3.1.19

Voici mon fichier de configuration SQUID :

http_port 3128
#-------------------------------------------------------------------
# Ajoutez ces lignes au dessous de l'exemple
# donne dans le fichier d'origine squid.conf
#-------------------------------------------------------------------
#
# Déclaration de l'authentification
#
auth_param basic program /usr/lib/squid3/smb_auth -W Caltest -U 192.168.0.221
#
# On lance 5 processus d'authentificaton afin d'accélérer le traîtement
auth_param basic children 5
#
# Message affiche lors de la demande de mot de passe
#
auth_param basic realm Indiquez un login et un mot de passe
#
# delai de validite du mot de passe
#
# passe ce delai, le mot de passe sera a nouveau demande.
# cela evite l'usage des navigateurs laisses ouverts par les
# utilisateurs durant la pause dejeuner par exemple.
#
# auth_param basic credentialsttl 30 minutes
auth_param basic credentialsttl 2 hours
#-------------------------------------------------------------------
# Ajouter ces lignes avant le premier http_access non commente
#------------------------------------------------------------------
acl mo2pass proxy_auth REQUIRED
http_access allow mo2pass
#-------------------------------------------------------------------

Avec cette ligne : auth_param basic program /usr/lib/squid3/smb_auth -W Caltest -U 192.168.0.221 , je suis sensé pouvoir récupérer mes identifiants présents sur le serveur Samba. (Serveur Samba : 192.168.0.221)
Cependant, ça ne fonctionne pas. Lorsque je veux tester avec la ligne de commande suivante :

root@GW-TEST:/etc/squid3# echo -e root XXXXX | /usr/lib/squid3/smb_auth -W Caltest -U 192.168.0.221 -d

Domain name: Caltest
Pass-through authentication: no
Query address options: -U 192.168.0.221 -R
Domain controller IP address: 192.168.0.221
Domain controller NETBIOS name: SAMBA
Contents of //SAMBA/NETLOGON/proxyauth:
ERR

Une erreur est renvoyée et je ne sais pas pourquoi.
Voici ce que j'ai dans mon log : log.smbd

[2015/04/09 11:02:40.731583,  2] auth/auth.c:319(check_ntlm_password)
  check_ntlm_password:  Authentication for user [root%XXXXX] -> [root%XXXXX] FAILED with error NT_STATUS_NO_SUCH_USER
[2015/04/09 11:02:40.734763,  2] smbd/service.c:616(create_connection_session_info)
  guest user (from session setup) not permitted to access this share (netlogon)
[2015/04/09 11:02:40.734794,  1] smbd/service.c:770(make_connection_snum)
  create_connection_session_info failed: NT_STATUS_ACCESS_DENIED

Je ne trouve pas d'explication. J'ai regardé du coté des droits car je pensai que proxyauth n'était pas accessible en lecture.
J'ai donc fait un chmod 755 sur le fichier pour être sûr et j'ai affecté le fichier au groupe users sur mon serveur Samba. (chown root users proxyauth)
Ca ne change rien ... Je suis à cours d'idée.



Voici le contenu de mon fichier smb.conf au cas ou cela puisse influer sur authentification SQUID :

[global]
  workgroup = CALTEST
  netbios name = samba
  server string =
  dns proxy = no
  max log size = 1000
  panic action = /usr/share/samba/panic-action %d
  security = user

  wide links = no
  printcap name = /dev/null
  log level = 2

   encrypt passwords = true
   passdb backend = tdbsam:/etc/samba/private/passdb.tdb
   obey pam restrictions = yes
   unix password sync = yes
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   passwd program = /usr/bin/passwd %u

   domain logons = yes
   socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
   domain master = yes
   add machine script = /var/samba/add-machine-script %u

   local master = yes
   os level = 65
   preferred master = yes
   logon path = \\%L\profiles\%u
   logon drive = U:
   logon script = %u.cmd

   dos charset = 850
   unix charset = UTF8

   include = /var/samba/pdc/config
   include = /var/samba/caloser_1/config

  map untrusted to domain = Yes

Fichier de configuration pour les partages :

[homes]
  path = /var/samba/pdc/homes/%u
  browseable = no
  writeable = yes

[netlogon]
  path = /var/samba/pdc/netlogon
  browseable = no
  writeable = yes
#  inherit permissions = no
#  force group = users
#  create mask = 0600
#  force create mode = 0660
#  directory mask = 0770
#  force directory mode = 0770

[profiles]
  path = /var/samba/pdc/profiles
  browseable = no
  writeable = yes

[shortcuts]
  path = /var/samba/pdc/shortcuts
  browseable = no
  writeable = yes

[Public]
  path = /var/samba/pdc/public
  browseable = yes
  writeable = yes
  inherit permissions = no
  force group = users
  create mask = 0600
  force create mode = 0660
  directory mask = 0770

[$]
  path = /
  browseable = no
  writeable = yes

[SMB$]
  path = /var/samba
  browseable = no
  writeable = yes

[PDC$]
  path = /var/samba/pdc
  browseable = no
  writeable = yes

[FIC$]
  path = /var/samba/caloser_1
  browseable = no
  writeable = yes

Dernière modification par IronQuake (Le 09/04/2015, à 15:56)

Hors ligne

#2 Le 10/04/2015, à 10:37

IronQuake

Re : Authenfication SQUID via Samba (Ubuntu 12.04 Server + Samba 3.6)

Apparemment, ça semble être un problème d'authentification.
smbauth doit envoyer les mots de passe en clair et c'est ça qui semble poser problème, car quand je ne renseigne pas le mot de passe dans la ligne de commande : echo -e root XXXXX | /usr/lib/squid3/smb_auth -W Caltest -U 192.168.0.221 -d, la console me le demande, je le renseigne et là ça fonctionne. On me renvoi bien OK et tout fonctionne correctement dans les logs.
Il faut probablement modifier smbauth.sh pour permettre l'envoi du mot de passe au bon format.
Je ne suis pas certains mais je ne vois que ça ...

Avez vous une idée ?

Hors ligne

#3 Le 10/04/2015, à 15:32

IronQuake

Re : Authenfication SQUID via Samba (Ubuntu 12.04 Server + Samba 3.6)

Solution :
Dans le fichier smb_auth.sh, il faut remplacer la ligne authinfo=`smbclient  "//$dcname/$AUTHSHARE" -I $dcip -d 0 -E -W "$DOMAINNAME" -c "get $authfilebs -" 2>/dev/null`
par authinfo=`smbclient  "//$dcname/$AUTHSHARE" -U $USER -I $dcip -d 0 -E -W "$DOMAINNAME" -c "get $authfilebs -" 2>/dev/null`
Ça m'a tout l'air d'être un bug sur SQUID.

Ça semble fonctionner maintenant ...

Hors ligne