web-dev-qa-db-fra.com

Comment configurer un proxy squid avec une authentification de base par nom d'utilisateur et mot de passe?

J'utilise actuellement ip dans acl, et je souhaite utiliser un nom d'utilisateur et un mot de passe pour le faire.

77
www

Voici ce que je devais faire pour configurer l'authentification de base sur buntu 14.04 (je n'ai trouvé aucun guide ailleurs)

Confiture basique

/etc/squid3/squid.conf _ à la place du fichier de configuration par défaut très gonflé

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

# Choose the port you want. Below we set it to default 3128.
http_port 3128

Veuillez noter le programme basic_ncsa_auth à la place de l'ancien ncsa_auth

calmar 2.x

Pour squid 2.x, vous devez éditer /etc/squid/squid.conf fichier et lieu:

auth_param basic program /usr/lib/squid/digest_pw_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

Mise en place d'un utilisateur

Sudo htpasswd -c /etc/squid3/passwords username_you_like

et entrez un mot de passe deux fois pour le nom d'utilisateur choisi puis

Sudo service squid3 restart

calmar 2.x

Sudo htpasswd -c /etc/squid/passwords username_you_like

et entrez un mot de passe deux fois pour le nom d'utilisateur choisi puis

Sudo service squid restart

htdigest vs htpasswd

Pour les nombreuses personnes qui m'ont demandé: les 2 outils produisent différents formats de fichiers:

  • htdigest stocke le mot de passe en texte brut.
  • htpasswd stocke le mot de passe haché (différents algorithmes de hachage sont disponibles)

Malgré cette différence de format basic_ncsa_authpourra toujours analyser un fichier de mot de passe généré avec htdigest. Vous pouvez donc utiliser alternativement:

Sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like

Attention, cette approche est empirique, non documentée et pourrait ne pas être prise en charge par les versions futures de Squid.

Sur Ubuntu 14.04 htdigest et htpasswd sont tous deux disponibles dans le [Apache2-utils][1] paquet.

MacOS

De même que ci-dessus s'applique, mais les chemins de fichiers sont différents.

Installer un calmar

brew install squid

Commencer le service de calmar

brew services start squid

Le fichier de configuration Squid est stocké dans /usr/local/etc/squid.conf.

Commenter ou supprimer la ligne suivante:

http_access allow localnet

Puis similaire à linux config (mais avec les chemins mis à jour) ajoutez ceci:

auth_param basic program /usr/local/Cellar/squid/4.8/libexec/basic_ncsa_auth /usr/local/etc/squid_passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

Notez ce chemin vers basic_ncsa_auth peut être différent car cela dépend de la version installée lors de l’utilisation de brew, vous pouvez le vérifier avec ls /usr/local/Cellar/squid/. Notez également que vous devriez ajouter ce qui précède juste en dessous de la section suivante:

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

Générez maintenant vous-même un utilisateur: mot de passe des informations d’authentification de base (remarque: htpasswd et htdigest sont également disponibles sur MacOS)

htpasswd -c /usr/local/etc/squid_passwords username_you_like

Redémarrez le service de calmar

brew services restart squid
177
Stefano Fratini