Filtraggio navigazione web con blocklist malware: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
* '''TODO: Correggere pacchetto debian, mettendo la lista in /var/lib/malware_blocklist''' | |||
*'''Fare check aging in script di update per poterlo usare anche come plugin nagios''' | |||
È possibile impedire l'accesso a pagine web che diffondono malware aggiungendo a squid una lista di blocco aggiornabile. | È possibile impedire l'accesso a pagine web che diffondono malware aggiungendo a squid una lista di blocco aggiornabile. | ||
* La lista è prelevabile da sito [http://malware.hiperlinks.com.br/ Malware Patrol], prelevarla quindi la prima volta: | * La lista è prelevabile da sito [http://malware.hiperlinks.com.br/ Malware Patrol], prelevarla quindi la prima volta: | ||
wget -O - http://malware.hiperlinks.com.br/cgi/submit?action=list_squid | sudo tee /etc/squid3/ | 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: | * Aggiungere le acl nella configurazione di squid: | ||
| Line 8: | Line 11: | ||
sudoedit /etc/squid3/squid.conf | sudoedit /etc/squid3/squid.conf | ||
acl | acl malware_blocklist url_regex "/etc/squid3/malware_blocklist.txt" | ||
http_access deny | http_access deny malware_blocklist | ||
* Se si vuole mostrare la pagina di blocco, definirla (si può mettere una pagina customizzata): | * Se si vuole mostrare la pagina di blocco, definirla (si può mettere una pagina customizzata): | ||
deny_info http://malware.hiperlinks.com.br/denied.shtml | deny_info http://malware.hiperlinks.com.br/denied.shtml malware_blocklist | ||
* Riavviare squid: | * Riavviare squid: | ||
| Line 20: | Line 23: | ||
* Per aggiornare quotidianamente la lista, creare lo script di aggiornamento: | * Per aggiornare quotidianamente la lista, creare lo script di aggiornamento: | ||
sudoedit /usr/local/sbin/ | sudoedit /usr/local/sbin/malware_blocklist_update | ||
<pre> | <pre> | ||
#!/bin/bash | #!/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 for a random value up to 600 seconds | ||
| Line 34: | Line 69: | ||
fi | fi | ||
sleep $WAIT | sleep $WAIT | ||
invoke-rc.d squid3 reload > /dev/null | 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 | |||
</pre> | </pre> | ||
* Renderlo eseguibile | * Renderlo eseguibile | ||
sudo chmod +x /usr/local/sbin/ | sudo chmod +x /usr/local/sbin/malware_blocklist_update | ||
* Testarlo: | * Testarlo: | ||
sudo /usr/local/sbin/ | 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: | * Attivare il cron job, che verrà eseguito alle 04:00 + 0-10 minuti: | ||
sudoedit /etc/cron.d/ | sudoedit /etc/cron.d/malware-blocklist-update | ||
0 4 * * * root /usr/local/sbin/ | 0 4 * * * root /usr/local/sbin/malware_blocklist_update | ||
* Testare la navigazione accedendo ad uno dei domini bloccati, ad esempio http://www.rapidupload.com | * Testare la navigazione accedendo ad uno dei domini bloccati, ad esempio http://www.rapidupload.com | ||
Latest revision as of 17:52, 20 September 2012
- TODO: Correggere pacchetto debian, mettendo la lista in /var/lib/malware_blocklist
- Fare check aging in script di update per poterlo usare anche come plugin nagios
È 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