Dieses Vorgehen ergänzt einen quellbeschränkten Squid-6.13-Proxy um NCSA-gestützte Basic-Authentifizierung. Unter Debian 13 heißt der Helfer /usr/lib/squid/basic_ncsa_auth; prüfen Sie Pfad und Dienstkonto Ihres Pakets.

Das erste Konto erstellen

Das Dienstprogramm htpasswd der Distribution verwenden und das Passwort interaktiv eingeben:

sudo htpasswd -c /etc/squid/users proxyuser
sudo chown root:proxy /etc/squid/users
sudo chmod 640 /etc/squid/users

Die Eigentümerschaft setzt Debians Dienstgruppe voraus. Squid muss die Datei lesen können, andere Nutzer sollen das nicht. Bei späteren Konten -c weglassen: Es erstellt eine neue Datei und kann vorhandene Einträge ersetzen.

Quelle und Anmeldung in derselben Erlaubnisregel verlangen

Diese Einträge hinter den vorhandenen Schutzregeln für Zielports, Verwaltung, localhost und Link-Local-Adressen einfügen:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/users
auth_param basic realm PrivateProxy

acl proxy_client src 198.51.100.27/32
acl logged_in proxy_auth REQUIRED

http_access allow proxy_client logged_in
http_access deny all

Die Client-Adresse durch die von Squid beobachtete Quelle ersetzen. Beide Bedingungen müssen zutreffen. Frühere breite Client-Freigaben entfernen, die die Anmelderegel umgehen würden; Listener- und Firewallbeschränkungen behalten.

Parsen, neu laden, dann zwei Anfragen vergleichen

sudo squid -k parse -f /etc/squid/squid.conf

Parserfehler beheben und vor dem Test den verwalteten Squid-Dienst neu laden. Eine Anfrage ohne Zugangsdaten von einer erlaubten Quelle sollte zur Authentifizierung aufgefordert werden. Mit einer autorisierten Anfrage unter Verwendung des echten Proxy-Hostnamens vergleichen:

curl --proxy http://proxy.example:3128 --proxy-basic --proxy-user proxyuser --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/

Wird nur der Benutzername angegeben, fragt curl nach dem Passwort. Eine gültige Anfrage sollte das Ziel erreichen.

Basic-Authentifizierung verschlüsselt den Austausch zwischen Client und Proxy nicht. Späteres HTTPS zum Ziel schützt keine Zugangsdaten, die bereits an einen Klartextproxy gesendet wurden; verwenden Sie einen angemessen geschützten Weg. Diese Direktiven gelten für Squid 6.13; für Squid 8 die versionsspezifische Konfiguration heranziehen.

Ähnliche Artikel