Această procedură adaugă autentificare Basic bazată pe NCSA la un proxy Squid 6.13 restricționat după sursă. Ajutorul din Debian 13 este /usr/lib/squid/basic_ncsa_auth; confirmați calea și contul serviciului pentru pachet.

Creați primul cont

Folosiți utilitarul htpasswd al distribuției și introduceți parola interactiv:

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

Proprietatea presupune grupul serviciului Debian. Squid trebuie să citească fișierul, ceilalți utilizatori nu. Pentru conturi ulterioare omiteți -c, care creează un fișier nou și poate înlocui intrări existente.

Cereți sursa și autentificarea în aceeași regulă de permitere

Puneți acestea după protecțiile existente pentru porturi de destinație, administrare, localhost și adrese link-local:

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

Înlocuiți adresa clientului cu sursa observată de Squid. Ambele condiții trebuie să corespundă. Eliminați permisiuni largi anterioare pentru clienți care ar ocoli regula de autentificare, păstrând restricțiile listenerului și firewallului.

Analizați, reîncărcați și comparați două cereri

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

Corectați erorile de analiză și reîncărcați serviciul Squid gestionat înainte de test. Dintr-o sursă permisă, o cerere fără credențiale ar trebui să primească o solicitare de autentificare. Comparați cu o cerere autorizată folosind numele real al gazdei proxy:

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

Dând doar numele de utilizator, curl va cere parola. O cerere validă ar trebui să ajungă la destinație.

Basic nu criptează schimbul client-proxy. HTTPS ulterior al destinației nu protejează credențialele deja trimise unui proxy în clar; folosiți o cale protejată corespunzător. Directivele sunt pentru Squid 6.13; pentru Squid 8 consultați configurația specifică versiunii.

Articole similare