PHP-Uploads gegen Malware schützen

 

Mindestens ein Mal pro Woche kommen Kunden auf mich zu und bitten mich darum, ihren (Shared-Hosting-)Webserver von Malware zu befreien. Meist wird über die Maschine Spam versandt, woraus resultiert, dass die IP auf vielen Blacklists gelistet wird.

Wie kann man sich schützen?

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 im Malware-Fall abgelehnt und gelöscht.

Konfiguration

Läuft PHP nicht mit Suhosin kann man es einfach nachinstallieren:

apt-get install php5-suhosin

Nun passen wir die /etc/php5/conf.d/suhosin.ini an, damit unser Plan aufgeht.

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“

Nun ein Restart des Apache und wir können mit der ClamAV-Integration beginnen.

ClamAV-Integration

Um nun ClamAV zu integrieren, legen wir oben genannte Datei /usr/bin/upload.sh an.

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

Ein kurzes chmod +x /usr/bin/upload.sh macht das Skript ausführbar. Nun wird der Upload abgebrochen, wenn Malware gefunden wurde.

Ich übernehme keine Haftung für etwaig entstandene Schäden. Bitte erst denken, dann Befehle abtippen.

1 Gedanke zu “PHP-Uploads gegen Malware schützen

  1. Eigentlich ganz nett nur fuer 2013 nicht zu gebrauchen. Suhosin ist schon seit ueber 2 Jahren nicht mehr weiterentwickelt worden, der Support in Debian, Gentoo, SuSE… gedropped.

Schreibe einen Kommentar