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'