Filtraggio navigazione web con blocklist malware: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(8 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/squid/malware_list.txt > /dev/null
  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:


  sudoedit /etc/squid/squid.conf
  sudoedit /etc/squid3/squid.conf


  acl malware_block_list url_regex /etc/squid/malware_list.txt”
  acl malware_blocklist url_regex "/etc/squid3/malware_blocklist.txt"


  http_access deny malware_block_list
  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 malware_block_list
  deny_info http://malware.hiperlinks.com.br/denied.shtml malware_blocklist


* Riavviare squid:
* Riavviare squid:
  sudo invoke-rc.d squid reload
  sudo invoke-rc.d squid3 reload


* Per aggiornare quotidianamente la lista, creare lo script di aggiornamento:
* Per aggiornare quotidianamente la lista, creare lo script di aggiornamento:
  sudoedit /usr/local/sbin/malware_list_update
  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
/usr/bin/wget --quiet -O - http://malware.hiperlinks.com.br/cgi/submit?action=list_squid > /etc/squid/malware_block_list.txt
 
invoke-rc.d squid 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/malware_list_update
  sudo chmod +x /usr/local/sbin/malware_blocklist_update


* Testarlo:
* Testarlo:
  sudo /usr/local/sbin/malware_list_update 0
  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/malwarelist-update  
  sudoedit /etc/cron.d/malware-blocklist-update  


  0 4 * * *  root    /usr/local/sbin/malware_list_update
  0 4 * * *  root    /usr/local/sbin/malware_blocklist_update


* Testare la navigazione accedendo ad uno dei domini bloccati. Per vederne alcuni:
* Testare la navigazione accedendo ad uno dei domini bloccati, ad esempio http://www.rapidupload.com
tail /etc/squid/malware_block_list.txt


==Riferimenti==
==Riferimenti==

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

Riferimenti