Questo tutorial spiega come integrare ClamAV in PureFTPd per la scansione dei virus su un sistema Fedora 18. Alla fine, ogni volta che un file viene caricato tramite PureFTPd, ClamAV controllerà il file e lo cancellerà se si tratta di malware.
1 Nota preliminare
Dovresti avere una configurazione PureFTPd funzionante sul tuo server Fedora 18, ad es. come mostrato in questo tutorial:Hosting virtuale con PureFTPd e MySQL (incl. Quota e gestione della larghezza di banda) su Fedora 18.
2 Installazione di ClamAV
ClamAV può essere installato come segue:
yum install amavisd-new clamav clamav-data clamav-server clamav-update clamav-scanner
Quindi creiamo i collegamenti di avvio del sistema per clamd e lo avviamo:
systemctl enable clamd.amavisd.service
systemctl start clamd.amavisd.service
3 Configurazione di PureFTPd
Per prima cosa apriamo /etc/pure-ftpd/pure-ftpd.conf e impostiamo CallUploadScript su yes :
vi /etc/pure-ftpd/pure-ftpd.conf
[...] # If your pure-ftpd has been compiled with pure-uploadscript support, # this will make pure-ftpd write info about new uploads to # /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and # spawn a script to handle the upload. CallUploadScript yes [...] |
Quindi creiamo il file /etc/pure-ftpd/clamav_check.sh (che chiamerà /usr/bin/clamdscan ogni volta che un file viene caricato tramite PureFTPd)...
vi /etc/pure-ftpd/clamav_check.sh
#!/bin/sh /usr/bin/clamdscan --remove --quiet --no-summary "$1" |
... e rendilo eseguibile:
chmod 755 /etc/pure-ftpd/clamav_check.sh
Ora avviamo il programma pure-uploadscript come demone:chiamerà il nostro script /etc/pure-ftpd/clamav_check.sh ogni volta che un file viene caricato tramite PureFTPd:
pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
Ovviamente, non vuoi avviare il demone manualmente ogni volta che avvii il sistema, quindi apriamo /etc/rc.local...
vi /etc/rc.local
... e aggiungi la riga /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh ad essa - ad es. come segue:
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh touch /var/lock/subsys/local |
Se /etc.rc.local non esiste, crealo (con la riga #!/bin/sh all'inizio) e poi rendilo eseguibile:
chmod 755 /etc/rc.local
Infine riavviamo PureFTPd:
systemctl restart pure-ftpd.service
Questo è tutto! Ora, ogni volta che qualcuno tenta di caricare malware sul tuo server tramite PureFTPd, i file "cattivi" verranno eliminati silenziosamente.
4 link
- PureFTPD:http://www.pureftpd.org/
- ClamAV:http://www.clamav.net/
- Fedora:http://fedoraproject.org/