Squid http Proxy

Riassunto comandi

squid -k rotate # ruota i log
squid3 -zX # inizializzare le directory di caching
squid3 -k kill # uccidere il processo          
squid -k reconfigure # fa rileggere il file di configurazione
squid3 -N -d1  #avvio di squid con output su console con -N si visualizza tutto l'output a console e con -d1 imposta il livello di debug a 1
squid3 -s # per lanciarlo come demone oppure senza opzioni
squid -v # si ottiene la versione con tutte le configure options con cui è stato compilato

La mia guida preferita su squid

Squid book oltre le faq è un ottima guida con tante informazioni utili si trova a questa pagina. L'ultima volta che l'ho guardata era ferma al 2005 quindi non può essere l'unica guida ma vanno viste anche quelle più aggiornate ma è un ottimo punto di partenza.

Su questo wiki c'è anche la pagina di squidguard.

PASSI D'INSTALLAZIONE e primo running

se si vuole usare la versione 2.x basta sostituire a "squid3" "squid"

- installare la versione 3
- creare l'utente squid in modo che possa accedere solo a le sue cose e cambiare i proprietari delle cartelle di configurazione /etc/squid3 e del binario /usr/sbin/squid e dei log /var/log/squid3 /usr/share/squid

  1. chown -R squid:squid /etc/squid/ /usr/sbin/squid /var/log/squid /usr/share/squid

- creare lo squid.conf
- inizializzare le directory di caching squid3 -zX la X serve per vedere l'operazione in progresso quando ci vuole un po' di tempo
- vedere se il file d'inizializzazione è scritto corretto "squid3 -k parse"
- uccidere il processo squid3 -k kill reconfigure fa rileggere il file di configurazione

- squid3 -N -d1 con -N si visualizza tutto l'output a console e con -d1 imposta il livello di debug a 1
- per lanciarlo come demone squid3 -s oppure senza opzioni
- con squid -v si ottiene la versione con tutte le configure options con cui è stato compilato

File di configurazione

Ecco un file di configurazione con fasce orarie di connessione, blocco di internet explorer, elenco di siti istituzionali sempre accessibili, e collegamento del proxy per il controllo dei siti.

http_port 8080

cache_mem 96 MB
maximum_object_size 8129 KB

cache_dir ufs /usr/share/squid/var/cache 7500 16 256
#non memorizza pi?? di 100 MB nella directory
#non pi?? di 16 sotto-directory nel primo livello e 256 nel secondo

cache_effective_user squid
cache_effective_group squid
#solo se squid ?¨ avviato da root viene cambiato l'uid e il gid per portarlo al gruppo impostato

acl localnet src 192.168.100.0/255.255.255.0
acl all src 192.168.100.0/255.255.255.0

acl ie_browser browser ^Mozilla/4\.0 .compatible; MSIE # die!!
acl bad_browser browser ^Gator # Gator is also crap!
acl updatewin dstdomain .microsoft.com
acl windowsupdate dstdomain .windowsupdate.com # sometimes you have to live with the evil ...
acl windowsupdate dstdomain .windowsupdate.microsoft.com

#acl per le fasce orarie
acl fascia1 time M T W T F S A 11:00-13:25
acl fascia2 time M T W T F S A 15:00-16:00
acl fascia3 time M T W T F S A 19:00-22:00
#################

#siti sempre accessibili
acl istituzionali url_regex "/etc/squid/siti-istituzionali.txt" 

http_access allow istituzionali

http_access deny !fascia1 !fascia2 !fascia3 
#blocca in orari diversi da quelli permessi

http_access deny bad_browser
http_access allow updatewin
http_access allow windowsupdate
http_access deny ie_browser

http_access allow  localnet 
icp_access  allow  localnet

visible_hostname alcant-serv

redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

Una configurazione che effettua solo il redirect

squid.conf

http_port 8080
acl all src 0.0.0.0/0.0.0.0
http_access allow all
visible_hostname server
redirect_program /usr/local/bin/squid_redirect

Se si leva l'ultima riga si ha un file di configurazione di base per squid.

squid_redirect

#!/usr/bin/perl
$|=1;
while (<>) {
s@http://www.pippo.it@http://www.pluto.it@;
s@http://www.google.it@http://149.7.211.206@;
s@http://72.14.234.104@http://149.7.211.206@;
print;
}

Squid-Book oltre le FAQ

Vediamo i capitoli

Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License