Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:comment_mettre_en_place_un_proxy_squid_avec_authentification_active_directory [Le 18/12/2007, 18:49] Ner0lph Tag, typographie, liens. |
tutoriel:comment_mettre_en_place_un_proxy_squid_avec_authentification_active_directory [Le 20/09/2022, 10:00] (Version actuelle) 105.235.129.141 [Intégration de la machine au domaine] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Dapper réseau tutoriel}} | + | {{tag>Karmic réseau tutoriel proxy}} |
---- | ---- | ||
- | |||
====== Mise en place d'un proxy Squid avec authentification Active Directory ====== | ====== Mise en place d'un proxy Squid avec authentification Active Directory ====== | ||
Ligne 9: | Ligne 8: | ||
Ce tutoriel montrera dans un premier temps comment rejoindre le domaine Active Directory, puis l'installation et la configuration de Squid. Il présentera ensuite Webmin, un outil permettant d'administrer Squid (à distance ou non) et de visionner les logs. | Ce tutoriel montrera dans un premier temps comment rejoindre le domaine Active Directory, puis l'installation et la configuration de Squid. Il présentera ensuite Webmin, un outil permettant d'administrer Squid (à distance ou non) et de visionner les logs. | ||
+ | |||
+ | |||
<note> | <note> | ||
- | * Testé et approuvé sur une Ubuntu 6.06 LTS Server (Dapper Drake). | ||
* Veillez à respecter la casse lors de la configuration des fichiers. | * Veillez à respecter la casse lors de la configuration des fichiers. | ||
* Sauvegarder chaque fichier avant modification : ''sudo cp fichier fichier.bak'' (pour restaurer ''sudo cp fichier.bak fichier''). | * Sauvegarder chaque fichier avant modification : ''sudo cp fichier fichier.bak'' (pour restaurer ''sudo cp fichier.bak fichier''). | ||
</note> | </note> | ||
- | |||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
Ligne 22: | Ligne 21: | ||
* un domaine Active Directory ; | * un domaine Active Directory ; | ||
* une machine (ici sous Ubuntu 6.06 Server) pour Squid. | * une machine (ici sous Ubuntu 6.06 Server) pour Squid. | ||
+ | * avoir le dépôt universe activé (pour kerberos). | ||
===== Intégration de la machine au domaine ===== | ===== Intégration de la machine au domaine ===== | ||
Pour cela, nous donnerons des noms à certains éléments comme suit : | Pour cela, nous donnerons des noms à certains éléments comme suit : | ||
- | * Le nom du domaine, s'appelera ici **domainead.local** ; | + | * Le nom du domaine, s'appelera ici **jeemholding.local** ; |
- | * Le nom du DC (Contrôleur de domaine), s'appelera ici **dcad** ; | + | * Le nom du DC (Contrôleur de domaine), s'appelera ici **srv1010** ; |
- | * Le compte administrateur du DC, s'appelera ici **Administrateur** ; | + | * Le compte administrateur du DC, s'appelera ici **Administrator** ; |
- | * Le nom de la machine Squid s'appelera ici **nom_machine** ; | + | * Le nom de la machine Squid s'appelera ici **px2001** ; |
qui devront évidement être remplacés par les valeurs exactes. | qui devront évidement être remplacés par les valeurs exactes. | ||
Ligne 37: | Ligne 37: | ||
Pour rejoindre le domaine, il va falloir [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **samba krb5-user libpam-krb5 ntpdate winbind**. | Pour rejoindre le domaine, il va falloir [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **samba krb5-user libpam-krb5 ntpdate winbind**. | ||
* ''samba'' servira à faire le lien entre des machines Linux et Windows ; | * ''samba'' servira à faire le lien entre des machines Linux et Windows ; | ||
- | * ''krb5-user'' et ''libpam-krb5'' sont les librairies liées à Kerberos, le protocole d'authentification utilisé par Active Directory ; | + | * ''krb5-user'' et ''libpam-krb5'' sont les bibliothèques liées à Kerberos, le protocole d'authentification utilisé par Active Directory ; |
* ''ntpdate'' permet de synchroniser les horloges machines pour Kerberos ; | * ''ntpdate'' permet de synchroniser les horloges machines pour Kerberos ; | ||
* ''winbind'' est le composant de samba communiquant avec Active Directory. | * ''winbind'' est le composant de samba communiquant avec Active Directory. | ||
Ligne 50: | Ligne 50: | ||
==== Synchronisation de l'heure locale ==== | ==== Synchronisation de l'heure locale ==== | ||
- | Kerberos nécessite que l’heure locale soit synchronisée avec celle de votre DC : | + | Kerberos nécessite que l’heure locale soit synchronisée avec celle de votre DC (ip_DC = @ du serveur) : |
sudo ntpdate ip_DC | sudo ntpdate ip_DC | ||
Ligne 73: | Ligne 73: | ||
dns_lookup_realm = false | dns_lookup_realm = false | ||
dns_lookup_kdc = true | dns_lookup_kdc = true | ||
- | |||
[realms] | [realms] | ||
DOMAINEAD.LOCAL = { | DOMAINEAD.LOCAL = { | ||
Ligne 91: | Ligne 90: | ||
et entrer le mot de passe du compte administrateur du DC. | et entrer le mot de passe du compte administrateur du DC. | ||
- | Si cela ne fonctionne pas, réessayer avec le nom complet ''Administrateur@DOMAINEAD.LOCAL''. | + | Si cela ne fonctionne pas, réessayer avec le nom complet ''Administrateur@DOMAINEAD.LOCAL''. |
+ | |||
+ | Si cela ne fonctionne toujours pas, redémarrer votre machine et reprenez la ligne. | ||
Pour voir les tickets Kerberos en cache : | Pour voir les tickets Kerberos en cache : | ||
Ligne 127: | Ligne 128: | ||
sudo /etc/init.d/samba start | sudo /etc/init.d/samba start | ||
sudo /etc/init.d/winbind start | sudo /etc/init.d/winbind start | ||
- | |||
- | |||
==== Rejoindre le domaine ==== | ==== Rejoindre le domaine ==== | ||
Ligne 136: | Ligne 135: | ||
== Erreurs éventuelles == | == Erreurs éventuelles == | ||
+ | |||
+ | * Sur les nouvelles versions d'Ubuntu (notamment 9.10), il vous faudra sûrement utiliser la commande : | ||
+ | |||
+ | sudo net ads join -U Administrateur | ||
* Si vous obtenez le message suivant : | * Si vous obtenez le message suivant : | ||
Ligne 193: | Ligne 196: | ||
Cela devrait retourner ''OK'' (Ctrl--C pour quitter). | Cela devrait retourner ''OK'' (Ctrl--C pour quitter). | ||
+ | |||
+ | Dans le cas contraire (retour ''ERR''), essayer : | ||
+ | |||
+ | DOMAIN\utilisateur mot_de_passe | ||
Ligne 252: | Ligne 259: | ||
Redémarrer à nouveau Squid. | Redémarrer à nouveau Squid. | ||
- | |||
==== Droits de l'utilisateur de Squid ==== | ==== Droits de l'utilisateur de Squid ==== | ||
Ligne 260: | Ligne 266: | ||
sudo chown -R proxy:root /var/log/squid | sudo chown -R proxy:root /var/log/squid | ||
+ | |||
+ | sudo chown -R proxy:root /var/run/samba/winbindd_privileged | ||
Changer le groupe du cache de Squid : | Changer le groupe du cache de Squid : | ||
Ligne 272: | Ligne 280: | ||
sudo /etc/init.d/squid restart | sudo /etc/init.d/squid restart | ||
+ | |||
+ | Si vous obtenez une erreur : | ||
+ | |||
+ | > authenticateNTLMHandleReply: Error validating user via NTLM. Error returned 'BH NT_STATUS_ACCESS_DENIED' | ||
+ | > utils/ntlm_auth.c:832(manage_squid_ntlmssp_request) NTLMSSP BH: NT_STATUS_ACCESS_DENIED | ||
+ | |||
+ | qui est sûrement due à une nouvelle version d'Ubuntu, alors remplacez la ligne : | ||
+ | |||
+ | cache_effective_group root | ||
+ | |||
+ | par : | ||
+ | |||
+ | cache_effective_group winbindd_priv | ||
<note tip> | <note tip> | ||
Votre proxy est désormais fonctionnel, vous pouvez tester l'authentification transparente depuis une machine du domaine après réglage du navigateur (Squid écoute sur le port 3128). | Votre proxy est désormais fonctionnel, vous pouvez tester l'authentification transparente depuis une machine du domaine après réglage du navigateur (Squid écoute sur le port 3128). | ||
</note> | </note> | ||
+ | |||
Ligne 288: | Ligne 310: | ||
cd /tmp | cd /tmp | ||
- | wget http://prdownloads.sourceforge.net/webadmin/webmin_1.380_all.deb | + | wget http://prdownloads.sourceforge.net/webadmin/webmin_1.400_all.deb |
[[:tutoriel:comment_installer_un_paquet|Installer]] les dépendances de webmin : **libauthen-pam-perl** **libio-pty-perl** **libmd5-perl**. | [[:tutoriel:comment_installer_un_paquet|Installer]] les dépendances de webmin : **libauthen-pam-perl** **libio-pty-perl** **libmd5-perl**. | ||
- | Puis [[http://doc.ubuntu-fr.org/tutoriel/comment_installer_un_paquet#paquet_.deb_telecharge|installer]] le paquet téléchargé : | + | Puis [[:tutoriel/comment_installer_un_paquet#paquet_.deb_telecharge|installer]] le paquet téléchargé : |
- | sudo dpkg -i ~/webmin_1.380_all.deb | + | sudo dpkg -i ~/webmin_1.400_all.deb |
=== Connexion === | === Connexion === | ||
Ligne 331: | Ligne 353: | ||
---- | ---- | ||
- | //Contributeurs : [[:utilisateurs:v0n]].// | + | //Auteur : [[:utilisateurs:v0n]].// |