View previous topic :: View next topic |
Author |
Message |
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Thu Oct 27, 2005 7:49 pm Post subject: [Mini::HowTo] Squid e squidGuard |
|
|
In una radio, dicui sono stato nominato amministatore di quasi tutto, è sorto un piccolo problema legato ai client winbows e ai LowUser (Utonti generici winbloz). Dopo aver falciato tutti i pc winblows e tolto tutti i vari virus in rete ho proceduto per un cache server.
Ho usato squid in un serverino gentoo su stage1.
Per prima cosa ho instalato il programma con:
Code: | emerge squid squidGuard |
Poi ho configurato il tutto. Ammettiamo che l'IP della macchina sia 192.68.0.3.
Code: | mv /etc/squid.conf /etc/squid/original.squid.conf |
Questo per tenermi il file squid originale...
Ecco come ho poi creato il file /etc/squid/squid.conf:
Code: |
http_port 192.68.0.3:3128 <-- Mettere qui il vostro IP
icp_port 3130
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
useragent_log /var/log/squid/useragent.log
referer_log /var/log/squid/referer.log
emulate_httpd_log on
logfile_rotate 7
mime_table /etc/squid/mime.conf
pid_filename /var/run/squid.pid
cache_mem 128 MB <-- Memoria RAM da usare per squid... Vedere il manuale per chiarimenti
high_memory_warning 140 MB
cache_dir ufs /var/cache/squid 8192 16 256
cache_mgr info@kerescontorni.com <-- Da modificare con la vostra email
visible_hostname lupin.fidelionet.org <-- Da modificare con il vostro nome fqdn
append_domain .fidelionet.org <-- Da modificare con il vostro dominio
cache_effective_user squid
cache_effective_group squid
acl deny_download url_regex -i ^http://.*\.(exe|src|bat|pif|com|sys|reg|ini|inf)$ <-- Meraviglisa...
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 locallans src 192.68.0.0/255.255.255.0
acl to_localhost dst 127.0.0.0/8
acl SSL_Ports port 443 563
acl Safe_ports port 80 443
acl CONNECT method CONNECT
http_access deny deny_download
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_Ports
http_access allow locallans
http_access deny all
icp_access deny all
|
Nontale la meravigliosa acl deny_dowload. Così posso decidere quali files non devono assolutamente essere scaricati... Posso aggiungere di tutto... Tra poco penso inserirò la lista per tutti i file video e audio e l'estenzione per i torrent. Visto che gli LU si scaricano di tutto...
Faccio inizializzare la directory di swap con il comando:
Facciamo poi partire squid e aggiungiamolo agli init di partenza:
Code: |
/etc/init.d/squid start
rc-update add squid default
|
Ora non ci resta che configurare i client Microsoft Windows con Internet Explorer. Aprimo il programma e poi dal menù Strumenti scegliamo l'opzione Opzioni Internet. Facciamo click sulla tabella Connessioni e poi sul pulsante Impostazioni Lan. Ora selezioniamo il quadratino dove c'è scritto Utilizza server proxy..., inseriamo l'indirizzo IP del server proxy e poi inseriamo il numero della porta che è 3128. Funziona da dio...
Aggiungere squidGuard
Squid guard è un bellissimo programmino free che ci permette di controllare i domini che possiamo vedere sulla nostra Lan. Possiamo fare di tutto, ma per correttezza io vi illustro la configurazione base e se volete il sito è molto più illustrativo e completo di esempi www.squidguard.org.
Stoppare squid con il comando:
Code: | /etc/init.d/squid stop |
Inserire nel file /etc/squid/squid.conf la seguente riga:
Code: | redirect_program /usr/bin/squidGuard -c /etc/squidGuard/squidGuard.conf |
Poi posizionarsi nella directory di squidGuard e:
Code: |
cd /etc/squidGuard
mkdir db
nano -w squidGuard.conf
|
Nel file appena aperto scrivere:
Code: |
logdir /var/log/squidGuard
dbhome /etc/squidGuard/db
dest blockedsites {
domainlist blacklists/porn/domains <-- Aggiungere qui le altre liste nere...
}
acl {
default {
pass !blockedsites all
redirect http://www.sample.com/empty.png <-- Inserire qui il link di rimando...
}
}
|
Scaricare da internet il blocco dei file con tutta la lista dei siti bloccati:
Code: |
cd /etc/squidGuard/db
wget ftp://ftp.teledanmark.no/pub/www/proxy/squidGuard/contrib/blacklists.tar.gz
tar xvfz blacklists.tar.gz
|
Provare la configurazione di squidGuard con il comando:
Code: | squidGuard -c /etc/squidGuard/squidGuard.conf |
Controllare nel file di log che il programma funzioni.
Code: | tail -f /var/log/squidGuard/squidGuard.log |
Riavviare squid con il comando:
Code: | /etc/init.d/squid start |
Potete dare una bella sbirciatina alla directory db e vedere voi stessi cosa aggiungere...
Si possono anche creare file propri con i siti che non vogliamo che siano visti...
Sperando di aver fatto cosa buona e giusta, ciao a tutti.
N.B.: In un futuro, sò già che non sarà molto lontano, proverò a configurare squid come transparent proxy con la modifica al kernel e aggiungere una specie di finestra login per gli amministratori in modo che possano scaricare determinati tipi di files. Ma questa sarà un'altra storia, come quella di agganciare clamAV a squid...
Keres. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Oct 28, 2005 7:57 am Post subject: |
|
|
Complimenti per la guida, veramente pregevole il deny_download _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Fri Oct 28, 2005 11:45 am Post subject: |
|
|
Avrei bisogno di negare tutti i siti tranne 4 o 5, come e' possibile specificarlo con le regole deny di squid? E' possibile scrivere la lista dei siti in questione in un file esterno?
Fede _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Fri Oct 28, 2005 12:19 pm Post subject: |
|
|
Fai l'esatto contrario...
Prepari una lista di siti che si possono vedere e con squid guard fai una acl e poi neghi l'accesso per tutti i siti.
Trovi maggiori info sul sito di squid guard..
Ciao, Keres. |
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Fri Oct 28, 2005 4:17 pm Post subject: |
|
|
Dove potrei sbagliare in questo ? Blocca tutto...
Code: |
logdir /var/log/squidGuard
dbhome /etc/squidGuard/db
dest local {
domainlist local/domains
}
acl {
default {
pass !local none
redirect http://www.sample.com/empty.png
}
}
|
_________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
pistodj Apprentice
Joined: 26 Jan 2005 Posts: 229
|
Posted: Fri Oct 28, 2005 6:35 pm Post subject: |
|
|
veramente un'ottimo howto complimenti! |
|
Back to top |
|
|
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Fri Oct 28, 2005 8:21 pm Post subject: |
|
|
Ciao Federico ecco la risposta al tuo broblema (almeno credo: è solo un ipetesi).
Tu crei un file con:
Code: | nano -w /etc/squidGuard/db/siti_ok |
e ci scrivi dentro tutti i domini che vuoi far vedere. Es.:
Code: | pincopallino.com
google.it
gentoo.it
...
|
Poi editi il config di squidGuard:
Code: | nano -w /etc/squidGuard/squidGuard.conf |
Scrivi la seguente configurazione:
Code: |
logdir /var/log/squidGuard
dbhome /etc/squidGuard/db
dest local {
domainlist siti_ok
}
acl {
default {
pass siti_ok none
redirect http://www.sample.com/empty.png
}
}
|
Ricordati di riavviare squid con:
Code: | /etc/init.d/squid restart |
Creco che così possa funzionare...
Ciao, Keres. |
|
Back to top |
|
|
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Fri Oct 28, 2005 8:22 pm Post subject: |
|
|
P.S.: Voglio l'aumento di grado!!!!! |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Fri Oct 28, 2005 10:11 pm Post subject: |
|
|
a roma si dice: nun t'allargà. _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Sat Oct 29, 2005 9:09 am Post subject: |
|
|
@fede
puoi farlo anche solo con le acl di squid
Code: | acl domains dstdomain "/etc/squid/domains.conf"
http_access allow domains
http_access deny all
|
in ufficio ho una configurazione simile a quella descritta nell'howto (senza squidguard); durante l'utilizzo, sono comparsi alcuni problemi legati ad un setup troppo restrittivo:
1) i client windows montano in genere software antivirus che necessita di aggiornamento
2) i server linux presenti nella lan non devono avere restrizioni
3) di tanto in tanto, è molto più comodo scaricare aggiornamenti, drivers, software direttamente dal client
il primo punto si risolve facilmente, basta identificare i servers a cui si collega l'antivirus.
nel caso di norton, si aggiunge
Code: | acl goodURL url_regex -i ^http://liveupdate.symantecliveupdate.com/
http_access allow goodURL |
per il secondo, basta definire un'acl apposita
Code: | acl server src 10.0.0.8/32
acl server src 10.0.0.7/32
acl server src 10.0.0.4/32
http_access allow server
|
il terzo si può risolvere definendo una classe di utenti privelegiati che non abbia restrizioni sul download e che sia indipendente dal client
il primo passo è impostare un meccanismo di autenticazione:
Code: | auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squidusers
auth_param basic children 5
auth_param basic realm Azienda - Accesso al Proxy
auth_param basic credentialsttl 2 hours
acl squid_users proxy_auth REQUIRED
|
utenti e password possono essere aggiunti a squidusers utilizzando htpasswd
successivamente, si spezza il "deny_download" dell'howto in due acl distinte
Code: | # da escludere sempre
acl forbURL url_regex -i \.pif$|\.scr$
# permesse solo agli utenti privilegiati
acl badURL url_regex -i \.exe$|\.zip$|\.avi$|\.mpg$|\.mpeg$|\.mov$|\.doc$|\.rtf$|\.xls$
# nessuna restrizione
http_access allow servers
http_access allow localhost
# sempre negati
http_access deny forbURL
# permessi a tutti
http_access allow goodURL
# utenti normali
http_access allow locallans !badURL
# utenti privelegiati
http_access allow squid_users
http_access deny all
|
il proxy continua a funzionare senza autenticazione fino a quando non viene richiesto un file con estensione badURL.
in questo caso , squid mostra il popup per l'autenticazione e nega l'accesso all'utente che non dispone delle credenziali. |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Sat Oct 29, 2005 2:11 pm Post subject: |
|
|
complimenti da parte mia per l'ultimo post, mi e' stato utile. _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
JacoMozzi l33t
Joined: 12 May 2003 Posts: 645 Location: Giubiasco world(EU(CH(TI)))
|
Posted: Sun Oct 30, 2005 1:39 pm Post subject: |
|
|
Bella guida, grazie mille |
|
Back to top |
|
|
kattivo Guru
Joined: 28 Jan 2005 Posts: 450 Location: Treviso
|
Posted: Sun Dec 11, 2005 8:27 pm Post subject: |
|
|
Volevo aggiungere una cosa che puo' essere utile se si vuole applicare squid a una numerosa rete di client
Beh, attivando una funzione di nat sul firewall che rindirizza il traffico di richiesta sulla porta 80 (traffico internet), a quella usata da squid, (tipo la 3128 mi sembra che fosse di default...) Non servirebbe impostare il proxy su ogni client...a volte puo' essere una scocciatura
PS: Bell How TO _________________ Eurostep Consulting S.r.l.
Andrea P. <andrea@eurostep.it> |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Sun Mar 26, 2006 11:04 am Post subject: |
|
|
Porca pupattola, squidGuard e squid non vogliono saperne di collaborare ...
Anche provando una configurazione minimalissima di squidGuard per bloccare tradedoubler riesco a farlo reindirizzare
Code: | echo "http://hstit.tradedoubler.com/file/39024/registrazionedomini/HK-reg-120x600.gif - - GET" | $(which squidGuard) -c /etc/squidGuard/squidGuard.conf -d
2006-03-26 12:48:45 [8262] init domainlist /etc/squidGuard/db/dom_blocked
2006-03-26 12:48:45 [8262] loading dbfile /etc/squidGuard/db/dom_blocked.db
2006-03-26 12:48:45 [8262] squidGuard 1.2.0 started (1143370125.702)
2006-03-26 12:48:45 [8262] squidGuard ready for requests (1143370125.704)
http://linuxlandia.no-ip.org/empty.png -/- - GET
2006-03-26 12:48:45 [8262] squidGuard stopped (1143370125.714) |
come si può vedere il tentativo di accedere al banner di tradedoubler viene rediretto proprio come voglio io ma squid non mi tiene in considerazione, infatti il tentativo di aprire anche solo quella singola immagine me la mostra in tutto il suo splendore (si fa per dire) anche se ho aggiunto Code: | redirect_program /usr/bin/squidGuard -c /etc/squidGuard/squidGuard.conf | al file /etc/squid/squid.conf e ho controllato che sia le directory di configurazione e dei log di squidGuard e i file che contengono sia dell'utente squid e del gruppo squid.
Avete qualche suggerimento ?
/EDIT:ovviamente dopo aver modificato il file di configurazione di squid ho anche riavviato il proxy
/EDIT2:ho scoperto che bisogna riavviare squid anche dopo aver modificato la configurazione di squidGuard, non è possibile rendere attive le modifiche di squidGuard senza riavviare squid ? se ogni volta che voglio bannare un sito devo riavviare il proxy mi rompo le scatole _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
X-Drum Advocate
Joined: 24 Aug 2003 Posts: 2517 Location: ('Modica','Trieste','Ferrara') Italy
|
Posted: Sun Mar 26, 2006 10:09 pm Post subject: |
|
|
DGilmour wrote: | P.S.: Voglio l'aumento di grado!!!!! |
-_-" _________________ "...There are two sort of lies, lies and benchmarks..." |
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Mon Mar 27, 2006 2:19 pm Post subject: |
|
|
Kernel78 wrote: | non è possibile rendere attive le modifiche di squidGuard senza riavviare squid ? |
Code: | squid -k reconfigure |
_________________ When all else fails, read the instructions. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Mar 27, 2006 2:52 pm Post subject: |
|
|
makoomba wrote: | Kernel78 wrote: | non è possibile rendere attive le modifiche di squidGuard senza riavviare squid ? |
Code: | squid -k reconfigure |
|
Anche se continuo a pensare che sei un'ottima fonte di info interessanti e anche se la risposta che mi hai dato (e di cui ti ringrazio) è corretta ho anche scoperto Code: | /etc/init.d/squid reload | che è più in gentoo-style _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Mon Mar 27, 2006 3:05 pm Post subject: |
|
|
Code: | reload() {
checkconfig || return 1
ebegin "Reloading squid"
/usr/sbin/squid -k reconfigure
eend $?
} |
in fondo, il succo è quello _________________ When all else fails, read the instructions. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Mar 27, 2006 3:10 pm Post subject: |
|
|
da non sottovalutare il checkconfig però ...
Cmq è stata la tua risposta che ha fatto girare il mio neurone nella giusta direzione
Grazie ancora _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Tue Mar 28, 2006 9:23 am Post subject: |
|
|
aggiungo all'howto un paio di tip.
Code: | shutdown_lifetime 2 seconds |
riduce notevolmente il tempo necessario a chiudere squid.
Code: | extension_methods REPORT MERGE MKACTIVITY CHECKOUT |
è necessario qualora si voglia accedere a repository svn tramite il proxy. _________________ When all else fails, read the instructions. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Mar 28, 2006 10:02 am Post subject: |
|
|
ma quante ne sai ??!!??!
Ti spiace se mi faccio un tuo santino da portarmi nel portafoglio ? _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Tue Mar 28, 2006 10:13 am Post subject: |
|
|
eheh, non so se è il caso...
se $moglie vede la sua foto vicino ad una voodoo-doll, potrebbe fraintendere e agire d'anticipo _________________ When all else fails, read the instructions. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Mar 28, 2006 10:16 am Post subject: |
|
|
makoomba wrote: | eheh, non so se è il caso...
se $moglie vede la sua foto vicino ad una voodoo-doll, potrebbe fraintendere e agire d'anticipo |
Ma quante ne sai ?!?!? _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
cagnaluia l33t
Joined: 01 Sep 2004 Posts: 998 Location: Treviso
|
Posted: Wed Apr 12, 2006 12:07 pm Post subject: |
|
|
ma poi... dopo aver sistemato grossomodo tutto il proxy, è possibile creare dei report dettagliati magari in PDF.. magari spediti via mail ?
il Top sarebbe spedire questi PDF settimanalmente/mensilmente/a richiesta .... con i dati e le statistiche sui client e psecialmente sugli utenti (della rete.. che nel mio caso sarebbe sotto il dominio di win2003srv, quindi qualche problema per recuperare il nome utente?).
c'è modo di affinare squid in tal senso? |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed Apr 12, 2006 12:16 pm Post subject: |
|
|
cagnaluia wrote: | ma poi... dopo aver sistemato grossomodo tutto il proxy, è possibile creare dei report dettagliati magari in PDF.. magari spediti via mail ?
il Top sarebbe spedire questi PDF settimanalmente/mensilmente/a richiesta .... con i dati e le statistiche sui client e psecialmente sugli utenti (della rete.. che nel mio caso sarebbe sotto il dominio di win2003srv, quindi qualche problema per recuperare il nome utente?).
c'è modo di affinare squid in tal senso? |
Quello che chiedi tu non è parte del meccanismo di proxy quindi non devi puntare a farlo fare a squid ...
Ci sono molti pacchetti in portage che permettono di analizzare i log di squid e/o di creare dei report html a partire dai log, una volta che hai l'html puoi convertirlo in pdf e fare uno script che te lo invii via mail o farci quello che vuoi. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
|