Squid + authentication

Bonjour

je souhaite monter un tutoriel afin de le partager.
ce tutoriel expliquera l’installation de squid sous Debian avec une authentification active-directory.
Hélas, les tutoriels que j’ai chercher ne sont pas très explicites ou expirés

J’aimerai des conseils.

Bonjour,

bien volontiers pour les conseils, tu as :

$ man squid qui te donnera diverses options.
L’exploration de ces documents (entre autres très certainement) ainsi que tes différents essais pour observer les résultats des changements du fichier de configuration devrait te servir de base pour rédiger ton tutoriel.

Merci pour ton dévouement: toutes les bonnes volontés sont appréciables.
Il faudra que je mette la main à la pâte, un de ces quatre d’ailleurs.

J’avance

j’ai finis l’ad sous debian.

mon tuto se basera uniquement sur le squid

edit du jour 18 /05 / 2016 :slight_smile:

Première Boulette : Il ne faut pas mettre l’ad et le proxy sur le même système d’exploitation. Donc j’en déduit que le pare-feu et le proxy doit être bien séparé.

Bonjour

je galère avec les authentifications.

dois je utiliser authentification ntlm ou kerberos.
car c’est le flot

Bonjour
j’avance
j’ai réussi l’authentification sso

je pense qu’il est grand temps de faire une documentation car les docs ne sont pas valide.

bonjour,

Je me permet de vous interpeller sur le sujet de l’authentification. j’aimerai savoir si vous avez utilisé le kerberos pour communiquer avec votre Active Directory, car je rencontre des difficultés pour faire cohabiter mon Debian jessie et mon AD 2008 R2

Je vous remercie par avance de votre aide

Bonjour

J’ai reussi pour ma part

le squid utilise l’authentification par kerbeos ensuite ntlm et enfin les comptes locaux.

Je peux t’aider, j’ai galérer mais j’ai compris les concepts et donc ça sera un plaisir de réviser.

merci beaucoup de ta réponse

je reviens sur mon projet squid demain que doit je de faire parvenir ?

Bonjour Bomberman

ton squid.conf dans un premier temps.

Bonjour,

J’avais fait ce setup il y a quelques années, surtout il faut éviter d’utiliser mskutils car cela ouvre une faille de sécurité béante.

Merci pour cette information vincentsan et malheureusement j’ai utilisé mskutils sans savoir ce problème donc il me faut changer mon fusil d’épaule.

et voila l’erreur du cache.log

kid1| ERROR: Negotiate Authentication validating user. Result: {result=BH, notes={message: received type 1 NTLM token; }}

Hello, j’ai justement abandonné le projet à cause de mskutils, mais il semblerait qu’il soit possible d’utiliser uniquement kerberos/samba pour l’authentification.

http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos

Bonjour,

Excusez moi pour le retard de réponse j’ai eu un gros souci de disque dur sur mon PC :frowning:

voila mon squid.conf comme convenue

# Squid normally listens to port 3128
http_port 3128

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

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 1025-65535 # unregistered ports
acl CONNECT method CONNECT
acl adminnet src 192.168.10.0/24

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

# enable kerberos authentication
auth_param negotiate program /usr/lib/squid3/negotiate_kerberos_auth -s HTTP/debianux.lycee.ort@LYCEE.ORT
auth_param negotiate children 20 startup=0 idle=1
auth_param negotiate keep_alive off

# enable basic authentication via ldap
##auth_param basic program /usr/lib/squid3/basic_ldap_auth -R -b "dc=lycee,dc=ort" -D squid@lycee.ort -w squid -f (|(userPrincipalName=%s)(sAMAccountName=%s)) -h serveur.lycee.ort
##auth_param basic children 10
##auth_param basic realm Internet Proxy
##auth_param basic credentialsttl 1 minute

# require proxy authentication
acl auth proxy_auth REQUIRED

## HTTP RULES
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow adminnet auth
##http_access deny manager
http_access deny !auth
http_access allow auth
http_access deny all

Toujours dans la partie ? :slight_smile:

Oui mis je n’ai pas beaucoup de temps…

Alors si tu as suivi le lien de mon post précédent :

OR with Samba

Join host to domain with net ads join
Create keytab for HTTP/fqdn with net ads keytab

Squid Configuration File
Paste the configuration file like this:

auth_param negotiate program /usr/sbin/squid_kerb_auth
auth_param negotiate children 10
auth_param negotiate keep_alive on

The basic auth ACL controls to make use of it are:

acl auth proxy_auth REQUIRED
http_access deny !auth
http_access allow auth
http_access deny all

Add the following to the squid startup script (Make sure the keytab is readable by the squid process owner e.g. chgrp squid /etc/squid/HTTP.keytab; chmod g+r /etc/squid/HTTP.keytab )

KRB5_KTNAME=/etc/squid/HTTP.keytab
export KRB5_KTNAME

Kerberos can keep a replay cache to detect the reuse of Kerberos tickets (usually only possible in a 5 minute window) . If squid is under high load with Negotiate(Kerberos) proxy authentication requests the replay cache checks can create high CPU load. If the environment does not require high security the replay cache check can be disabled for MIT based Kerberos implementations by adding the following to the startup script

KRB5RCACHETYPE=none
export KRB5RCACHETYPE

Il faut biensûr également configurer kerberos correctement !

En utilisant samba plus besoin de mskutils, tu joins la machine au domaine avec net ads join !

je m’excuse le petit mot était pour la seconde personne (cleloup) qui ma demande de lui envoyer mon fichier conf

Je vous remercie pour vos informations et je m’excuse encore pour ma maladresse

Bonjour bomberman

Désolé du retard, je suis un peu occupé en ce moment .
la semaine prochaine je devais t’aider.

Je UP le sujet car j’ai decidé de reprendre le tuto sous Debian 10.

avez vous des liens à partager pour monter un proxy avec authentification active directory ?

Ton Active Directory est de quelle version désormais?
L’authentification via LDAP est préférable à une authentification via protocole AD en fait. C’est plus faciles et il suffit de le faire en SSL.