Dieses Tutorial erklärt, wie Sie ClamAV in PureFTPd zum Virenscannen auf einem Fedora 18-System integrieren können. Am Ende überprüft ClamAV die Datei immer dann, wenn sie über PureFTPd hochgeladen wird, und löscht sie, wenn es sich um Malware handelt.
1 Vorbemerkung
Sie sollten ein funktionierendes PureFTPd-Setup auf Ihrem Fedora 18-Server haben, z. wie in diesem Tutorial gezeigt:Virtual Hosting With PureFTPd And MySQL (Incl. Quota And Bandwidth Management) On Fedora 18.
2 Installieren von ClamAV
ClamAV kann wie folgt installiert werden:
yum installiere amavisd-new clamav clamav-data clamav-server clamav-update clamav-scanner
Als nächstes erstellen wir die Systemstartlinks für clamd und starten es:
systemctl ermöglicht clamd.amavisd.service
systemctl startet clamd.amavisd.service
3 Konfigurieren von PureFTPd
Zuerst öffnen wir /etc/pure-ftpd/pure-ftpd.conf und setzen CallUploadScript auf yes :
vi /etc/pure-ftpd/pure-ftpd.conf
[...]# Wenn Ihr pure-ftpd mit pure-uploadscript-Unterstützung kompiliert wurde,# wird pure-ftpd dazu veranlasst, Informationen über neue zu schreiben lädt nach# /var/run/pure-ftpd.upload.pipe hoch, damit pure-uploadscript es lesen und# ein Skript erstellen kann, um das upload.CallUploadScript zu handhaben. yes[...] |
Als nächstes erstellen wir die Datei /etc/pure-ftpd/clamav_check.sh (die /usr/bin/clamdscan aufruft, wenn eine Datei über PureFTPd hochgeladen wird)...
vi /etc/pure-ftpd/clamav_check.sh
#!/bin/sh/usr/bin/clamdscan --remove --quiet --no-summary "$1" |
... und ausführbar machen:
chmod 755 /etc/pure-ftpd/clamav_check.sh
Jetzt starten wir das Programm pure-uploadscript als Daemon – es ruft unser Skript /etc/pure-ftpd/clamav_check.sh auf, wenn eine Datei über PureFTPd hochgeladen wird:
pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
Natürlich wollen Sie den Daemon nicht bei jedem Systemstart manuell starten - deshalb öffnen wir /etc/rc.local...
vi /etc/rc.local
... und fügen Sie die Zeile /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh hinzu - z.B. wie folgt:
#!/bin/sh## Dieses Skript wird *nach* allen anderen Init-Skripten ausgeführt.# Sie können Ihr eigenes Initialisierungsmaterial einfügen Hier, wenn Sie nicht # das gesamte Init-Zeug im Sys V-Stil ausführen möchten./usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.shtouch /var/lock/subsys/local |
Wenn /etc.rc.local nicht existiert, erstellen Sie es (mit der Zeile #!/bin/sh am Anfang) und machen Sie es dann ausführbar:
chmod 755 /etc/rc.local
Abschließend starten wir PureFTPd neu:
systemctl restart pure-ftpd.service
Das ist es! Wann immer jetzt jemand versucht, Malware über PureFTPd auf Ihren Server hochzuladen, werden die "schlechten" Dateien stillschweigend gelöscht.
4 Links
- PureFTPD:http://www.pureftpd.org/
- ClamAV:http://www.clamav.net/
- Fedora:http://fedoraproject.org/