Назад | Перейти на главную страницу

Сканер URL на стороне сервера на предмет вредоносных программ, шпионского ПО, вирусов и защиты моих посетителей

У меня есть сайт форума / группы, который содержит множество внешних URL-адресов, иногда прямые ссылки для скачивания. Я хочу защитить своих посетителей от возможных атак со стороны вредоносных сайтов, поскольку они вряд ли перейдут по этим ссылкам. В настоящий момент я использую DBL (spamhaus), но этого недостаточно. Я хочу запустить фоновую задачу, чтобы сначала проверить исходящие ссылки. Я просмотрел аналогичные вопросы в StackOverflow (ошибочно размещен там) и здесь, но не нашел такого же вопроса или хорошего ответа.

Люди предложили ClamAV, я не верю, что он может обнаруживать вредоносные сайты, размещенные в Интернете, и его часто не обнаруживают. Я просмотрел службу безопасного просмотра Google ( http://code.google.com/apis/safebrowsing/developers_guide_v2.html очень сложно реализовать или поддерживать плюс на полпути я заблудился: S)

Я могу выбрать коммерческое решение, что угодно, чтобы защитить посетителей и бренд моего сайта. Но хотелось бы услышать мнение админов серверов и внедрил ли кто-нибудь такую ​​услугу.

Мой сервер - это базовый стек CentOS LAMP.

заранее большое спасибо.

Я использую 3 или 4 службы проверки внешних сайтов в скрипте crontab. это написано на моем языке (tcsh), но легко конвертируется в bash / sh

Я запускаю это один раз в день.

Возможно, трудной частью может быть составление списка внешних сайтов, на которые вы ссылаетесь.

#!/bin/tcsh -f 
# simplistic after the fact check/test of our sites,being possible malware related.
#Mon Sep 20 18:52:15 GMT 2010,dianevm at gmail.com
# happened once when some bogus advert networks were used for 48 hours :-(
setenv TZ CST6CDT

set LINKS="links -no-references -no-numbering -dump-width 120 -dump "
set TMPF=/tmp/.malware.dmp.$$
#alias DBG 'echo -n DEBUG:; set PAUSE=$<'
alias DBG 'echo -n " "'
set NOW=`date +%T`

alias OKOUT 'set NOW=`date +%T`;printf %-8s \!*;echo " $NOW"'


set SITES2CHECK="toplevel.com external2.com varioussite3.com etc.com"

foreach i ( $SITES2CHECK )

echo ___  $i ___  


printf %-20s GOOGLE 
$LINKS "http://www.google.com/safebrowsing/diagnostic?site=$i" >! $TMPF

set GOOGLEOK=`grep 'This site is not currently listed as suspicious' $TMPF |wc -l` 
if  ( "$GOOGLEOK" == "1" )then 
    OKOUT ok
else
   tcsh ~/malwarefail $i GOOGLE $TMPF
endif

printf %-20s SiteAdvisor  
$LINKS http://www.siteadvisor.com/sites/$i >! $TMPF
set SITEADVOK=`grep 'tested this site and didn.t find any significant problems.' $TMPF|wc -l` 
set SITEADVUNKNOWN=`grep 'we haven.t tested this one yet.' $TMPF|wc -l` 
if ($SITEADVOK == "1" || "$SITEADVUNKNOWN" == "1") then
    OKOUT  ok  
else
   tcsh ~/malwarefail $i SITEADV $TMPF
endif

printf %-20s  Norton 
$LINKS "http://safeweb.norton.com/report/show?url=$i"  >! $TMPF
set NORTONOK=`grep 'Norton Safe Web found no issues with this site' $TMPF|wc -l` 
set NORTONUNKNOWN=`grep ' This site has not been tested yet' $TMPF|wc -l` 
if ($NORTONOK == "1" ||$NORTONUNKNOWN  == "1" ) then
    OKOUT  ok  
else 
    tcsh ~/malwarefail $i NORTON $TMPF
endif
printf %-20s  BRWSDEFNDR 
$LINKS "http://www.browserdefender.com/site/$i/">! $TMPF
set BRWSDEFNDROK=`grep 'Our testing of this site found no dangerous downloads' $TMPF|wc -l` 
set BRWSDEFNDRUNKNOWN=`grep 'Not yet rated' $TMPF|head -1|wc -l` 
#note head added,2  instances 
if ($BRWSDEFNDROK == "1" ||$BRWSDEFNDRUNKNOWN  == "1" ) then
    OKOUT  ok  
else 
    tcsh ~/malwarefail $i BRWSDEFNDR $TMPF
endif
end
~
## note malwarefail just emails people the output of the dump files