# [Mini::HowTo] Squid e squidGuard

## DGilmour

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:

```
emerge squid squidGuard
```

Poi ho configurato il tutto. Ammettiamo che l'IP della macchina sia 192.68.0.3.

```
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:

```

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:

```
squid -z
```

Facciamo poi partire squid e aggiungiamolo agli init di partenza:

```

   /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:

```
/etc/init.d/squid stop
```

Inserire nel file /etc/squid/squid.conf la seguente riga:

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

Poi posizionarsi nella directory di squidGuard e:

```

   cd /etc/squidGuard

   mkdir db

   nano -w squidGuard.conf

```

Nel file appena aperto scrivere:

```

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:

```

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:

```
squidGuard -c /etc/squidGuard/squidGuard.conf
```

Controllare nel file di log che il programma funzioni.

```
tail -f /var/log/squidGuard/squidGuard.log
```

Riavviare squid con il comando:

```
/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.

----------

## Kernel78

Complimenti per la guida, veramente pregevole il deny_download  :Cool: 

----------

## federico

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

----------

## DGilmour

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.

----------

## federico

Dove potrei sbagliare in questo ? Blocca tutto...

```

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

        }

}

```

----------

## pistodj

veramente un'ottimo howto complimenti!   :Smile: 

----------

## DGilmour

Ciao Federico ecco la risposta al tuo broblema (almeno credo: è solo un ipetesi).

Tu crei un file con:

```
nano -w /etc/squidGuard/db/siti_ok
```

e ci scrivi dentro tutti i domini che vuoi far vedere. Es.:

```
pincopallino.com

google.it

gentoo.it

...

```

Poi editi il config di squidGuard:

```
nano -w /etc/squidGuard/squidGuard.conf
```

Scrivi la seguente configurazione:

```

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:

```
/etc/init.d/squid restart
```

Creco che così possa funzionare...

Ciao, Keres.

----------

## DGilmour

P.S.: Voglio l'aumento di grado!!!!!

----------

## FonderiaDigitale

a roma si dice: nun t'allargà.

----------

## makoomba

@fede

puoi farlo anche solo con le acl di squid

```
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

```
acl goodURL url_regex -i ^http://liveupdate.symantecliveupdate.com/

http_access allow goodURL
```

per il secondo, basta definire un'acl apposita

```
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:

```
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

```
# 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.

----------

## FonderiaDigitale

complimenti da parte mia per l'ultimo post, mi e' stato utile.

----------

## JacoMozzi

Bella guida, grazie mille  :Very Happy: 

----------

## kattivo

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  :Razz: 

PS: Bell How TO  :Wink: 

----------

## Kernel78

Porca pupattola, squidGuard e squid non vogliono saperne di collaborare ...

Anche provando una configurazione minimalissima di squidGuard per bloccare tradedoubler riesco a farlo reindirizzare

```
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 

```
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  :Wink: 

/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  :Confused: 

----------

## X-Drum

 *DGilmour wrote:*   

> P.S.: Voglio l'aumento di grado!!!!!

 

-_-"

----------

## makoomba

 *Kernel78 wrote:*   

> non è possibile rendere attive le modifiche di squidGuard senza riavviare squid ? 

 

```
squid -k reconfigure
```

----------

## Kernel78

 *makoomba wrote:*   

>  *Kernel78 wrote:*   non è possibile rendere attive le modifiche di squidGuard senza riavviare squid ?  
> 
> ```
> 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 

```
/etc/init.d/squid reload
```

che è più in gentoo-style  :Cool: 

----------

## makoomba

```
reload() {

    checkconfig || return 1

    ebegin "Reloading squid"

    /usr/sbin/squid -k reconfigure

    eend $?

}
```

in fondo, il succo è quello   :Wink: 

----------

## Kernel78

da non sottovalutare il checkconfig però ...

Cmq è stata la tua risposta che ha fatto girare il mio neurone nella giusta direzione  :Wink: 

Grazie ancora

----------

## makoomba

aggiungo all'howto un paio di tip.

```
shutdown_lifetime 2 seconds
```

riduce notevolmente il tempo necessario a chiudere squid.

```
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
```

è necessario qualora si voglia accedere a repository svn tramite il proxy.

----------

## Kernel78

ma quante ne sai ??!!??!

Ti spiace se mi faccio un tuo santino da portarmi nel portafoglio ?  :Laughing: 

----------

## makoomba

eheh, non so se è il caso...

se $moglie vede la sua foto vicino ad una voodoo-doll, potrebbe fraintendere e agire d'anticipo

----------

## Kernel78

 *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 ?!?!?   :Laughing:   :Laughing:   :Laughing: 

----------

## cagnaluia

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?

----------

## Kernel78

 *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.

----------

## cagnaluia

 *Kernel78 wrote:*   

>  *cagnaluia wrote:*   .... 
> 
> 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.

 

ok, pensavo fosse parte opzionale di squid.

me ne potresti indicare qualcuno di importante nel portage?

scusate l'OT....

----------

## Kernel78

 *cagnaluia wrote:*   

> me ne potresti indicare qualcuno di importante nel portage?
> 
> scusate l'OT....

 

```
* net-analyzer/sarg

     Available versions:  1.4.1-r2 2.0.8 ~2.1

     Installed:           2.0.8

     Homepage:            http://sarg.sourceforge.net/sarg.php

     Description:         Squid Analysis Report Generator

```

questo è il sw che uso io per generare report in html.

Se li vuoi in pdf ci sono un po' programmi che potresti usare (basta andare su packages.gentoo.org e fare una ricerca per pdf  :Wink:  ) ma non avendoli mai usati non saprei consigliarti ...

----------

## cagnaluia

va bene così, gia molto gentile!  provo qualcosa e casomai posto le mie impressioni

----------

## kattivo

Una domanda.. 

Per usare squid come proxy remoto...

come posso impostare degli utenti , con delle password...?

----------

## Kernel78

 *kattivo wrote:*   

> Una domanda.. 
> 
> Per usare squid come proxy remoto...
> 
> come posso impostare degli utenti , con delle password...?

 

Non ho ben capito cosa intendi con "proxy remoto" ma per impostare degli utenti con le password puoi usare i metodi BASIC, NTLM o DIGEST.

Per informazioni basta guardare la documentazione di squid (o l'ottimo "squid-book oltre le faq" che è anche in italiano).

----------

## kattivo

Io volevo utilizzare squid come proxy da mettere su un server remoto ... e volevo metterli un nome utente e una password per fare in modo che possa utilizzarlo solo io..! Pero' non riesco a capire come è la forma da usare nel file squid.conf. volevo sapere come era la forma da mettere.. tutto qua . Ho trovato su squid.conf.default questo:

```

#                    use 'login=user:password' if this is a personal/workgroup

#                    proxy and your parent requires proxy authentication.

#                    Note: The string can include URL escapes (i.e. %20 for

#                    spaces). This also means % must be written as %%.

#

#                    use 'login=PASS' if users must authenticate against

#                    the upstream proxy. This will pass the users credentials

#                    as they are to the peer proxy. This only works for the

#                    Basic HTTP authentication scheme. Note: To combine this

#                    with proxy_auth both proxies must share the same user

#                    database as HTTP only allows for one proxy login.

#                    Also be warned this will expose your users proxy

#                    password to the peer. USE WITH CAUTION

#

#                    use 'login=*:password' to pass the username to the

#                    upstream cache, but with a fixed password. This is meant

#                    to be used when the peer is in another administrative

#                    domain, but it is still needed to identify each user.

#                    The star can optionally be followed by some extra

#                    information which is added to the username. This can

#                    be used to identify this proxy to the peer, similar to

#                    the login=username:password option above.

```

Ma non riesco a metterlo in pratica..  :Sad:  potete darmi una mano?

----------

## makoomba

```
.....

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squidusers

auth_param basic children 5

auth_param basic realm Accesso al Proxy

auth_param basic credentialsttl 2 hours

....

acl squid_users proxy_auth REQUIRED

....

http_access allow squid_users

http_access allow localhost

http_access deny all
```

/etc/squid/squidusers lo crei con htpasswd di apache

----------

## Kernel78

Premettendo che come sempre la risposta di makoomba è corretta mi chiedo perchè non ti andava bene dare un'occhiata allo "squid-book oltre le faq" che oltre ad essere in italiano tratta per bene anche l'argomento autentificazione.

Un bel RTFM direi che ci sta bene ...

----------

## kattivo

Ma sinceramente un occhio l'ho dato! pero' non ho trovato quella sezione.. hai per caso sotto mano il link ?

----------

## Kernel78

 *kattivo wrote:*   

> Ma sinceramente un occhio l'ho dato! pero' non ho trovato quella sezione.. hai per caso sotto mano il link ?

 http://www.merlinobbs.net/Squid-Book/HTM/#CHA-AUTENTICAZIONE-UTENTI

----------

## kattivo

Oki... sono riuscito... 

mi è venuto in mente di unire due proxy.. " proxy cascade"  è possibile farlo con squid ? 

avendo due server con squid ovviamente... !

----------

## Kernel78

 *kattivo wrote:*   

> Oki... sono riuscito... 
> 
> mi è venuto in mente di unire due proxy.. " proxy cascade"  è possibile farlo con squid ? 
> 
> avendo due server con squid ovviamente... !

 

Se ti leggi il manuale di cui ti ho postato il link trovi anche questo ... ti consiglio di leggerlo e postare domande se qualcosa non ti è chiaro, altrimenti faccio prima a postare qui il manuale  :Wink: 

----------

## fabiolino

 *Kernel78 wrote:*   

> 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 ...
> ...

 

Non  ho riportato tutto  il testo per questioni di praticità.

Ho  lo stesso problema! (squidguard da solo mi blocca l'accesso al sito desiderato con reindirizzamento corretto a una pagina web, ma in combinazione con squid non funziona.

Volevo sapere come Kernel78 ha risolto il problema visto che mi sembra non nè abbia fatto cenno. 

Ringrazio anticipatamente.

----------

## Kernel78

 *fabiolino wrote:*   

> Volevo sapere come Kernel78 ha risolto il problema visto che mi sembra non nè abbia fatto cenno. 

 

Dallo stesso messaggio che hai quotato:

 *Quote:*   

> /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 ?

 

e qualche post dopo ho scritto il comando per ricaricare la configurazione (decisamente più efficente che riavviare squid)

```
/etc/init.d/squid reload
```

Hai trovato la discussione giusta per risolvere i tuoi problemi ma non hai letto abbastanza attentamente  :Wink: 

----------

## fbcyborg

Un utente della LAN mi ha chiesto di poter impostare dei periodi di grazia, ovvero, vorrebbe la possibilità di avere il filtro di squidguard disabilitato nell'orario di pausa dal lavoro.

Ho visto sulla guida ufficiale ed anche altrove che si possono impostare le seguenti cose:

```
time afterwork {

  weekly   * 17:00-24:00            # After work

  weekly   fridays 16:00-17:00      # On friday we close earlier

  date   *.01.01                    # New Year's Day

  date   *.12.24 12:00-24:00        # Christmas Eve

  date   2006.04.14-2006.04.17      # Easter 2006

  date   2006.05.01                 # Maifeiertag

}

```

```
acl {

        all within afterwork {

                pass all

        }

        else {

                pass    !adv !porn !warez all

        }

        default {

                pass    none

                redirect http://localhost/block.html

                }

}

```

Solo che io vorrei poter abilitare un singolo utente. Qui invece li abilita tutti.

E' possibile farlo?

Il mio squidGuard.conf è il seguente:

```
logdir /var/log/squidGuard

dbhome /etc/squidGuard/db

src ADMIN {

        ip 10.0.0.2

}

dest adult {

        domainlist adult/domains

        urllist adult/urls

        expressionlist adult/expressions

}

dest custom {

        domainlist custom/domains

        urllist custom/urls

        expressionlist custom/expressions

}

dest blog {

        domainlist blog/domains

        urllist blog/urls

}

dest onlinegames {

        domainlist onlinegames/domains

        urllist onlinegames/urls

}

dest instantmessaging {

        domainlist instantmessaging/domains

        urllist instantmessaging/urls

}

dest filesharing {

        domainlist filesharing/domains

        urllist filesharing/urls

}

dest proxy {

        domainlist proxy/domains

        urllist proxy/urls

}

dest forums {

        domainlist forums/domains

        urllist forums/urls

        expressionlist forums/expressions

}

dest warez {

        domainlist warez/domains

        urllist warez/urls

        expressionlist warez/expressions

}

dest audio-video {

        domainlist audio-video/domains

        urllist audio-video/urls

}

dest shopping {

        domainlist shopping/domains

        urllist shopping/urls

}

dest hacking {

        domainlist hacking/domains

        urllist hacking/urls

}

acl     #now we set the rules

{

        ADMIN    {

                pass all

        }

        default {       #querys from unknown sources

                pass !adult !custom !blog !forums !warez !audio-video !shopping !proxy

                redirect http://10.0.0.1/template.html          #denied queries will be redirected to this gif file.

        }

}
```

Vorrei essere sicuro della modifica che faccio perché siccome opero da remoto, non vorrei stare un'ora al telefono per chiedere se va!

Inoltre ho disabilitato la navigazione tramite IP con l'istruzione:

```
http_access deny justip
```

Però vorrei poter abilitare la navigazione tramite IP solo per un unico IP. Si può fare?

----------

## Kernel78

io ti consiglio di documentarti sulle acl  :Wink: 

----------

## fbcyborg

Ok, 

dunque, per quanto ho capito, mi conviene definire prima:

```
src user1 {

    ip 10.0.0.5

}

```

Aggiungere

```
time workhours {

    weekly  mtwhf  08:00-13:00

    weekly  mtwhf  15:00-18:00

}

```

Poi modificare l'acl così:

```
acl 

{

    ADMIN    {

        pass all

    }

    user1 within workhours {

        pass !adult !custom !blog !forums !warez !audio-video !shopping !proxy

            !filesharing !instantmessaging !onlinegames !hacking all

    } else {

        pass  all

    }

    default { 

        pass !adult !custom !blog !forums !warez !audio-video !shopping !proxy

            !filesharing !instantmessaging !onlinegames !hacking all

        redirect http://10.0.0.1/template.html

    }

}

```

Giusto?

EDIT: RISOLTO, grazie!

----------

