12.4. Authentification Squid
Pour l’authentification, le code source de
Squid connecte avec quelques back-ends d'authentification, également appelés helpers, tels que SMB (serveur SMB comme Windows NT ou Samba), DB (une base de données SQL), ou LDAP (Lightweight Directory Access Protocol). Les utilisateurs sont authentifiés si Squid est configuré pour utiliser les ACL proxy_auth.
Indiquer à
Squid quel programme helper d'authentification utiliser avec une directive auth_param dans /etc/squid/squid.conf. Spécifier le nom du programme et les options en ligne de commande si nécessaire.
auth_param scheme parameter [setting]
auth_param scheme parameter [setting]
Exemple 12.6. Ajout d'ACL proxy_auth
Ajouter des entrées d'ACL
proxy_auth à votre configuration Squid en indiquant les noms d'utilisateurs. Dans cet exemples, les utilisateurs nommés lisa, sarah, joe, et frank sont autorisés d'utiliser le proxy à tout moment. Les autres utilisateurs ne peuvent le faire que pendant la journée.
12.4.1. Authentication avec LDAP Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Dans cette installation,
Squid utilise LDAP pour authentifier les utilisateurs avant de les autoriser à surfer sur l'internet. Le code source Squid connecte à un back-end d'authentification (LDAP). Les utilisateurs doivent ensuite saisir leur nom d'utilisateur et mot de passe avant de pouvoir continuer sur les pages web. Squid utilise l'assistant d'authentification LDAP de Squid, squid_ldap_auth, ce qui permet à Squid de se connecter à un répertoire LDAP afin de valider le nom d'utilisateur et le mot de passe pour une authentication HTTP de base.
Mofifier le fichier
/etc/squid/squid.conf comme suit afin de pouvoir connecter Squid à ldap.example.com:
auth_param basic program /usr/lib64/squid/basic_ldap_auth -b "dc=example,dc=com" -f "uid=%s" -c 2 -t 2 -h ldap.example.com otherldap.example.com
auth_param basic program /usr/lib64/squid/basic_ldap_auth -b "dc=example,dc=com" -f "uid=%s" -c 2 -t 2 -h ldap.example.com otherldap.example.com
Si vous souhaitez authentifier des utilisateur
Squid sur un serveurLDAP via un canal SSL/TLS sécurisé, passer l'argument -ZZ au programme squid_ldap_auth.
auth_param basic program /usr/lib64/squid/basic_ldap_auth -v 3 -ZZ -b "dc=yourcompany,dc=com" -D uid=some-user,ou=People,dc=yourcompany,dc=com -w password -f uid=%s ldap.yourcompany.com
auth_param basic program /usr/lib64/squid/basic_ldap_auth -v 3 -ZZ -b "dc=yourcompany,dc=com" -D uid=some-user,ou=People,dc=yourcompany,dc=com -w password -f uid=%s ldap.yourcompany.com
Si vous souhaitez vous authentifier auprès de serveurs OpenLDAP, comme TLS et SSL, vous devrez spécifier
auth_param dans le fichier /etc/squid/squid.conf:
- Modifier
/etc/squid/squid.confpour TLS :auth_param basic program /usr/lib64/squid/basic_ldap_auth -Z -b "dc=example,dc=com" -f "uid=%s" -c 2 -t 2 -h ldap.example.com
auth_param basic program /usr/lib64/squid/basic_ldap_auth -Z -b "dc=example,dc=com" -f "uid=%s" -c 2 -t 2 -h ldap.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow et pour SSL :auth_param basic program /usr/lib64/squid/basic_ldap_auth -b "dc=example,dc=com" -f "uid=%s" -c 2 -t 2 -H ldaps://ldap.example.com
auth_param basic program /usr/lib64/squid/basic_ldap_auth -b "dc=example,dc=com" -f "uid=%s" -c 2 -t 2 -H ldaps://ldap.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow QuandCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Redémarrer le service
Squidsystemctl restart squid
~]# systemctl restart squidCopy to Clipboard Copied! Toggle word wrap Toggle overflow
12.4.2. Authentication avec Kerberos Copier lienLien copié sur presse-papiers!
Copier lienLien copié sur presse-papiers!
Suivez la procédure pour configurer le proxy
Squid dans Red Hat Enterprise Linux 7 afin d'utiliser l’authentification Kerberos. De plus, comme prérequis, commencez par installer Samba, le serveur de fichiers Common Internet File System (CIFS) pour Red Hat Enterprise Linux. Pour plus d’informations sur l’installation de Samba, voyez la section Samba dans le Guide de l’administrateur systèmes de Red Hat Enterprise Linux 7.
Procédure 12.4. Configurer Squid dans Red Hat Enterprise Linux 7 pour utiliser l'authentification Kerberos
- Configurer
Squidpour rejoindre un domaine AD (Active Directory).- Modifier le fichier
/etc/krb5.conf:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Vérifier par la commande
kinit:kinit testuser1
~]# kinit testuser1Copy to Clipboard Copied! Toggle word wrap Toggle overflow kinit administrator
~]# kinit administratorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Modifier le fichier
/etc/samba/smb.confcomme suit :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Rejoindre le domaine AD
net ads join -U Administrator
~]# net ads join -U AdministratorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Créer un onglet pour HTTP/fqdn par la commande
net ads keytabkinit administrator export KRB5_KTNAME=FILE:/etc/squid/HTTP.keytab net ads keytab CREATE net ads keytab ADD HTTP
~]# kinit administrator ~]# export KRB5_KTNAME=FILE:/etc/squid/HTTP.keytab ~]# net ads keytab CREATE ~]# net ads keytab ADD HTTPCopy to Clipboard Copied! Toggle word wrap Toggle overflow et vérifier le fichier keytabklist -k /etc/squid/HTTP.keytab
~]# klist -k /etc/squid/HTTP.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow Note
Veillez à ce que le nom d'hôte soit bien défini dans le fichier/etc/hosts - Les fichiers doivent être inclus dans
Squid.rpm -q squid
~]# rpm -q squid squid-3.1.10-1.el6.x86_64Copy to Clipboard Copied! Toggle word wrap Toggle overflow rpm -ql squid | grep kerb
~]# rpm -ql squid | grep kerbCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/lib64/squid/negotiate_kerberos_auth /usr/lib64/squid/negotiate_kerberos_auth_test /usr/lib64/squid/squid_kerb_auth /usr/lib64/squid/squid_kerb_auth_test/usr/lib64/squid/negotiate_kerberos_auth /usr/lib64/squid/negotiate_kerberos_auth_test /usr/lib64/squid/squid_kerb_auth /usr/lib64/squid/squid_kerb_auth_testCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Modifier
/etc/squid/squid.confcomme suitCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Définir le fichier .keytab sur lecture (read) par le propriétaire du processus
Squid:chgrp squid /etc/squid/HTTP.keytab
~]# chgrp squid /etc/squid/HTTP.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod g+r /etc/squid/HTTP.keytab
~]# chmod g+r /etc/squid/HTTP.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Ajouter les lignes suivantes au fichier
/etc/sysconfig/squid:KRB5_KTNAME="/etc/squid/HTTP.keytab " export KRB5_KTNAME
KRB5_KTNAME="/etc/squid/HTTP.keytab " export KRB5_KTNAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow - Démarrer le service
Squidservice squid start
~]# service squid startCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Configuration un client Kerberos et configurer votre navigateur pour qu'il utilise le serveur proxy de
Squid. Obtenir un ticket Kerberos du KDC (Key Distribution Center).kinit testuser1
~]# kinit testuser1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Essayez d'accéder à un site. Le navigateur ne doit pas vous demander un nom d'utilisateur ou un mot de passe.