Authentification NSCA avec Squid


Note Importante
Sous Debian Buster, malgré le faite d'installer Squid3, les sources sont /etc/squid
Penser donc à modifier les chemins décrits dans ce tutau.

Squid est déjà installé et fonctionnelle en mode open.
Voici les étapes à ajouter a son fichier de conf pour bénéficier de l'authentification par POP-UP:

Tout d’abord il va falloir créer le fichier qui contiendra les comptes users pour le proxy.
En mode Root:

truncate -s 0 /etc/squid/users
chown root:proxy /etc/squid/users
chmod 0640 /etc/squid/users

Aura pour effet de créer un fichier vide users avec les droits et ACL adéquat.
Pour ajouter des utilisateurs, utilisez :

htpasswd -m /etc/squid/users <nom de l'utilisateur>

Pour vérifier que le fichier est correct et fonctionnera avec Squid utilisez la commande suivante :

/usr/lib/squid3/basic_ncsa_auth /etc/squid/users

Rentrez votre login et votre mot de passe de la manière suivante :

<login> <mot de passe>

Si la réponse est OK tout est bon, si la réponse est ERR vérifiez votre fichier users.

Configuration de SQUID:
Éditez le fichier /etc/squid/squid.conf de configuration de Squid

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/users
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server Perso
auth_param basic credentialsttl 2 hours

Ensuite, dans la partie acl rajouter la ligne suivante :

acl Users proxy_auth REQUIRED
http_access allow Users

Pour finir il faut relancer Squid :

sudo /etc/init.d/squid3 restart

Pour contrôler l'état du service avec systemctl:

systemctl status squid.service

Renvoie:

● squid.service - Squid Web Proxy Server
   Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-07-07 21:53:46 CEST; 23s ago
     Docs: man:squid(8)
  Process: 5566 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
  Process: 5570 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
 Main PID: 5571 (squid)
    Tasks: 9 (limit: 2200)
   Memory: 13.9M
   CGroup: /system.slice/squid.service
           ├─5571 /usr/sbin/squid -sYC
           ├─5573 (squid-1) --kid squid-1 -sYC
           ├─5594 (basic_ncsa_auth) /etc/squid/users
           ├─5595 (basic_ncsa_auth) /etc/squid/users
           ├─5596 (basic_ncsa_auth) /etc/squid/users
           ├─5597 (basic_ncsa_auth) /etc/squid/users
           ├─5598 (basic_ncsa_auth) /etc/squid/users
           ├─5599 (logfile-daemon) /var/log/squid/access.log
           └─5600 (pinger)
 
juil. 07 21:53:46 RazorbackPi squid[5573]: Max Swap size: 0 KB
juil. 07 21:53:46 RazorbackPi squid[5573]: Using Least Load store dir selection
juil. 07 21:53:46 RazorbackPi squid[5573]: Current Directory is /
juil. 07 21:53:46 RazorbackPi squid[5573]: Finished loading MIME types and icons.
juil. 07 21:53:46 RazorbackPi squid[5573]: HTCP Disabled.
juil. 07 21:53:46 RazorbackPi squid[5573]: Pinger socket opened on FD 24
juil. 07 21:53:46 RazorbackPi squid[5573]: Squid plugin modules loaded: 0
juil. 07 21:53:46 RazorbackPi squid[5573]: Adaptation support is off.
juil. 07 21:53:46 RazorbackPi squid[5573]: Accepting HTTP Socket connections at local=[::]:8080 remote=[::] FD 22 flags=9
juil. 07 21:53:47 RazorbackPi squid[5573]: storeLateRelease: released 0 objects