terça-feira, 28 de outubro de 2008

Sites que Mantém BlackList de Adware e Spyware

PessoALL

Existem alguns sites, que mantém listas autalizadas de sites maliciosos (que instalam os Malwares nas estações Windows) e de sites que promovem os nada desejados banners.
Existem algumas maneiras de você suas estações Windows, apenas colocando dentro do arquivo hosts (C:\windows\system32\drivers\etc\hosts) o conteúdo destes arquivos, pois toda vez que o usuário tentar acessar o site, irá para apontar para o loopback (127.0.0.1).
Outra forma é implementar uma blacklist dentro do teu Proxy (Squid, ISA...) para que seja barrado na boca da rede.
Segue a relação de quatro sites que mantém esta lista bastante atualizada.
Utilizo estas blacklists no Squid.
No próximo post, vou publicar um script que pega estas 4 blacklists e transforma em uma só em em formato para o squid e para o arquivo hosts.
O Arquivo fica aproximadamente com mais de 100.000 registros. Uma belíssima blacklist, porém dependendo do teu proxy, o acesso a internet poderá ficar bem lento.

2 comentários:

  1. Dailson,

    Roubei descaradamente um script do Peter Lowe (http://pgl.yoyo.org) e modifiquei para juntar todas as blacklists em uma só. Porém não utilizo ela como como regex, mas como dstdomain. Como não sou nenhum guro de scripting tenho certeza que pode ser melhorado. Segue o script:

    #!/bin/sh
    # URL of the ad server list to download
    listurl1='http://pgl.yoyo.org/adservers/serverlist.php?hostformat=nohtml'
    listurl2='http://www.mvps.org/winhelp2002/hosts.txt'
    listurl3='http://hostsfile.mine.nu/Hosts'
    listurl4='http://www.it-mate.co.uk/downloads/hosts.txt'
    # Malware hosts
    listurl5='http://www.malwaredomains.com/files/domains.txt'

    # location of the list of ad servers used by Squid
    targetfile='/etc/squid/blacklist.txt'

    # temp files to use

    # temp file for merged blacklists
    tmpfile="/tmp/.adlist.$$"

    # temp files for downloaded blacklists
    tmpfile1="/tmp/.adlist1.$$"
    tmpfile2="/tmp/.adlist2.$$"
    tmpfile3="/tmp/.adlist3.$$"
    tmpfile4="/tmp/.adlist4.$$"
    tmpfile5="/tmp/.adlist5.$$"
    # temp file for shapping and unifying blacklists
    tmpfile10="/tmp/.adlist10.$$"

    # output files for domain stripped blacklists
    blist2=/tmp/blist2
    blist3=/tmp/blist3
    blist4=/tmp/blist4
    blist5=/tmp/blist5

    # commands for fetching blacklists
    fetchcmd1="wget -q $listurl1 -O $tmpfile1"
    fetchcmd2="wget -q $listurl2 -O $tmpfile2"
    fetchcmd3="wget -q $listurl3 -O $tmpfile3"
    fetchcmd4="wget -q $listurl4 -O $tmpfile4"
    fetchcmd5="wget -q $listurl5 -O $tmpfile5"

    ## do things
    ##

    # get a fresh list of ad server addresses for squid to refuse
    $fetchcmd1
    $fetchcmd2
    $fetchcmd3
    $fetchcmd4
    $fetchcmd5

    # Strip domain portion from downloaded files
    # tempfile1 already in domain only format
    sed '/^\#/d' $tmpfile2 | cut -f 3 -d " " | sed 's/.$//' | sed '/^$/d' > $blist2
    sed '/^\#/d' $tmpfile3 | cut -f 2 | sed 's/.$//' | sed '/^$/d' > $blist3
    sed '/^\#/d' $tmpfile4 | cut -f 2 | sed 's/.$//' | sed '/^$/d' > $blist4
    sed '/^\#/d' $tmpfile5 | cut -f 3 | sed 's/.$//' | sed '/^$/d' > $blist5

    # merge blacklists
    cat $tmpfile1 >> $tmpfile10
    cat $blist2 >> $tmpfile10
    cat $blist3 >> $tmpfile10
    cat $blist4 >> $tmpfile10
    cat $blist5 >> $tmpfile10

    #remove unwanted entries from blacklist
    sed -i '/localhost$/d' $tmpfile10
    sed -i '/msn.com$/d' $tmpfile10
    sed -i '/msn.com.br$/d' $tmpfile10
    sed -i '/windowsmedia.com$/d' $tmpfile10
    sed -i '/microsoft.com$/d' $tmpfile10
    sed -i '/youtube.com$/d' $tmpfile10
    sed -i '/gmodules.com$/d' $tmpfile10
    sed -i '/google-analytics.com$/d' $tmpfile10
    sed -i '/googleanalytics.com$/d' $tmpfile10
    sed -i '/google.com$/d' $tmpfile10
    sed -i '/analytics.yahoo.com$/d' $tmpfile10

    # insert a dot at beggining of line for recursive behavior
    sed 's/^/\./' $tmpfile10 > $tmpfile

    # check the temp file exists OK before overwriting the existing list
    if [ ! -s $tmpfile ]
    then
    echo "temp file '$tmpfile' either doesn't exist or is empty; quitting"
    exit
    fi

    # sort and filter out duplicates
    sort $tmpfile > $targetfile

    # clean up
    rm $tmpfile $tmpfile1 $tmpfile2 $tmpfile3 $tmpfile4 $tmpfile5 $tmpfile10 $blist2 $blist3 $blist4 $blist5

    ######### END OF SCRIPT ##########

    ResponderExcluir
  2. Dailson, vc nao me conhece mas gostaria de te convidar para um congresso, mas quero te informar de mais detalhes por email, sera que vc poderia me retornar ? meu email : juniortamietti@gmail.com

    ResponderExcluir