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-commonsamba-winbindauthconfigsquid
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