Modificare in /etc/squid/squid.conf
visible_hostname srv-scuolax
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -b ou=People,dc=isi,dc=lan srv-scuolax
external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group \
-v 3 -b ou=Groups,dc=isi,dc=lan -B ou=People,dc=isi,dc=lan -f \
"(&(memberUid=%v)(objectClass=posixGroup)(cn=%g))" srv-scuolax
Il nome del server con cui si sostituirà srv-scuolax dovrà essere risolvibile, ci si assicuri pertanto che sia inserito in /etc/hosts.
Si accerti anche che le seguenti direttive siano presenti:
http_port 3128
access_log /var/log/squid/access.log
cache_dir ufs /var/spool/squid 3000 16 256
Recentemente abbiamo modificato alcuni percorsi di sistema relativi a squid e alle directory contenenti i report. Di seguito ci limiteremo a fornire le istruzioni per aggiornare la configurazione di squid alla nuova versione. Vi suggeriamo di leggere l’approfondimento relativo disponibile qui.
mkdir -p /home/var/log/squid && chown proxy.proxy /home/var/log/squid
mkdir -p /home/var/spool/squid && chown proxy.proxy /home/var/spool/squid
/etc/init.d/squid stop
rm -rf /var/spool/squid
ln -s /home/var/spool/squid /var/spool/squid
mv /var/log/squid/* /home/var/log/squid/ && rm -r /var/log/squid
ln -s /home/var/log/squid /var/log/squid
/etc/init.d/squid start
/etc/init.d/sysklogd restart
Esigenze di legge ci portano a conservare i log per un periodo di almeno cinque anni. Per questa ragione sostituiamo al contenuto di /etc/logrotate.d/squid quanto segue
#
# Logrotate fragment for squid.
#
/var/log/squid/*.log {
monthly
compress
delaycompress
rotate 60
missingok
nocreate
sharedscripts
prerotate
test ! -x /usr/sbin/sarg-reports || /usr/sbin/sarg-reports monthly
endscript
postrotate
test ! -e /var/run/squid.pid || /usr/sbin/squid -k rotate
endscript
}
Potete vedere alcuni esercizi nel laboratorio su DansGuardian.
Le modifiche da apportare al fine di configurazione /etc/dansguardian/dansguardian.conf sono modeste:
language = 'italian'
# the port that DansGuardian listens to.
filterport = 8128
# the ip of the proxy (default is the loopback - i.e. this server)
proxyip = 127.0.0.1
# the port DansGuardian connects to proxy on
proxyport = 3128
# accessdeniedaddress is the address of your web server to which the cgi
# dansguardian reporting script was copied
# Do NOT change from the default if you are not using the cgi.
#
accessdeniedaddress = 'http://localhost/cgi-bin/dansguardian.pl'
è inoltre possibile, non indispensabile, attivare il filtro antivirus. Nella distribuzione si troverà già incluso il supporto per ClamAV.
virusscan = on
# OPTION: virusengine
# Set the embedded virus scan engine to be used
virusengine = 'clamav'
Si può dunque scegliere di disattivare la feature impostando la direttiva
virusscan = off
Prima di attivare DansGuardian, come si evince dal suo contenuto, è indispensabile rimuovere la seguente riga (localizzata di solito ad inizio file):
UNCONFIGURED - Please remove this line after configuration
Chi volesse modificare le varie tipologie di filtraggio, troverà indispensabile il file /etc/dansguardian/dansguardianf1.conf
Per ulteriori informazioni su dansguardian e le tipologie di filtraggio: http://dansguardian.org/
Per utilizzare SARG, utile strumento di interpretazione dei logs di accesso di squid, è necessario assicurarsi che squid sia configurato per scrivere i propri log in /var/log/squid/access.log. Ci si accerti quindi che in /etc/squid/squid.conf sia presente la direttiva seguente ed in caso contrario la si aggiunga
access_log /var/log/squid/access.log
Grazie a SARG è possibile generare report in formato html parteno dai log di squid.
** Lingua **
La lingua usata di default nei log generati è inglese. Se si desiderasse sostituirla quella italiana, basterà sostituire in /etc/squid/sarg.conf la direttiva language English con language Italian.
** Destinazione Report **
Dato che i file di configurazione di default prevedono che i report vengano generati in /var/www/squid-reports/, per rispettare la nuova struttura ISI <path_home_var>, che posiziona i report in /home/var/reports/, modifichiamo i file /etc/squid/sarg.conf e /etc/squid/sarg-reports.conf impostando nel primo
output_dir /home/var/reports/squid-reports
e nel secondo
HTMLOUT=/home/var/reports/squid-reports
Di default, la creazione schedulata dei report( giornalieri, settimanali, mensili) viene garantita dalle seguenti script aggiunte da sarg
/etc/cron.daily/sarg
/etc/cron.weekly/sarg
/etc/cron.monthly/sarg
Il cui codice, molto elementare, altro non fa che avviare “sarg-reports” e passargli il periodo di tempo di cui generare i log
/usr/sbin/sarg-reports monthly
Per semplificarne ulteriormente la configurazione, abbiamo preferito rimuovere le script aggiunte da sarg schedulando i processi di generazione dei report nel file di cron ISI /etc/cron.d/isi
rm /etc/cron.*/sarg
Il contenuto del file /etc/cron.d/isi risultante è il seguente
#### Sarg reports
00 08-18/1 * * * /usr/sbin/sarg-reports today
00 00 * * * /usr/sbin/sarg-reports daily
00 01 * * 1 /usr/sbin/sarg-reports weekly
30 02 1 * * /usr/sbin/sarg-reports monthly
#### create nautilus links
00 04 * * * root /usr/sbin/isi-gnome-menu -a &>/dev/null
#### start daily backup
00 23 * * * root /usr/sbin/isi-backup &>/dev/null
dglog è un utilissimo perl-script che permette di analizzare comodamente i logs generati da dansguardian. Con questo utile strumento sarà possibile, ad esempio, elencare tutti i contenuti web negati/permessi ad un particolare utente. Una volta configurato, dglog sarà raggiungibile direttamente dall’interfaccia web, nella sezione navigazione/log. Se dglog viene configurato sul firewall che non ha installato isi-web, dglog sarà raggiungibile puntando a
http://<IP SERVER>/cgi-bin/dglog/dglog.pl
Creare il file di configurazione
cd /etc/isi
cp dglog.conf.pl.sample dglog.conf.pl
Rendere eseguibile il cgi-script dglog.pl
chmod +x /usr/lib/cgi-bin/dglog/dglog.pl
Per una rapida verifica basterà puntare con il proprio browser al seguente URL:
http://<IP SERVER>/cgi-bin/dglog/dglog.pl
Grazie a MRTG potremo tenere sempre sotto controllo il traffico di rete dei nostri server.
apt-get -y install mrtg mrtg-contrib librrds-perl snmpd snmp
Modifichiamo /etc/snmp/snmpd.conf lanciando
sed -i 's|com2sec paranoid default public|#com2sec paranoid default public|g' /etc/snmp/snmpd.conf
sed -i 's|com2sec paranoid default public|#com2sec paranoid default public|g' /etc/snmp/snmpd.conf
sed -i 's|#com2sec readonly default public|com2sec readonly 127.0.0.1 public|g' /etc/snmp/snmpd.conf
e restartiamo il servizio snmpd
/etc/init.d/snmpd restart
Creiamo quindi la directory in cui verranno generati i nostri log
mkdir -p /home/var/reports/mrtg
Generiamo il file di configurazione /etc/mrtg.cfg
cfgmaker --global "WorkDir: /home/var/reports/mrtg" --global "Options[_]: growright,bits" --ifref=name public@localhost --output=/etc/mrtg.cfg
creiamo l’index
indexmaker --clicktext --title="Statistiche $(hostname)" --output=/home/var/reports/mrtg/index.html /etc/mrtg.cfg
E lanciamo la generazione dei report
# Generate report
if [ -d /var/lock/mrtg ]; then
if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then
env LANG=C /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1
fi
else
mkdir /var/lock/mrtg
fi
Di recente è stata apportata qualche modifica al file acl.conf di default. Tra le modifiche effettuate, sono state aggiunte le impostazioni dei permessi anche per il nuovo percorso dei report /home/var/reports. Se non ancora fatto, è possibile applicare alla propria /home/var/reports lo schema di acl ISI con
isi-perms reports
Affinchè le macchine XP vengano correttamente configurate, in fase di logon, per passare attraverso dansguardian, modificare /etc/isi/logon.conf impostando le seguenti direttive di logon
### WinSet sezione 'proxy'
ProxyServer = 192.168.1.222:8128 # DansGuardian
ProxyServer[admins] = 192.168.1.222:3128 # Squid (FW permettendo)
#ProxyOverride = www.XXX.XXX,<local>
Affinchè le macchine debian/ubuntu possano passare il firewall occorre creare un account apposito ed istruire apt di usare quello per evitare di essere bloccato dal firewall che blocca appunto la porta 80.
Apt-get legge un file di configurazione,
- /etc/apt/apt.conf o un qualunque file della directory
- etc/apt/apt.conf.d/
E` sufficiente mettere in questo file la istruzione:
Acquire::http::Proxy "http://user:pwd@ip_squid_box:3128";
ed aggiungere un utente allo scopo con il comando (sostituire xxx):
isi-adduser -s 'apt;squid;proxy;admins;;;xxx'
La configurazione di gnome per l’utilizzo del proxy avviene tramite la configurazione di gconf di cui si può trovare una introduzione qui
In buona sostanza questi comandi lanciati come root dovrebbero bastare:
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--type bool --set /system/http_proxy/use_http_proxy false
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--type string --set /system/http_proxy/host "http://newproxy.mydomain.org/"
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \
--type string --set /system/http_proxy/port 3128
echo "http_proxy="http://ip_of_my_proxy:3128/" >> /etc/environment
Queste righe scrivono il valore obbligatorio che deve avere il proxy. Questo funziona automaticamnete per il browser di deafult di gnome (epiphany) non per firefox che va ancora impostato di usare il default di sistema. Per questo scopo la cosa forse più efficace è di creare un profilo di default (~/.mozilla/firefox) e di copiarlo in /etc/skel.