La procedura aggiunge l’autenticazione Basic basata su NCSA a un proxy Squid 6.13 limitato per origine. L’helper di Debian 13 è /usr/lib/squid/basic_ncsa_auth; verifica percorso e account di servizio del tuo pacchetto.

Creare il primo account

Usa l’utilità htpasswd della distribuzione e inserisci la password in modo interattivo:

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

La proprietà presuppone il gruppo di servizio di Debian. Squid deve leggere il file; gli altri utenti non devono. Per gli account successivi ometti -c, che crea un nuovo file e può sostituire le voci esistenti.

Richiedere origine e accesso nella stessa regola di permesso

Posiziona queste righe dopo le protezioni esistenti per porte di destinazione, gestione, localhost e indirizzi 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

Sostituisci l’indirizzo client con l’origine osservata da Squid. Devono corrispondere entrambe le condizioni. Rimuovi precedenti autorizzazioni client ampie che aggirerebbero la regola di accesso, mantenendo i limiti del listener e del firewall.

Analizzare, ricaricare e confrontare due richieste

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

Correggi gli errori di analisi, poi ricarica il servizio Squid gestito prima di provare. Da un’origine consentita, una richiesta senza credenziali dovrebbe ricevere una richiesta di autenticazione. Confrontala con una richiesta autorizzata usando il vero hostname del proxy:

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

Specificare soltanto il nome utente fa chiedere a curl la password. Una richiesta valida dovrebbe raggiungere la destinazione.

Basic non cifra lo scambio tra client e proxy. Il successivo HTTPS della destinazione non protegge credenziali già inviate a un proxy in chiaro; usa un percorso adeguatamente protetto. Queste direttive riguardano Squid 6.13; per Squid 8 consulta la configurazione specifica della versione.

Articoli correlati