Proceduren lägger till NCSA-baserad Basic-autentisering i en källbegränsad Squid 6.13-proxy. Debian 13:s hjälpare är /usr/lib/squid/basic_ncsa_auth; bekräfta sökväg och tjänstekonto för ditt paket.

Skapa det första kontot

Använd distributionens verktyg htpasswd och ange lösenordet interaktivt:

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

Ägarskapet förutsätter Debians tjänstegrupp. Squid måste kunna läsa filen; andra användare bör inte. Utelämna -c för senare konton, eftersom det skapar en ny fil och kan ersätta befintliga poster.

Kräv källa och inloggning i samma tillåtelseregel

Placera dessa efter befintliga skydd för destinationsportar, administration, localhost och länklokala adresser:

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

Ersätt klientadressen med källan som Squid ser. Båda villkoren måste stämma. Ta bort tidigare breda klienttillåtelser som skulle kringgå inloggningsregeln men behåll lyssnar- och brandväggsbegränsningarna.

Tolka, läs in på nytt och jämför två begäranden

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

Rätta tolkningsfel och läs in den hanterade Squid-tjänstens konfiguration på nytt före testning. Från en tillåten källa bör en begäran utan inloggningsuppgifter få en autentiseringsutmaning. Jämför med en auktoriserad begäran med proxyns riktiga värdnamn:

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

Om bara användarnamnet anges får curl fråga efter lösenordet. En giltig begäran bör nå destinationen.

Basic-autentisering krypterar inte utbytet mellan klient och proxy. Senare HTTPS till destinationen kan inte skydda uppgifter som redan sänts till en klartextproxy; använd en lämpligt skyddad väg. Direktiven gäller Squid 6.13; se versionsspecifik konfiguration för Squid 8.

Relaterade artiklar