Filtraggio navigazione web con blocklist malware
- TODO: Fare pacchetto debian, mettendo la lista in /var/lib/malware_blocklist
- Fare check aging in script di update
È possibile impedire l'accesso a pagine web che diffondono malware aggiungendo a squid una lista di blocco aggiornabile.
- La lista è prelevabile da sito Malware Patrol, prelevarla quindi la prima volta:
wget -O - http://malware.hiperlinks.com.br/cgi/submit?action=list_squid | sudo tee /etc/squid3/malware_blocklist.txt > /dev/null
- Aggiungere le acl nella configurazione di squid:
sudoedit /etc/squid3/squid.conf
acl malware_blocklist url_regex "/etc/squid3/malware_blocklist.txt"
http_access deny malware_blocklist
- Se si vuole mostrare la pagina di blocco, definirla (si può mettere una pagina customizzata):
deny_info http://malware.hiperlinks.com.br/denied.shtml malware_blocklist
- Riavviare squid:
sudo invoke-rc.d squid3 reload
- Per aggiornare quotidianamente la lista, creare lo script di aggiornamento:
sudoedit /usr/local/sbin/malware_blocklist_update
#!/bin/bash
function list_download() {
/usr/bin/wget --quiet -O /tmp/malware_blocklist.txt http://malware.hiperlinks.com.br/cgi/submit?action=list_squid
if [ $? != 0 ]
then
echo "There was an error downloading the list."
exit 1
fi
}
function list_copy() {
cp /tmp/malware_blocklist.txt /etc/squid3/malware_blocklist.txt
}
if [ "$1" == "init" ]
then
list_download
list_copy
cat /etc/squid3/malware_blocklist.txt | head -n 3| md5sum > /etc/squid3/malware_blocklist.txt.md5
echo "Please check the downloaded list"
exit 0
fi
if [ ! -e /etc/squid3/malware_blocklist.txt.md5 ]
then
echo "ATTENTION: Blocklist MD5SUM is missing."
echo "Run malware_blocklist_update init"
exit 1
fi
MD5OK="$(cat /etc/squid3/malware_blocklist.txt.md5)"
# wait for a random value up to 600 seconds
WAIT=$(/usr/bin/expr $RANDOM % 600)
# If you specify a value, use it 0=start immediatly
if [ -n "$1" ]
then
WAIT=$1
fi
sleep $WAIT
list_download
MD5SUM="$(cat /tmp/malware_blocklist.txt | head -n 3| md5sum)"
if [ "$MD5SUM" = "$MD5OK" ]
then
list_copy
invoke-rc.d squid3 reload > /dev/null
else
echo "ATTENTION: there was an error updating the squid malwware_blocklist !"
exit 1
fi
- Renderlo eseguibile
sudo chmod +x /usr/local/sbin/malware_blocklist_update
- Testarlo:
sudo /usr/local/sbin/malware_blocklist_update init sudo /usr/local/sbin/malware_blocklist_update 0
- Attivare il cron job, che verrà eseguito alle 04:00 + 0-10 minuti:
sudoedit /etc/cron.d/malware-blocklist-update
0 4 * * * root /usr/local/sbin/malware_blocklist_update
- Testare la navigazione accedendo ad uno dei domini bloccati, ad esempio http://www.rapidupload.com