clanius

Configurare una Proxy Appliance basata su Linux
(di M.Mastroianni - rev. 10-2009)

Consulta anche la sezione dedicata alla Distro IpCop sul nostro sito web

Prefazione

La seguente documentazione traccia le attività svolte durante l'installazione e la configurazione di uno dei nostri prodotti hardware/software. Di seguito mostriamo i passi necessari in merito all’installazione di un software di proxy e filtraggio delle url, basato su sistema Linux ed altri software open source.
Rendere pubblici questi appunti vuole essere per noi il primo passo di futuri miglioramenti che grazie alla Vs collaborazione e suggerimenti non mancheranno di essere messi in atto.
Utilizzeremo come distribuzione Linux una Ubuntu Dapper (da poco non più supportata ma l'ideale per 2Gb di spazio). Consiglio in ogni caso di munirsi di un DOM più capiente (o direttamente di un hard disk da 2.5'') rispetto a quello utilizzato nei nostri test, in modo da installare in modo da installare una version più aggiornata di Ubuntu, qual si voglia dare vita più lunga al progetto (e magari avere meno problemi).

Specifiche HW su cui abbiamo effettuato i test
L’hardware utilizzato è il “Koala Micro-Pc” prodotto da KOAN con due schede di rete.
(http://www.koala.it/it/micropc.htm)

A questo vanno aggiunti:
n.1 DOM (Disk on module) da almeno 2Gb “ Tipo Verticale”
n.1 Compact flash un po’ più grande del DOM (consigliamo il doppio, nel nostro caso  4Gb)
n.2 Gender charger per hd da 44pin
n.1 Cavetto per hd da 44 pin (se servono due, ma uno è incluso nella confezione del Koala)
Tutti i prodotti sono reperibili anche su circuiti commerciali a larga diffusione come eBay. La scelta della capacità delle memorie è a discrezione dell’utente.

Panoramica software da installare
GNU/Linux – OS con firewall integrato che garantisce piena flessibilità.
Squid - Software Proxy. E' in sviluppo da diversi anni ed è ormai considerato un'applicazione sicura e robusta.
P3scan - Mail scanner e mail delivery.
ClamAV - Antivirus gratuito (per la posta elettronica, lavora con P3scan).
DansGuardian - Software di filtraggio dei contenuti.
Apache - Il noto web server. Usato per controllare i registri di navigazione e gestire l'invio della segnalazione di sblocco.

Assemblaggio
Smontare il piano inferiore del Koala con il chiavino francese incluso nella confezione e collegare il DOM al socket 44pin (lo stesso dei dischi fissi da 2,5'') in questo modo:
Socket44 > Cavetto1 > Genderchanger > Cavetto2 > Genderchanger > DOM
Verificare ovviamente che i pin n.1 (contrassegnati in viola) dei due cavetti abbiano lo stesso orientamento. Se l’appliance si accende, ma non visualizza niente a video, capovolgere il verso con cui è stato inserito il DOM.


Installazione di Linux

In questa prima fase occorre collegare tastiera e monitor (meglio se Crt) all’appliance.
Munirsi inoltre di un lettore cd/dvd usb e di Ubuntu Dapper 6.10 (l’unica distribuzione attualmente reputata compatibile con questo apparato). Se il lettore è un IDE convertito in USB ricordarsi di tenere il jumper su CS. Quindi:

1)     Collegare il cavo di rete LAN (ove presente un router) alla scheda di rete principale, cioè quella con dei piccoli led sopra. Verrà vista come eth0, mentre la secondaria che collegheremo in WAN sarà in seguito vista come eth1.

2)     Avviare l’appliance da cd-rom e scegliere “Install a Server” (se si installa la versione oem si ha un errore sul boot).

3)     Durante la procedura guidata, scegliere di configurare eth0 come scheda principale. La rete di verrà configurata tramite dhcp, al momento della scelta del nome host, se vogliamo possiamo fare “annulla” e scegliere di configurare la rete manualmente.

4)     Seguiamo le istruzioni a video per partizionare manualmente in questo modo:

·        (circa) 1,7Gb ext3 con journaling

·        (circa) 130Mb di swap

Rigorosamente senza LVM!

Nota: L’ideale sarebbe partizionarlo a mano, ma se dovesse funzionare, riavviare e procedere con il partizionamento guidato

5)     Installiamo il bootloader Grub.

6)     Infine scegliamo di installare i restanti pacchetti.

Durante l’installazione ci verrà chiesto di creare un utente e password. Ricordiamo che quest’ultimo avrà i permessi di admin ma potrà usare i comandi di root solo tramite sudo.
Quindi se vogliamo una root interattiva, dobbiamo digitare il comando sudo –i ed inserire la stessa password. Al termine di questa il computer verrà riavviato. Potete dunque scollegare il lettore cd.

Al primo avvio del sistema dopo aver effettuato l’autenticazione, modifichiamo il file dei sudoers in modo che non ci venga chiesta la password con sudo. Quindi:

sudo –i
nano /etc/sudoers

e modifichiamo l’ultima riga da:
%admin ALL=(ALL) ALL
In
%admin ALL=NOPASSWD: ALL

Configurazione dei repositories

Gli installatori di pacchetti default di Ubuntu sono basati su Aptitude. In questi esempi procederemo alle varie installazioni tramite apt-get. Per prima cosa dobbiamo eliminare il cd-rom dalle fonti aptitude. Da root (o sudo) digitiamo:

nano /etc/apt/sources.list

- Mettiamo il commento alla riga che inizia per CD-ROM
- Togliamo il commento alle due righe che terminano per dapper universe

Dopo aver aggiornato il file, per aggiornare il repository, diamo:
apt-get update && apt-get upgrade

Importante : Se i dati non vengono aggiornati è perché c’è un bug nella visualizzazione di alcuni caratteri in nano (in pratica quando si cerca di fare un # con ALT+à si rischia di creare un carattere invisibile che non viene riconosciuto. In questo caso occorre installare in qualche modo SSH e cercare di lavorare da PuTTY (via Windows)

Nota: l’ip usato dall’appliance in Clanius sarà 192.168.1.10/255.255.255.0 , con questo va associato un gateway preferenziale, se scelto correttamente durante l’installazione, quindi se la connessione internet non funziona ancora, verifichiamo la configurazione Ip della scheda di rete principale con il comando:

ifconfig eth0

ed eventualmente effettuiamo modifiche con:

nano /etc/network/interfaces


Installazione Environment (ambiente di lavoro)

Ottimizzazione del sistema operativo

Seguiamo le seguenti operazioni con questo ordine:

Aggiorniamo il kernel:
aptitude upgrade && aptitude install linux-image-386 linux-restricted-modules-386

Installiamo la GUI, cioè l’interfaccia grafica.
Questa non solo permette una più facile gestione da parte di un amministratore, ma nel nostro caso è obbligatoria dal momento che il router Telecom AliceGate può essere amministrato solo tramite browser grafico.
Procediamo con l’installazione:

apt-get clean && apt-get install ubuntu-desktop

Se si dovesse ricevere un errore per mancanza di spazio, diamo questo comando:

apt-get clean && dpkg --configure -a

così verrà ripulito di disco da tutti gli installer e l’installazione dell’interfaccia grafica riprenderà fino al suo termine.

Ora diamo nuovamente: apt-get clean

Ad installazione terminata, iniziamo ad eliminare ciò che non serve del pacchetto grafico:

apt-get remove openoffice* evolution* games* gimp* totem* serpentine gaim gthumb
( Attenzione a quelli con * )

Dopo che abbiamo reso il sistema più snello, provvediamo a cambiare la risoluzione di default dello schermo a 800x600 per il traffico Vnc più performante:

nano /etc/X11/xorg.conf

Cerchiamo la parola: “Modes”, ci ritroveremo nella posizione di una riga simile:

Modes     "1280x1024" "1024x768" "800x600"

…e cancelliamo le altre risoluzioni lasciando solo “800x600”
Troveremo più di una di queste righe, ognuna per una profondità di colore diversa. Per essere sicuri la togliamo dal config di 15, 16, 24 bit.

Poi riavviamo:  reboot .
Il sistema sarà ora in modalità grafica X11 con la nostra risoluzione impostata. A questo punto possiamo se vogliamo, personalizzare la Finestra Log-in con accesso automatico

Controllo remoto

Installiamo ora gli strumenti di controllo remoto con il comando:
apt-get install ssh vnc4server vnc-common

Se come in questo abbiamo installato la grafica in un secondo momento, non possiamo usufruire del pannello user friendly messo a disposizione da ubuntu per modificare le proprietà del server Xvnc. Vino è l’utility che integra tutte le proprietà.
Lo installeremo manualmente:
apt-get install vino && apt-get clean

Facciamo ora un test entrando da un computer Windows con UltraVnc.
Se ci sono problemi, andiamo in System > Preferenze > Desktop remoto e verifichiamo di aver impostato la possibilità di accedere (ricordarsi di togliere la funzione di “asking”), altrimenti viene richiesta conferma.

Nota: Già da adesso è consigliabile lavorare il più possibile sotto SSH dove l’I/O ha una migliore resa (vedi bug che può verificarsi in sources.list).
Ricordiamo inoltre che via Ssh non si può accedere direttamente da root. Occorre loggarsi prima come utente semplice e poi dare il comando sudo -i.

Cambio scenario di rete

Ora che possiamo accedere via Ssh e Vnc alla macchina, possiamo collegarla nel nostro armadio rack (o nei pressi del router) esulando monitor e tastiera.

Entriamo nella configurazione del router e modifichiamo la classe IP. Nel caso della nostra rete è stato necessario modificare da:
192.168.1.1 / netmask 255.255.255.0 in 10.0.0.2 / netmask 255.255.255.252

Si consiglia di disabilitare il servizio dhcp se presente.
Questi tipo di configurazione farà si che router non sia più direttamente raggiungibile tramite la rete Lan ma possa essere raggiunto solo dalla seconda scheda di rete del proxy (scheda wan) che provvederà ad inoltrare il traffico internet ai client che ne fanno richiesta.
Con la subnet mask 255.255.255.252 la sottorete collegata alla scheda wan (che chiameremo OverLan), prevede un segmento di soli 4 ip, di cui solo 2 saranno gli host:
10.0.0.0 - Indirizzo della classe Ipv4
10.0.0.1 - Proxy-Firewall
10.0.0.2 - Router
10.0.0.3 - Indirizzo di Broadcast

Se si desidera portare a 6 il numero di host (per introdurre dei router alternativi), usare come subnet mask 255.255.255.248

Questo è un scenario tipico da realizzarsi:

Dopo aver modificato correttamente Ip e netmask del router, questo non sarà più raggiungibile in rete dai comuni client.  Colleghiamolo quindi alla seconda scheda di rete attraverso un cavo ethernet di tipo crossover o attraverso un cavo standard se si tratta di un router con switch integrato.

Impostiamo un indirizzo ip alla seconda rete con il comando:
ifconfig eth1 10.0.0.1 netmask 255.255.255.252 broadcast 10.10.10.3 up
poi impostiamo l’indirizzo del gateway:
route add -net 10.10.10.0 netmask 255.255.255.252 gw 10.0.0.2 dev eth1
e riavviamo il servizio di rete:
/etc/init.d/networking restart

Se riusciamo navigare in internet dal proxy, allora la configurazione è andata a buon fine e possiamo provvedere a salvarla nel file /etc/network/interfaces

Aggiungendo queste righe:

auto eth1
iface eth1 inet static
network 10.0.0.0
address 10.0.0.1
gateway 10.0.0.2    
dns-nameservers 10.0.0.2
broadcast 10.0.0.3
netmask 255.255.255.252

Alla fine del file (senza sostituire la già presente configurazione della prima scheda) e commentando la riga con il gateway di default in riferimento alla prima scheda eth0.

Predisposizione storage card

Il passo successivo è quello di predisporre la memoria esterna (memory card CF) per la registrazione dei log e della cache e di tutti i file che hanno modifica più frequente. Occorrerà quindi partizionarla in 2 partizioni da 2 Gb l’una. La prima partizione verrà usata come partizione di restore del sistema (vedremo in seguito come), la seconda come contenitore di cache.
L’utility consigliata per modificare le partizioni è Parted ed è già presente in questa distribuzione in versione testuale.
Per facilitare il lavoro è consigliabile procedere con installando l’interfaccia grafica (gparted).

Configuriamola con:
sudo aptitude install -f gparted && aptitude clean

Terminata la procedura, spegniamo l’apparato. Inseriamo la memory card nello slot ed avviamolo.

Da Gnome diamo ALT+F2 (esegui) e digitiamo:
gksudo gparted

Nella barra degli strumenti in alto a destra possiamo scegliere su quale device agire (tra Dom e Cf). Clicchiamo sul menu a tendina per selezionare la cf, che ne nostro caso corrisponde a /dev/hdd

Nota: Se la memory card  non dovesse figurare in elenco, disinseriamola e reinseriamola nello slot e selezioniamo l’opzione refresh devides dal menu GParted.
Se ancora non compare, riavviamo il sistema.

A questo punto possiamo creare le due partizioni di 2Gb ciascuna, le opzioni nel menu Partition. La procedura è abbastanza intuitiva. E’ importante creare in ordine prima la partizione di restore (nel nostro caso in /dev/hdd1) formattandola Fat32. Lo spazio restante lo dedichiamo ai log e sarà ext3.

Ora via shell possiamo montare l’unità. Editiamo il file /etc/fstab aggiungendo questa riga che possa dare le corrette informazioni sul file system:
/dev/hdd2       /mnt/card       ext3       defaults,errors=remount-ro     0      0
Creiamo la directory di mount:
mkdir -p /mnt/card
Modifichiamo i permessi:
chmod 777 -R /mnt/card
Montiamo l’unità:
mount /dev/hdd2 /mnt/card
Se tutto è andato a buon fine, nella directory /mnt/card dovremmo riuscire a leggere e scrivere nuovi file.
Facciamo un test senza essere root, con questo commando che crea e cancella un file:
touch /mnt/card/foo.bar && rm /mnt/card/foo.bar
… da questo non dovremmo avere errori.

Se è tutto ok. Oltre alla directory Lost+Found che troveremo di default dopo la formattazione, procediamo col creare queste tre directory nella card:
mkdir /mnt/card/log
mkdir /mnt/card/cache
mkdir /mnt/card/cache/p3scan
mkdir /mnt/card/cache/p3scan/children
mkdir /mnt/card/cache/p3scan/notify
mkdir /mnt/card/filter

poi diamo chmod 777 –R /mnt/card per aprirne i permessi


Configurazione dei componenti proxy e firewall

Per abilitare le funzionalità di proxy trasparente attiviamo Ip forwarding.
Visto che questa opzione a volte (anche se è raro) si disattiva da sola a causa di agenti esterni, poniamola il un cronjob che faccia un push ogni minuto, quindi:
crontab –e
e aggiungiamo questa riga:

*/1 * * * * echo 1 > /proc/sys/net/ipv4/ip_forward

Ogni utente ha il suo crontab, quindi assicuriamoci di essere in root, prima di eseguire questo comando.

Per evitare errori di compilazione durante l’installazione dei prossimi componenti, aggiornare il kernel con una versione differente ove il compilatore LibC funzioni bene con il nostro processore.

Per vedere la versione attuale diamo:
uname –r

La nostra image dovrebbe essere la 2.6.15-55-386 o qualcosa di simile.

Modifichiamola con una svn leggermente precedente. Per mostrare le versione installabili in repository diamo:
apt-get install linux-image

Cerchiamo una versione precedente che sia sempre di classe i386. Questa andrà bene:
apt-get install linux-image-2.6.15-29-386

e riavviamo: reboot

Ricordiamo che in questo caso nel grub rimane in automatico creata la possibilità di far partire il sistema con la precedente image installata. In questo modo possiamo compilare Squid senza problemi.

Dopo il riavvio occorre settare tutti i routing lanciando in cascata questa serie di comandi:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 365 -j REDIRECT --to-port 3118
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 110 -j REDIRECT --to-port 8110
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 25 -j REDIRECT --to-port 8110
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 995 -j REDIRECT --to-port 8110
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 143 -j REDIRECT --to-port 8110
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
(l’ultimo commando consente di dirigere il traffico in uscita verso la seconda scheda di rete)

Possiamo controllare la corretta applicazione lanciando il comando: iptables-save

Se tutto è ok, proseguiamo salvando i risolutati in un file:
touch /etc/iptables
iptables-save > /etc/iptables

Per poi aggiungere queste regole all’avvio automatico.
nano /etc/rc.local
e prima di “exit 0”
iptables-restore < /etc/iptables

A questo punto tutto il traffico che arriva sulla porta 80 (www), verrà girato sulla 8080 (dansguardian) e così via per le altre applicazioni (squid su 3128 e p3scan su 8110). Sono appunto questi due i software di base che ora andremo ad installare per il funzionamento dell’appliance.

Squid e DansGuardian

Squid-cache sarà il software di proxy che regolamenta il traffico e lo stack tcp, mentre DansGuardian effettua controlli sul contenuto delle Url e inoltre fa si che non entrino virus (grazie all’antivirus Clamav). Insieme sono la "forumla core" della nostra applicazione.
La stessa logica la seguiremo per il componente di filtraggio posta: P3Scan (non ancora installato).

Questo è il comando per installare Squid di default:

apt-get install squid squid-common

Se ci viene restituito un errore ove si envince che il “visibile_hostname” non è ancora stato settato modifichiamo il file:

/etc/squid/squid.conf

Ed aggiungiamo questa riga:

visible_hostname proxy (oppure invece di proxy usiamo l’host di default che abbiamo dato all’installazione)
Quindi controlliamo che non ci siano errori riavviando il demone:
/etc/init.d/squid restart

Installiamo i filtri di con Dansguardian:
apt-get install dansguardian

Questo comando installerà anche l’ultima versione di clamav 0.9.x presente nel repository, che molto probabilmente andrà aggiornata. Vedremo in seguito come.
Se dovessero verificarsi errori sulle dipendenze, è soltanto dovuto ad un problema di ordine di installazione, diamo questo comando:
apt-get install clamav

Se nessuna di queste soluzioni funziona, diamo questo comando di reinstallazione:
apt-get install --reinstall dansguardian clamav

Questo comando riproduce i precedenti due in sequenza. Non dovremmo avere errori. Avremo solo un errore di avvio di Dansguardian, ed è giusto così, poiché il programma deve ancora essere configurato.

Nota: Controlliamo che dopo l’installazione di DansGuardian il file /etc/iptables non sia stato sovrascritto in modo automatico. Nel caso, riportiamo l’instradamento delle porte come prima modificando il file.

Extra: Nel mio caso, anziché usare i repositori ho preferito compilare a mano l’ultima versione di DansGuardian. E’ una procedura più complessa rispetto a quella base, ma è una valida alternativa.
Occorre prima aggiornare il compilatore:
aptitude install g++

Poi scaricare ed installare DansGuardian:
cd /tmp/
wget [url_ultima_versione] && tar xfv [file.gz ultima versione]
cd /tmp/dansguardian-2.10.1.1
./configure

Se si riceve un messaggio di qualche libreria mancante, installiamola.
Ad esempio, nella mia configurazione non avevo zlib:
cd /tmp/
wget http://ftp.us.debian.org/debian/pool/main/z/zlib/zlib-bin_1.2.3.3.dfsg-12_i386.deb
dpkg -i zlib-bin_1.2.3.3.dfsg-12_i386.deb

Se dopo ./configure il report è ok, allora compiliamo il sorgente con il comando:
make && make install

Modifichiamo la configurazione di DansGuardian in modo che inizierà a funzionare al prossimo riavvio, quindi diamo il comando:
nano /etc/dansguardian/dansguardian.conf
e nell’editor mettiamo un commento con # alla pagina UNCONFIGURED
cerchiamo poi questi parametri e modifichiamoli in questo modo:
language=’italian’ (di default è uk)
logfileformat=2 (in formato csv)
logfilelocation=’mnt/card/log/dansguardian.log’ (nella memory card)
accessdeniedaddress=’http://192.168.1.10/error.php’ (pagina di invio segnalazione)
exceptioniplist=’/mnt/card/filter/white_list’ (white list)
weightedphrasemode = 0
phrasefiltermode = 0

Proviamo ad avviarlo con il comando dansguardian

Se ci viene restituito un errore di questo tipo:
Unable to getgrnam(): Riuscito
Andiamo nel file di configurazione ed aggiungiamo questa riga:
daemongroup = 'nogroup'

Ora che DansGuardian è pronto, modifichiamo anche la configurazione di squid:
nano /etc/squid/squid.conf
togliamo il commento a queste righe per modificare i parametri di default in questo modo:
cache_dir ufs /mnt/card/cache/squid 100 16 256
cache_access_log /mnt/card/log/access.log
cache_log /mnt/card/log/cache.log
cache_store_log none
cerchiamo poi il termine “our_networks” (CTRL+W) per modificarlo così:
acl our_networks src 192.168.1.0/24 10.0.0.0/255.255.255.252
http_access allow our_networks
ricordiamoci che DansGuardian non fa differenza tra modalità trasparente e non, poiché questa cosa è gestita interamente da Squid. Dobbiamo quindi settare Squid in transparent mode, quindi aggiungiamo questa righe al file di configurazione:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

A questo punto possiamo già riavviare il demone Squid per testarlo:
squid -z && /etc/init.d/squid restart

Mettiamo quindi un client con classe 192.168.1.* sotto proxy alla porta 3128 e proviamo.

Se lo start non avviene, controlliamo che la memory card sia montata bene, altrimenti riavviamo.
Se lo start viene effettuato ma non si naviga, verifichiamo che il dns sia giusto su /etc/resolv.conf
Se ci sono ancora problemi, il file /mnt/card/log/cache.log sulla risoluzione di eventuali blocchi.

Se tutto va bene, proviamo a metterci sotto proxy nelle porte 80 oppure 8080, dovremmo navigare attraverso DansGuardian.

Posta elettronica e antivirus

Proseguiamo con l’installazione del proxy di posta pop3 P3scan.
Avendo già installando Dansguardian, l’antivirus Clamav è già presente quindi per installare questo componente ci basta solo dare il comando:
apt-get install lipcre3 p3scan clamav-daemon clamtk && apt-get clean

Al termine dell’installazione occorre configurarlo, per cui cambiamo le impostazioni nel file /etc/p3scan.conf

Teniamo presente che p3scan risponde sulla porta 8110 ove abbiamo già provveduto ad effettuare il NAT, per cui non modifichiamo alcuna impostazione sulle porta nella configurazione.
Le uniche opzioni da cambiare sono quelle relative allo storage della cache:
notifydir = /mnt/card/cache/p3can/notify
virusdir = /mnt/card/cache/p3can
scannertype = basic
scanner = /usr/bin/clamdscan --no-summary
(Attenzione: usare “clamdscan” non “clamscan” perché il servizio ClamAV viene affiancato da ClamAV-Deamon)
(Attenzione: se nel template commentato di configurazione c’è /usr/local/bin… non lasciamoci ingannare. Su Ubuntu i programmi non sono collocati in /local)

Testiamo P3scan con un client di posta. Nel caso non funzioni, proviamo a dare:
netstat -tpan | grep 8110
per vedere se è in ascolto.

Se risulta startato ma non funziona ancora, testiamone il funzionamento con il comando:
p3scan -d
se dopo una serie di messaggi si conclude con la scritta “exiting now…”, vorrà dire che dobbiamo chiudere brutalmente il servizio:
/etc/init.d/p3scan stop
killall -9 p3scan
Ora con p3scan –d dovremmo vederlo in ascolto correttamente.
Se invece abbiamo problemi di creazione automatica del processo PID, possiamo crearlo a meno e poi lanciare il comando kill. Questa operazione azzererà dei loop generati se ce ne sono:
mkdir /var/run/p3scan && touch /var/run/p3scan/p3scan.pid
killall -9 p3scan

Ora che P3scan è in ascolto, diamo il comando:
clamscan
per vedere a che versione siamo attualmente.
Quasi sicuramente dovremmo avere una scritta del tipo:
This version of the ClamAV engine is outdated.
Occorre aggiornare l’antivirus.
Quindi seguiamo questa procedura:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xf80220d0e695a455e651ac4d8ab767895adc2037
Con questo comando abbiamo la chiave per lanciare i nuovi repository (sostenuti da launchpad.net). Integriamo il file /etc/apt/source.lists con queste due righe:
deb http://ppa.launchpad.net/ubuntu-clamav/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/ubuntu-clamav/ppa/ubuntu jaunty main
ed effettuiamo l’aggiornamento:
apt-get update
aptitude upgrade

e scarichiamo il motore aggiornato con questo wget:
wget
http://security.ubuntu.com/ubuntu/pool/main/c/clamav/clamav-base_0.95.1+dfsg-1ubuntu1.2_all.deb && dpkg -i clamav-base_0.95.1+dfsg-1ubuntu1.2_all.deb

Ad installazione completata, diamo il comando:
freshclam -v
Vedremo aggiornarsi due file: main.cvs e daily.cvs

Gestione pagine di segnalazione errori e siti bloccati

Se viene richiesta una URL presente in una delle blacklist di Dansguardian, è necessario che gli venga proposto all'utente una pagina che gli consentirà l’invio della segnalazione di sblocco all’amministratore. Installeremo quindi un server web per permettere l’invio della segnalazione di sblocco di una pagina:

apt-get install apache php5

con /etc/init.d/apache2 start avviamo il servizio.

Da come abbiamo visto nella configurazione di Dansguardian abbiamo già predisposto questa pagina di errore ’http://192.168.1.10/error.php’, dove 192.168.1.10 è l’indirizzo Ip eth0 del nostro proxy. Apriamo un browser da un client e digitiamo http://192.168.1.10/ , dovrebbe apparirci una pagina che ci indica il corretto funzionamento del server web.
I file del web server di default saranno fisicamente salvati in /var/www/
Cancelliamo il contenuto attuale della cartella:
sudo rm -rf /var/www/*

Dobbiamo adesso creare il file error.php a nostro piacere.Si consiglia di scaricare il template dal nostro repository di Clanius:
cd /var/www && wget http://www.clanius.com/proxy_repository/error.php

Nota: Possiamo cambiare questo percorso da /etc/apache2/httpd.conf , nel nostro caso lo lasceremo invariato

Nota 2: Ora che Apache è pronto, consigliamo di installare anche il componente SARG (reperibile su sourceforge) per una più comoda visualizzazione delle statistiche della navigazione effettuata.


TIPS...

Appendice 1: Possiamo ovviamente cercare dei pacchetti Deb più aggiornati da: http://packages.ubuntu.com

Appendice 2: La compilazione con “make” non funziona? Diamo:
aptitude install build-essential
così che il compilatore verrà ripristinato.

Appendice 3: Se le IpTables non danno gli effetti desiderati, diamo sempre un:
iptables -f
prima di:
iptables-restore < /etc/iptables
In modo da eseguire un flushing


Se avete suggerimenti e miglioramenti da proporre scrivetemi una e-mail a: a.verde{at}clanius{dot}com