Malware finden auf Linux Servern

Author: Alexander Fox
Follow me on Twitter Create 24/06/2014

Seit einigen Jahren werden immer wieder Webseiten mit Malware Verseucht, davon bleiben selbst Prominente CMS und Blogsysteme nicht verschont wie Wordpress,Joomla, etc . Als Serveradmin beginnt nach bekannt werden immer wieder die Suche nach kontaminiertem Webseiten los. Oft sehen die Webseiten noch ganz Normal aus aber im Hintergrund werden Scripte verändert um Spam zu versenden oder andere Webserver an zu greifen. Seit längerem gibt es ein Programm Namens Malware Detect dass auf Servern die Web Verzeichnisse durch suchen kann und Schädlinge findet. Dies ist eine sehr gute Hilfe beim Suchen und finden der Bösen Webseiten, auf den eigenen servern.  Ein User auf Howtoforge.com hat ein Shellscript geschrieben, mit dem es sehr einfach ist Systeme auf Maleware zu testen unter Debian. Ich denke ohne es getestet zu haben dass folgende Anleitung auch auf Ubuntu 'Systemen funktioniert .

Für die Richtigkeit der Inhalte des Tutorials gebe ich keinerlei Garantie.
Folgenden Inhalt in eine Datei als Beispielsweise malewaredetect.sh

nano malewaredetect.sh

Script kopieren und einfügen
#!/bin/bash
# debian-specific installation script by M. Cramer <m.cramer@pixcept.de> # howto taken from howtoforge written by "felan": # http://www.howtoforge.com/forums/showthread.php?p=284504 # 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..." sed -r -i '/maldet.*/var/www/vhosts/?/subdomains/?/httpdocs.*$/ a elif [ -d "/usr/local/ispconfig" || -d "/root/ispconfig" ]; then # ispconfig /usr/local/maldetect/maldet -b -r /var/www 2 >> /dev/null 2>&1' cron.daily; echo "Modifying maldet script..." sed -r -i 's/^$nice .*$/$nice -n $inotify_nice $inotify -r --fromfile $inotify_fpaths $exclude --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 "Soll ein Echtzeit-Monitoring laufen bitte folgende Änderungen vornehmen:" echo "" echo "vi /usr/local/maldetect/maldetfilelist" echo "" echo "Einfügen (Verzeichnis/Verzeichnisse, die untersucht werden sollen)" echo "/var/www" echo "(bzw. das Basisverzeichnis für die Webseiten, kann auch /home/www oder ähnlich sein)" echo "" echo "vi /etc/rc.local" echo "" echo "Einfügen (Befehl startet den Monitor beim Boot des Servers)" echo "/usr/local/maldetect/maldet -m /usr/local/maldetect/maldetfilelist" echo "" echo "Zum starten des Monitors einmalig den Befehl ausführen" echo "/usr/local/maldetect/maldet -m /usr/local/maldetect/maldetfilelist"

Abspeichern und schließen

Ausführbar machen mit folgendem Befehl

chmod malweredetect.sh

Nun starten wir dass Script

sh ./malewaredetect.sh

Nun ist Malewaredetect Installiert und ein Täglicher Cronjob Prüft automatisiert dass Systeme jeden Tag, wir sollten noch folgende eisntellungen erledigen in der maledetect config

nano /usr/local/maldetect/conf.maldet

Hier solltet ihr zunächst die Alamierung ein schalten und eine E-mail Adresse für Warnmeldungen eingeben

email_alert=1

email_addr="dein@email.local"

Nun abspeichern und wir können einen ersten Check machen von Hand im ISPConfig Standard Verzeichniss www

root@howtoforge:~# /usr/local/maldetect/maldet -b -a /var/www/

Ausgabe:

Linux Malware Detect v1.4.2
(C) 2002-2013, R-fx Networks <proj@r-fx.org>
(C) 2013, Ryan MacDonald <ryan@r-fx.org>

inotifywait (C) 2007, Rohan McGovern <rohan@mcgovern.id.au>

This program may be freely redistributed under the terms of the GNU GPL v2

maldet(18641): {scan} launching scan of /var/www/ to background, see /usr/local/maldetect/event_log for progress


Logfile findet sich hier

cat /usr/local/maldetect/event_log


Ausgabe des Logfiles

Jun 24 22:04:32 46038 maldet(18641): {scan} launching scan of /var/www/ to background, see /usr/local/maldetect/event_log for progress

Jun 24 22:04:32 46038 maldet(18641): {scan} signatures loaded: 11760 (9871 MD5 / 1889 HEX)

Jun 24 22:04:32 46038 maldet(18641): {scan} building file list for /var/www/, this might take awhile...

Jun 24 22:04:32 46038 maldet(18641): {scan} file list completed, found 43517 files...

Jun 24 22:04:32 46038 maldet(18641): {scan} found ClamAV clamscan binary, using as scanner engine...

Jun 24 22:04:32 46038 maldet(18641): {scan} scan of /var/www/ (43517 files) in progress...

Der Cronjob befindet sich hier

cat /etc/cron.d/maldet_pub


Ausgabe:

*/10 * * * * root /usr/local/maldetect/maldet --mkpubpaths >> /dev/null 2>&1

Links:

http://www.howtoforge.com/forums/showthread.php?p=284504
https://www.rfxn.com/projects/linux-malware-detect/

0 Kommentar(e)

Zum Posten von Kommentaren bitte