PHP Uploads auf Malware prüfen mit ClamAV

Ihr ärgert euch das euer Server immer Spam versendet? Oder viel schlimmer, Ihr habt Kunden oder Freunde die ein altes Forum etc. betreiben und darüber könnte man Malware hochladen? Ok, das ist ärgerlich aber ich zeige euch nun wie ihr das verhindern könnt 😉

Letztlich ist es ziemlich einfach – man benötigt nur einen Virenscanner, in unserem Fall ClamAV, und eine PHP-Instanz mit Suhosin. Richtig konfiguriert wird jeder Upload via PHP durch ClamAV gescanned und bei eben Fund abgelehnt und gelöscht.
Bei Debian ist Suhosin eigentlich schon aktiv.

Nun passen wir die /etc/php5/conf.d/suhosin.ini an, damit unser Plan aufgeht und files auch gescannt werden:

extension=suhosin.so
suhosin.log.syslog = 511
suhosin.log.syslog.facility = 9
suhosin.log.syslog.priority = 1
suhosin.upload.verification_script = “/usr/bin/upload.sh”

Jetzt noch schnell ein Script unter /usr/bin/upload.sh erstellen!

#!/bin/bash
if [ -n "`clamscan --infected --no-summary $1`" ]; then
echo 0;
else
echo 1;
fi


Jetzt müssen wir dem Script nur noch die passenden Rechte verpassen und natürlich den Webserver neu starten:

chmod 755 /usr/bin/upload.sh
/etc/init.d/apache2 restart


Damit seid ihr natürlich nicht zu 100% geschützt aber das ist schon mal besser als nichts.
Im nächsten Post zeige ich euch LMD inkl Scripts 😉 Freut euch drauf 😉