PeerGuardian è un’applicazione per la privacy orientata ad essere usata come firewall, blocca le connessioni da e verso l’ host specificate in enormi blocklist (migliaia o milioni di intervalli di indirizzi IP), il programma è disponibile per diverse piattaforme ma ci soffermeremo sulla versione GNU/Linux per Debian e la derivata Raspbian (per Raspberry PI).
PeerGuardian Linux:
Da questo momento abbrevieremo il nome a pgl.
Uno strumento molto potente, è possibile avviarlo al boot oppure menualmente, possiede una GUI (pglgui), all’installazione ha già alcune blocklist preconfigurate che si possono modificare ( attenzione perché alcune liste non bloccano solo IP indesiderati)
Trattiamo ora le due possibili soluzione per installare pgl alla versione attuale 2.2.4
WARNING: pgl may block your complete network/internet access!
-
PGL in Debian – Installazione da repository
A seconda della versione di Debian utilizzata aggiungere alle proprie sorgenti quella corretta:
Debian 6.0 squeeze:
deb http://moblock-deb.sourceforge.net/debian squeeze main deb-src http://moblock-deb.sourceforge.net/debian squeeze main Debian 7.0 wheezy:
deb http://moblock-deb.sourceforge.net/debian wheezy main deb-src http://moblock-deb.sourceforge.net/debian wheezy main Debian sid (unstable):
deb http://moblock-deb.sourceforge.net/debian sid main deb-src http://moblock-deb.sourceforge.net/debian sid main
aggiungiamo la chiave
gpg --keyserver keyserver.ubuntu.com --recv-keys C0145138 gpg --export --armor C0145138 | sudo apt-key add -
#aptitude install pgld pglcmd pglgui
eventuali aggiornamenti verranno installati in automatico e mantenuti i files di cofigurazione.
Durante l’ installazione ci potrebbe essere un’interruzione della connessione o il download delle liste potrebbe imterrompersi, in questo caso l’installazione fallisce, si consiglia di disattivare l’avvio in automatico inserendo in /etc/pgl/pglcmd.conf la riga :
INIT="0"
Completare l’installazione :
#dpkg-reconfigure --force pglcmd
LINK : http://sourceforge.net/p/peerguardian/wiki/pgl-Install-DebianUbuntu/.
-
PGL in Raspbian – Installazione manuale
L’ installazione manuale prevede la compilazione dei sorgenti, ma prima occorre soddisfare alcune dipendenze :
#aptitude install libnetfilter-queue-dev libdbus-1-dev libdbus-1-dev libdbus-glib-1-dev firehol ufw zlib1g-dev
preleviamo ora i sorgenti :
$wget http://sourceforge.net/projects/peerguardian/files/PeerGuardian%20Linux/2.2.4/pgl-2.2.4.tar.gz
scompattiamoli e spstiamoci nella directory :
tar -xvf pgl-2.2.4.tar.gz
cd pgl-2.2.4/
compiliamo i sorgenti e installiamo :
$./configure --prefix=/usr --without-qt4 --disable-dbus --sysconfdir=/etc --localstatedir=/var $make $make install
per un’ installazione minimale che non necessita di GUI uso –without-qt4 –disable-dbus , mentre come raccomandato aggiungo alcune specifiche –sysconfdir=/etc –localstatedir=/var, l’opzione –enable-lowmem non l’ho usata perchè diminuisce la verbosità dei log e il Raspberry PI è in grado di supportarla senza problemi.
Maggiori informazioni sulle opzioni per la compilazione si possono trovare alla pagina di riferimento LINK.
In caso si desideri installare una nuova versione è possibile rimuovere la versione installata con il comando :
make uninstall
in tal caso è consigliato salvare i file di configurazione e le blacklists, /etc/pgl/pglcmd.conf e /etc/pgl/blocklists.list prima di installare la nuova versione .
BURP Una volta dopo l’installazione mi è capitato di trovare i permessi in /tmp cambiati, ho risolto con :
#chmod 1777 /tmp
-
Configurazione
I principali file di configurazione sono due e presenti nella cartella /etc/pgl/ :
blocklists.list – raccoglie le liste da cui prelevare gli indirizzi IP da filtrare, alcune sono già presenti e si abilitano o disabilitano, rimuovendo o aggiungendo un commento alla riga interessata.
pglcmd.conf – qui inserire le porte o gli indirizzi IP da trattare in modo specifico.
Oppure nel caso di uso della GUI :
Altre impostazioni da modificare con cautela sono presenti in /usr/lib/pgl/pglcmd.defaults, tra le più interessanti c’è la possibilità di impostare pgl all’avvio :
# Turn on/off automatic start # 0 - Don't start pgl at system boot # 1 - Start pgl at system boot INIT="1
oppure l’aggiornamento giornaliero delle liste in cron :
# Turn on/off automatic blocklist update # 0 – Don’t update the blocklists automatically # 1 – Update the blocklists automatically CRON=”1″
O la verbosità :
# Set the verbosity of pglcmd # This only affects the output to STDOUT by pglcmd, cron and init. # This does not affect logging or the output of the daemon. # 0 - Output to STDOUT is off (only errors will be reported) # 1 - Output to STDOUT is on # 2 - Output to STDOUT is on, but no warning will be shown if an operation is # configured not to be executed. VERBOSE="1"
Per praticità è possibile inserire le opzioni sopra citate nel file pglcmd.conf
Per altro, addentratevi a vostro rischio e pericolo.
Si possono trovare diverse liste a questo indirizzo www.iblocklist.com, oppure è possibile inserire intere nazioni formulando la lista così :
http://list.iblocklist.com/?list=
e inserendo alla fine (dopo il segno =) il codice ISO (ISO 3166-1) della nazione desiderata.
Di seguito vediamo come utilizzarlo.