Prüfen Sie regelmässig ob ihre Websiten mit Malware infiziert sind

Aus first-vserver.de
Wechseln zu: Navigation, Suche

Überprüfen Sie in regelmässigen Abständen ob Sie oder ihre Kunden Infizierte Websiten haben. Sollte dies so sein werden Sie per eMail benachrichtigt und die infizierte Datei wird in die Quarantäne verschoben.

#!/bin/bash

CURDIR=`pwd`
PROG=`readlink -f $0`

echo "Installing prerequisites..."
apt-get -y -q install inotify-tools sed

echo "Fetching latest version of maldetect..."
cd /tmp
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar -xzf maldetect-current.tar.gz
cd maldetect-*

echo "Modifying install script..."
sed -r -i 's/^(.*cp.*\/libinotifytools.so\.0[ ]+\/usr\/lib\/.*)$/#\1/g' install.sh;

echo "Modifying cron job for ispconfig"
sed -r -i '/maldet.*\/var\/www\/vhosts\/\?\/subdomains\/\?\/httpdocs.*$/ a\
       elif [ -d "/usr/local/ispconfig" ]; then\
               # ispconfig\
               /usr/local/maldetect/maldet -b -r /var/www 2 >> /dev/null 2>&1' cron.daily;

echo "Modifying cron job for confixx"
sed -r -i '/maldet.*\/var\/www\/vhosts\/\?\/subdomains\/\?\/httpdocs.*$/ a\
       elif [ -d "/root/confixx" ]; then\
               # confixx\
               /usr/local/maldetect/maldet -b -r /var/www/\?\/html 2 >> /dev/null 2>&1' cron.daily;

echo "Modifying maldet script..."
sed -r -i 's/^\$nice .*$/\$nice -n \$inotify_nice \$inotify -r \$inotify_fpaths \--timefmt "%d %b %H:%M:%S" --format "%w%f %e %T" -m -e  create,move,modify >> \$inotify_log 2>\&1 \&/g' files/maldet;

sed -r -i '/lmdup\(\) \{.*$/ a\
ofile=\$tmpdir/.lmdup_vercheck.\$\$\
tmp_inspath=/usr/local/lmd_update\
rm -rf \$tmp_inspath\
rm -f \$ofile\
\
mkdir -p \$tmp_inspath\
chmod 750 \$tmp_inspath\
\
eout "\{update\} checking for available updates..." 1\
\
\$wget --referer="http://www.rfxn.com/LMD-\$ver" -q -t5 -T5 "\$lmdurl_ver" -O \$ofile >> /dev/null 2>\&1\
if \[ -s "\$ofile" \]; then\
       installed_ver=`echo \$ver | tr -d "."`\
       current_ver=`cat \$ofile | tr -d "."`\
       current_hver=`cat \$ofile`\
       if \[ "\$current_ver" -gt "\$installed_ver" \]; then\
               eout "\{update\} new version \$current_hver found, updating..." 1\
               '"$PROG"'\
       fi\
else\
   echo "no update file found. try again later"\
   exit\
fi\
\
rm -rf \$tmp_inspath \$ofile \$ofile_has\
\
exit;\
# skip all the rest\
' files/maldet;

echo "Modifying config..."
sed -r -i 's/^inotify=.*$/inotify=\/usr\/bin\/inotifywait/g' files/internals.conf

echo "Deleting unneccessary files..."
rm -f files/inotify/inotifywait
rm -f files/inotify/libinotifytools.so.0

./install.sh

rm -r /tmp/maldetect-*

cd $CURDIR

echo "modify the last lines in the config. passed for first-vServer.de" 

sed -i 's/email_alert=0/email_alert=1/g' /usr/local/maldetect/conf.maldet
sed -i 's/email_ignore_clean="0"/email_ignore_clean="1"/g' /usr/local/maldetect/conf.maldet
sed -i 's/maxdepth=15/maxdepth=30/g' /usr/local/maldetect/conf.maldet
sed -i 's/email_addr="you@domain.com"/email_addr="DEINE-MAIL@ADRESSE"/g' /usr/local/maldetect/conf.maldet
sed -i 's/quar_hits=0/quar_hits=1/g' /usr/local/maldetect/conf.maldet
sed -i 's/inotify_webdir=public_html/inotify_webdir=/g' /usr/local/maldetect/conf.maldet
ln -s /usr/local/maldetect/event_log /var/log/malware.log

echo "Installation has been done. Have fun with a secure Webserver :-)"

Nun je nach System einfach das Script bzw. das Tool durchlaufen lassen. Das geht z.B. bei Confixx mit:

maldet -b -a /var/www/?/html/

Nacher dann mal in die log schauen welche unter /usr/local/maldetect/event_log liegt. Hier findet ihr dann (wenn ihr keine mail bekommt und er schon fertig ist) ein Logeintra:

maldet(6750): {scan} scan report saved, to view run: maldet --report 050513-0947.6750  

Soweit so gut. Damit findet ihr dann etwa 95% von infizierten Content (auch Base64) und wenn es klappt wird der content sogar noch gecleaned!