Ich verwende derzeit ip in acl und möchte dazu Benutzername und Passwort verwenden.
Ich verwende derzeit ip in acl und möchte dazu Benutzername und Passwort verwenden.
Antworten:
Hier ist, was ich tun musste, um die Basisauthentifizierung unter Ubuntu 14.04 einzurichten ( ich habe nirgendwo anders eine Anleitung gefunden)
/etc/squid3/squid.conf
anstelle der super aufgeblähten Standardkonfigurationsdatei
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
Bitte beachten Sie das Programm basic_ncsa_auth anstelle des alten Programms ncsa_auth
Für Squid 2.x müssen Sie die /etc/squid/squid.conf
Datei bearbeiten und platzieren:
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
sudo htpasswd -c /etc/squid3/passwords username_you_like
und geben Sie dann zweimal ein Passwort für den gewählten Benutzernamen ein
sudo service squid3 restart
sudo htpasswd -c /etc/squid/passwords username_you_like
und geben Sie dann zweimal ein Passwort für den gewählten Benutzernamen ein
sudo service squid restart
Für die vielen Leute, die mich gefragt haben: Die 2 Tools erzeugen unterschiedliche Dateiformate:
htdigest
speichert das Passwort im Klartext.htpasswd
speichert das Passwort-Hash (verschiedene Hashing-Algen sind verfügbar)Trotz dieses basic_ncsa_auth
Formatunterschieds kann eine mit generierte Kennwortdatei weiterhin analysiert werdenhtdigest
. Daher können Sie alternativ verwenden:
sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like
Beachten Sie, dass dieser Ansatz empirisch und nicht dokumentiert ist und möglicherweise von zukünftigen Versionen von Squid nicht unterstützt wird.
Unter Ubuntu 14.04 htdigest
und htpasswd
sind in den zur Verfügung stehend beiden [apache2-utils][1]
Pakete.
Ähnlich wie oben gilt, aber die Dateipfade sind unterschiedlich.
Installieren Sie Tintenfisch
brew install squid
Starten Sie den Tintenfischservice
brew services start squid
Die Squid-Konfigurationsdatei wird unter gespeichert /usr/local/etc/squid.conf
.
Kommentieren oder entfernen Sie folgende Zeile:
http_access allow localnet
Fügen Sie dann ähnlich wie in der Linux-Konfiguration (jedoch mit aktualisierten Pfaden) Folgendes hinzu:
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
Beachten Sie, dass der Pfad zu basic_ncsa_auth
möglicherweise unterschiedlich sein kann, da er bei der Verwendung von der installierten Version abhängt. brew
Sie können dies mit überprüfen ls /usr/local/Cellar/squid/
. Beachten Sie auch, dass Sie das Obige nur unter dem folgenden Abschnitt hinzufügen sollten:
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
Generieren Sie sich jetzt einen Benutzer: Passwort-Basisauthentifizierungsnachweis (Hinweis: htpasswd
und htdigest
beide sind auch unter MacOS verfügbar)
htpasswd -c /usr/local/etc/squid_passwords username_you_like
Starten Sie den Tintenfischservice neu
brew services restart squid
htpasswd
, tun Sie dies bitte sudo apt-get install apache2-utils
.