Come impostare un proxy squid con autenticazione di base di nome utente e password? [chiuso]


88

Attualmente utilizzo ip in acl e desidero utilizzare nome utente e password per farlo.


Ecco un altro esempio su come configurare Squid3 con un'autenticazione in stile htdigest
hendry

ecco una guida completa all'installazione e configurazione di Squid3
hevi

Risposte:


205

Ecco cosa ho dovuto fare per configurare l'autenticazione di base su Ubuntu 14.04 (non ho trovato una guida da nessun'altra parte)

Base calamari conf

/etc/squid3/squid.conf invece del file di configurazione predefinito super gonfio

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

Si prega di notare il programma basic_ncsa_auth invece del vecchio ncsa_auth

calamari 2.x

Per squid 2.x è necessario modificare il /etc/squid/squid.conffile e posizionare:

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

Configurazione di un utente

sudo htpasswd -c /etc/squid3/passwords username_you_like

e inserisci una password due volte per il nome utente scelto, quindi

sudo service squid3 restart

calamari 2.x

sudo htpasswd -c /etc/squid/passwords username_you_like

e inserisci una password due volte per il nome utente scelto, quindi

sudo service squid restart

htdigest vs htpasswd

Per le molte persone che me lo hanno chiesto: i 2 strumenti producono diversi formati di file:

  • htdigest memorizza la password in testo normale.
  • htpasswd memorizza l'hash della password (sono disponibili vari algoritmi di hashing)

Nonostante questa differenza di formato basic_ncsa_auth sarà comunque in grado di analizzare un file di password generato conhtdigest . Quindi puoi alternativamente usare:

sudo htdigest -c /etc/squid3/passwords realm_you_like username_you_like

Fai attenzione che questo approccio è empirico, non documentato e potrebbe non essere supportato dalle versioni future di Squid.

Su Ubuntu 14.04 htdigeste htpasswdsono entrambi disponibili nel [apache2-utils][1]pacchetto.

Mac OS

Si applica come sopra, ma i percorsi dei file sono diversi.

Installa i calamari

brew install squid

Avvia il servizio di calamari

brew services start squid

Il file di configurazione di Squid è archiviato in /usr/local/etc/squid.conf.

Commenta o rimuovi la riga seguente:

http_access allow localnet

Quindi simile alla configurazione di Linux (ma con percorsi aggiornati) aggiungi questo:

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

Tieni presente che il percorso basic_ncsa_authpotrebbe essere diverso poiché dipende dalla versione installata durante l'utilizzo brew, puoi verificarlo con ls /usr/local/Cellar/squid/. Nota anche che dovresti aggiungere quanto sopra appena sotto la seguente sezione:

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

Ora genera un utente: credenziale di autenticazione di base password (nota: htpasswde htdigestsono disponibili anche su MacOS)

htpasswd -c /usr/local/etc/squid_passwords username_you_like

Riavvia il servizio di calamari

brew services restart squid

1
Risolto ora. Grazie Marco.
Stefano Fratini

11
Per me il comando htdigest non ha funzionato, tuttavia una volta sostituito con "sudo htpasswd -cd / etc / squid3 / passwords admin" ha funzionato come previsto.
Phil Hannent

2
Questo è quello che ho pensato anche se ha funzionato per me. C'è stata una discussione collegata a questo post con il 50% delle persone che ha affermato che funziona e il 50% ha suggerito una modifica a htpasswd. Non avevo abbastanza reputazione per partecipare alla discussione però ... :(
Stefano Fratini

2
ha funzionato per me, ma ho anche dovuto usare htpasswd invece di htdigest, non so perché ma in questo modo ha funzionato.
Stefano

23
Se il tuo sistema non ha htpasswd, fallo sudo apt-get install apache2-utils.
exebook
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.