# Autenticazione attraverso proxy squid

## Ob1w4n

Ciao.

Ho una serie di macchine che accedono al web tramite un proxy squid. Purtroppo, però, hanno la necessità di vedere una pagina che richiede un'autenticazione.

Il problema sta nel fatto che non appare il pannellino di autenticazione del browser e la pagina da accesso negato automaticamente, col seguente errore: 

"

HTTP 401.2 - Unauthorized: Logon failed due to server configuration

Internet Information Services

"

Ho cercato un pò in rete e sembra che non ci sia verso di risolvere questo problema che mi sta facendo sclerare da oltre 1 mese.

Ho provato a far mettere sul web server l'autenticazione basic non criptata (è un server all'interno di una intranet), e qualcuno mi ha parlato di headers.

C'è qualcuno che può aiutarmi ?   :Crying or Very sad:   :Crying or Very sad: 

Grazie 1000

----------

## .:chrome:.

guarda nella documentazione del pacchetto: /usr/share/doc/squid

ci sono dei documenti che spiegano bene come implementare l'autenticazione e come configurare l'helper

spesso basta copiare le righe di esempio che trovi lì

----------

## Ob1w4n

Putroppo in quella documentazione non ho trovato nulla che faccia al caso mio.

Tra l'altro mi è stato riferito che non si riescono a visualizzare neanche i siti di posta via web, tipo Libero, Tiscali, Hotmail.

Ovvero la home passa, ma dopo aver inserito utente e password più nulla. Compare semplicemente una schermata bianca.

Nessuno ha qualche altra idea ?

Thx

----------

## .:deadhead:.

ciao , potresti per favore postare il file di conf che dai in pasto a squid?

----------

## Dr.Dran

Per darti una mano ho improvvisato questa conf al volo su una virtual machine che ho con squid installato e webmin... ovviamente cambia qualche cosina, ma non credo per quello che riguarda l'autorizzazione e l'helper per autenticarsi:

Ho utilizzato la seguente riga per le autenticazioni:

```
auth_param basic program /usr/lib/squid/ncsa_auth /etc/webmin/squid/users
```

Il file /etc/webmin/squid/users contiene gli utenti creati nella sezione del modulo di webmin e la struttura e' simile a questa:

```
pippo:53SzY.dY5sef2

ciccio:60JJme5ETFN0U

dingo:41cKb90IYYxqE

```

Quindi Nome_utente:password_in_hash

Successivamente sta a te applicare delle regole per fare in modo che il proxy funzioni come si deve:

```
http_access allow localhost

http_access allow LIMITATI !SITIProibiti

http_access allow BUONI

acl LIMITATI proxy_auth pippo ciccio

acl SITIProibiti dstdomain hotmail.com www.hotmail.com msn.com

acl BUONI proxy_auth dingo

```

N.B. la configurazione l'ho relizzata in maniera sbrigativa quindi può contenere errori, comunque il succo del discorso e' il seguente: ho creato una ACL in cui definisco che i LIMITATI/BUONI sono gli utenti che si sono autenticati mediante la finestra di pop-up di squid e che hanno come username quello indicato di seguito. Successivamente ho indicato una ACL di nome SITIProibiti che indica i siti che non voglio che gli utenti facenti parte dei LIMITATI vedano.

Un bel pò raffazzonata ma credo che possa darti una buon dritta... comunque sulla documentazione ufficiale di Squid devi andare a controllare la sezione che riguarda la proxy autentication (il link e' pure in Italiano, cosa vuoi di +!!!  :Very Happy: ).

Ciauz  :Very Happy: 

----------

## Ob1w4n

Draxx ora non ho tempo, ma poi controllo anche il tuo consiglio

cmq questo è il mio conf:

```

http_port 3128

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?

no_cache deny QUERY

cache_mem 64 MB

access_log /var/log/squid/access.log squid

redirect_children 10

auth_param basic program /usr/lib/squid/squid_ldap_auth -b ou=People,dc=XXX,dc=YYYYYY,dc=ZZ -s one -v 3 -P -H ldaps://localhost:636

auth_param basic children 10

auth_param basic realm XXX.YYYYYY.XX

auth_param basic credentialsttl 8 hours

auth_param basic casesensitive on

authenticate_cache_garbage_interval 1 hour

authenticate_ttl 2 hour

refresh_pattern ^ftp:           1440    20%     10080

refresh_pattern ^gopher:        1440    0%      1440

refresh_pattern .               0       20%     4320

acl ldap_pwd proxy_auth REQUIRED

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563

acl Safe_ports port 80          # http

acl Safe_ports port 21          # ftp

acl Safe_ports port 443 563     # https, snews

acl Safe_ports port 70          # gopher

acl Safe_ports port 210         # wais

acl Safe_ports port 1025-65535  # unregistered ports

acl Safe_ports port 280         # http-mgmt

acl Safe_ports port 488         # gss-http

acl Safe_ports port 591         # filemaker

acl Safe_ports port 777         # multiling http

acl Safe_ports port 901         # SWAT

acl purge method PURGE

acl CONNECT method CONNECT

acl our_networks src 172.17.33.0/24

http_access allow ldap_pwd our_networks

http_access allow localhost

http_access deny all

http_access allow ldap_pwd

http_reply_access allow all

icp_access allow all

visible_hostname        blue05

forwarded_for off

coredump_dir /var/cache/squid

```

----------

## Dr.Dran

Dalla tu a configurazione, vedo già che ti manca un helper per l'autenticazione   :Very Happy: 

Ciauz   :Wink: 

----------

## .:chrome:.

 *DranXXX wrote:*   

> Dalla tu a configurazione, vedo già che ti manca un helper per l'autenticazione

 

ribadisco quanto detto all'inizio

nella documentazione si trova TUTTO, compreso quel dettaglio

se vuoi una spiegazione completa, se vuoi, posso fare un copia & incolla

----------

## Dr.Dran

 *DranXXX wrote:*   

> *

 

Mi autocito perchè ho fatto una imprecisione, direi che l'helper lo hai configurato per una autenticazione tramite ldap... mmm direi che non ci hai spiegato per niente bene la situazione della tua rete... e comunque mi associo in questo caso con k.gothmog nel ribadire che il tutto e' citato nella sezione del manuale di squid (fra l'altro ti ho inviato il link pure per quello in italiano...)   :Wink: 

Consiglio: documentatevi prima di fare una configurazione azzardata, Google e' vostro amico e il forum pure; xò cercate di essere + precisi, visto che le situazioni sono differenti come le soluzioni dei problemi   :Wink: 

Ciauz

----------

## Kernel78

Non posso che essere d'accordo con Dran e k per tre semplici motivi:

1) hanno ragione

2) tempo addietro avevo postato pure io il link che ha postato dran per aiutare un altro forumita che aveva problemi con squid

3) anche io uso ldap per l'autenticazione di squid e la documentazione per l'autorizzazione proviene da quel link

----------

## Ob1w4n

Ragazzi scusate. E' chiaro che mi sono spiegato male.

L'autenticazione funziona. Cioè, io ho impostato l'helper ldap e funziona correttamente. Gli utenti chiedono una pagina, esce il pannellino di autenticazione e poi li fa navigare.

Ma questa è l'autenticazionel proxy.

Io stavo parlando di autenticazione su una pagina web protetta.

Cioè io prima mi autentico sul proxy e ok. Poi chiedo l'url http://vatte.la.pesca e questo, in condizioni normali dovrebbe presentarmi un ulteriore pannellino di autenticazione, che è quella sua non di squid.

Ed ecco che qui non so... lo squid non comunica questa cosa al mio brower con il risultato che la pagina mi viene negata, ma dal web server remoto, non dal mio proxy locale.

Spero di essere stato più chiaro stavolta.

Ciao

----------

## Kernel78

Ok, allora è diverso da quello che avevo capito  :Wink: 

Sei sicuro che il problema non sia nel server remoto ? se rimuovi la parte relativa all'autenticazione da squid e provi ad accedere alla pagina funziona o da sempre errore ? come è implementata l'autenticazione sulla pagina ?

----------

## Ob1w4n

Allora. Se io accedo a quella pagina SENZA passare dal proxy (quindi dall'ip pubblico del gateway stesso con proxy disattivato), mi chiede correttamente l'autenticazione.

Se rimuovessi la parte di autenticazione da squid non uscirebbe + nessuno perchè gli utenti devono per forza essere autenticati per accedere all'esterno.

L'autenticazione sulla pagina dovrebbe essere sia basic che ntlm (o criptata, non so di preciso). Comunque è un servizio di Micro$oft Share Point, quindi sarà la stessa di nt.

----------

## Ob1w4n

Quindi  ?

Nessuno sa niente ?

----------

## Kernel78

Non mi torna quello che dici...

 *Quote:*   

> Se rimuovessi la parte di autenticazione da squid non uscirebbe + nessuno perchè gli utenti devono per forza essere autenticati per accedere all'esterno.

 

Se da squid togli la necessità di autenticarsi quale sistema ne richiederebbe l'autentificazione per farli accedere all'esterno   :Confused: 

----------

## Ob1w4n

No quella è una questione burocratica. Intendevo dire che non posso far passare nessuno che non sia autenticato su ldap

----------

## Kernel78

 *Ob1w4n wrote:*   

> No quella è una questione burocratica. Intendevo dire che non posso far passare nessuno che non sia autenticato su ldap

 

Ma neanche per delle prove ? al massimo imposti temporaneamente la configurazione affinchè faccia uscire il tuo ip senza autentificazione.

Magari sono prove inutili ma almeno aiuterebbe a capire se è squid in generale o la parte relativa all'autentificazione a creare problemi...

----------

## Ob1w4n

guarda, è passato un pò di tempo, ma mi pare di aver già fatto questo test.

Inoltre dal mio pc, che si trova su un'altra sottorete e non passa da alcun proxy, quella pagina funziona correttamente. Cioè mi chiede un'autenticazione DEL SITO e poi se ci sai la pass entri, se no no

----------

## Dr.Dran

Ciao! beh dunque la cosa allora e' differente, quindi il problema di autenticazione non era del proxy, ma di un sito esterno, bene orientati sul discorso porte filtrate, eventuamente con ethereal controlla tramite il pc che hai utilizzato bypassando il proxy a vedere che tipo di connessione fa e che porta va ad interessare, magari e' bloccata da squid e quindi si tratterebbe di abilitarla, e se vuoi essere restrittivo abilitarla solo per quell'indirizzo o dominio  :Very Happy: 

Ciauz fammi sapere  :Very Happy: 

----------

