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

85

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

www
la source
Voici un autre exemple de configuration de Squid3 avec une authentification de style htdigest
hendry
voici un guide complet pour l'installation et la configuration de Squid3
hevi

Réponses:

202

Voici ce que j'ai dû faire pour configurer l'authentification de base sur Ubuntu 14.04 ( je n'ai trouvé de guide nulle part ailleurs)

Confiture de calmar de base

/etc/squid3/squid.conf au lieu du fichier de configuration par défaut super 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 au lieu de l'ancien ncsa_auth

calmar 2.x

Pour squid 2.x, vous devez éditer le /etc/squid/squid.conffichier et placer:

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

Configurer 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 posé la question: 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é (divers algos de hachage sont disponibles)

Malgré cette différence de format, vous basic_ncsa_auth pourrez toujours analyser un fichier de mot de passe généré avechtdigest . Par conséquent, vous pouvez également utiliser:

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

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

Sur Ubuntu 14.04 htdigestet htpasswdsont tous deux disponibles dans le [apache2-utils][1]package.

MacOS

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

Installer squid

brew install squid

Démarrer le service de calmar

brew services start squid

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

Commentez ou supprimez la ligne suivante:

http_access allow localnet

Ensuite, similaire à la configuration Linux (mais avec des 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 que le chemin vers basic_ncsa_authpeut être différent car il dépend de la version installée lors de l'utilisation brew, vous pouvez le vérifier avec ls /usr/local/Cellar/squid/. Notez également que vous devez 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
#

Maintenant, générez vous-même un utilisateur: mot de passe des informations d'authentification de base (note: htpasswdet htdigestsont également disponibles sur MacOS)

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

Redémarrez le service squid

brew services restart squid
Stefano Fratini
la source
1
Corrigé maintenant. Merci Mark.
Stefano Fratini
11
Pour moi, la commande htdigest ne fonctionnait pas, mais une fois que je l'avais substituée à "sudo htpasswd -cd / etc / squid3 / passwords admin", elle fonctionnait comme prévu.
Phil Hannent
1
C'est ce que je pensais même si cela fonctionnait pour moi. Il y a eu une discussion liée à ce message avec 50% des personnes disant que cela fonctionne et 50% suggérant un changement pour htpasswd. Cependant, je n'avais pas assez de réputation pour participer à la discussion ... :(
Stefano Fratini
2
a fonctionné pour moi, mais j'ai également dû utiliser htpasswd au lieu de htdigest, je ne sais pas pourquoi mais de cette façon cela a fonctionné.
Pisu
21
Si votre système ne l'a pas htpasswd, faites-le sudo apt-get install apache2-utils.
exebook du