[Linux] Proxy Squid + authentification AD

 

Installation de SQUID sur Centos

 

 

Version de l’OS: 6.8 (minimal version)
Version de SQUID: 3 4

 

Pré-requis
Voir l’article Préparation d’une machine Centos 6.x

 

 

Installation des paquets suivants :

$ sudo yum install bind-utils ntp vim

 

Synchronisation du ntp

Commenter les serveurs pools par défaut

$ sudo vim /etc/ntp.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

 

Ajouter notre serveur de temps avec la commande « echo » puis on implémente le fichier avec « >> »

$ sudo echo "server NOMouADRESSEIPduSERVEURAD" >> /etc/ntp.conf

 

On synchronise

$ sudo ntpdate NOMouADRESSEIPduSERVEURAD

 

Puis on démarre le service et on le met en automatique.

$ sudo service ntpd start && chkconfig ntpd on

 

Installation du paquet Squid et des pré-requis.

$ sudo yum install krb5-workstation samba-common samba-winbind authconfig squid

 

Connexion à l’AD, attention sensible à la case. Bien respecter les majuscules.

$ sudo ADSERVER=nomducontrolleur.DOMAINE.tld
$ sudo DOMAIN=DOMAINE.tld
$ sudo WORKGROUP=DOMAINE
$ sudo authconfig --enableshadow --enablemd5 --passalgo=md5 --krb5kdc=$ADSERVER --krb5realm=$DOMAIN --smbservers=$ADSERVER --smbworkgroup=$WORKGROUP --enablewinbind --enablewinbindauth --smbsecurity=ads --smbrealm=$DOMAIN --smbidmapuid="16777216-33554431" --smbidmapgid="16777216-33554431" --winbindseparator="+" --winbindtemplateshell="/bin/false" --enablewinbindusedefaultdomain --disablewinbindoffline --winbindjoin=Administrator --disablewins --disablecache --enablelocauthorize --updateall
$ sudo service winbind restart && chkconfig winbind on

 

Donner des autorisations a squid pour utiliser Winbind

$ sudo usermod -G wbpriv squid

 

Puis interroger le serveur en utilisant les commandes suivantes, il devra renvoyer les utilisateurs et les groupes

$ sudo wbinfo -u
$ sudo wbinfo -g

 

Configuration du Squid
éditer le fichier /etc/squid/squid.conf et commenter http_access allow localnet
Puis rajouter les lignes ci dessous

acl whitelist dstdom_regex -i "/etc/squid/whitelist"
http_access allow whitelist
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
acl our_networks src 192.168.0.0/16
acl ntlm proxy_auth REQUIRED
http_access allow our_networks ntlm
authenticate_ip_ttl 900 seconds

 

Puis il reste a créer le fichier de liste blanche, pour inclure les serveurs délivrant des mise a jour comme Microsoft, antivirus, firewall … ceci n’auront pas besoin d’authentification pour etre consulter

$ sudo vim /etc/squid/whitelist

 

et ajouter

\.microsoft\.com
^microsoft\.com

 

Il n’y a plus qu’a démarrer le service Squid et le mettre en automatique

$ sudo chkconfig squid on && service squid start

 

/!\ Penser a réactivé et mettre le service en auto Iptables et autorisé le port par défaut de Squid 3128

$ sudo iptables -I INPUT -m tcp -p tcp --dport 3128 -j ACCEPT

 

 

No votes yet.
Please wait...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.