14th giugno 2008

Squid – Come configurare l’autenticazione su squid

Dopo aver spiegato come configurare Squid nei suoi elementi basilari, vediamo ora come aumentarne la sicurezza, inserendo un meccanismo di autenticazione, onde evitare che chiunque possa usare il nostro proxy per navigare.

Presupposto di questo articolo è che abbiate già uno squid funzionante, senza alcun meccanismo di autenticazione.

Innanzitutto dobbiamo discriminare come abbiamo installato il nostro squid

1- Compilato da sorgenti

2- Pacchetto Slackware

nel primo caso l’eseguibile ncsa_auth dovrebbe essere già installato nel nostro sistema, nel secondo caso purtroppo, dovremo provvedere a compilarcelo a mano.

Basta scaricare i sorgenti di Squid e fare quanto segue:

root@localhost:# wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE6.tar.gz
root@localhost:# tar -zxvf squid-3.0.STABLE6.tar.gz
root@localhost:# cd squid-3.0.STABLE6
root@localhost:# ./configure && make ./configure --prefix=/usr/local/squid
root@localhost:# cd helpers/basic_auth/NCSA/
root@localhost:# make
root@localhost:# make install

A questo punto nella cartella /usr/local/squid/libexec/ncsa_auth dovremmo avere l’eseguibile che ci serve.

Editiamo ora il file /etc/squid/squid.conf

decommentiamo la riga

#auth_param basic program < uncomment and complete this line >

e facciamola diventare

auth_param basic program /usr/local/squid/libexec/ncsa_auth /etc/squid/passwd

dove il file /etc/squid/passwd sarà il file che conterrà user e password degli utenti che potranno usare il nostro proxy.

Ora non resta che specificare una acl che abiliti l’autenticazione con l’istruzione proxy_auth.

acl nomeacl proxy_auth REQUIRED

e di seguito permettere l’accesso a questa acl

http_access allow nomeacl

Creiamo ora il primo user che potrà usare il nostro proxy, tramite il comando

root@localhost:# htpasswd -c passwd nomeutente
New password:
Re-type new password:
Adding password for user nomeutente

Riavviamo lo squid con

root@localhost:# /etc/rc.d/rc.squid restart

da ora in avanti il nostro proxy chiederà l’autenticazione tramite una finestra, ogni volta che si vorrà navigare mediante lui.

Saluti

posted in Internet, demoni, linux, networking | 2 Comments

14th giugno 2008

Come installare e configurare Squid

SQUID è un caching proxy per il web per i protocolli HTTP, HTTPS, FTP e molti altri.

Mi è nata la necessità di configurarlo a casa, in quanto lavorando spesso in giro per il pianeta a volte ho la necessità di una navigazione libera, che spesso non ci è concessa, e questa soluzione fa a pieno al caso nostro.

In questo breve articolo spiegherò (o almeno cercherò di farlo), come configurare squid in pochi passi, inserendo oltre alla navigazione tramite proxy, anche una rudimentale autenticazione onde evitare che chiunque ci possa usare per navigare.

Innanzitutto procuriamoci i sorgenti, i pacchetti della nostra distro o quello che meglio ci va per installarelo.

Nel caso di sorgenti il sito di riferimento è squid-cache.org, io utilizzando ul server slackware, mi sono avvalso del pacchetto messo a disposizione da linuxpackages.net.

Seguirà la spiegazione su come installare il pacchetto slackware (la compilazione da sorgenti la evito in quanto banale come al solito, ./configure && make all && make install fine).

Installiamo il pacchetto slackware, loggandoci come root

wget http://slackware.rol.ru/linuxpackages/Slackware/Slackware-12.1/Daemon/Squid/squid-3.0.STABLE6-i486-1zan.tgz

installpkg squid-3.0.STABLE6-i486-1zan.tgz

A questo punto il pacchetto è stato installato correttamente, e non ci resta che editare il file squid.conf

pico /etc/squid/squid.conf

Editiamo la porta su cui vogliamo che giri il nostro SQUID, nel mio esempio pratico ho utilizzato la porta 443, modificando la riga

http_port 3128 in http_port 443

all’interno di questo file non ci resta che modificare le seguenti voci

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

ora bisogna editare correttamente le ultime due voci cache_effective_user e cache_effective_group, che servono a indicare gli utenti effettivi con cui lo squid lavorerà, il consiglio è di creare un utente e un gruppo che si chiamano squid, poi chiaramente siete liberi di scegliere che gruppi e utenti volete al riguardo.

groupadd squid
useradd -g squid squid

ultima cosa che rimane da fare, almeno per questa guida, è impostare l’acl che permette la navigazione, andiamo a modificare

http_access deny all

e settiamola come

http_access allow all

e abbiamo finito.

Questa semplice configurazione, serve solo a tirare su lo squid e usarlo come proxy, non abbiamo fatto attenzione a nulla, andrebero impostate opportune acl per la lan, e eventualmente un meccanismo di autenticazione (cosa che spiegherò nel prossimo articolo).

Il tutto è stato creato seguendo la guida di riferimento http://tldp.org/HOWTO/TransparentProxy-4.html

Saluti

posted in Internet, howto, linux, networking, sicurezza, slackware | 4 Comments

  • Etichette

  • Statistiche