Neste tutorial iremos aprender como integrar o ClamAV com o PureFTPd em servidores com cPanel.
O primeiro passo é ter o ClamAV instalado no servidor, este procedimento pode ser realizado pelo WHM, como o intuito aqui é explicar a integração então não iremos abordar a instalação do mesmo.
Edite o arquivo /etc/pure-ftpd.conf e altere a o parâmetro CallUploadScript para yes:
vi /etc/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.
# Don't enable this option if you don't actually use pure-uploadscript.CallUploadScript yes
Agora crie o arquivo /etc/pure-ftpd/clamav_check.sh com o seguinte conteúdo:
#!/bin/bash
# email subject
SUBJECT="VIRUS DETECTADO NO SERVIDOR `hostname`!!!"# Email To ?
EMAIL="email.dominio.com.br"
FROM="email.dominio.com.br"
# Log location
LOG=`mktemp /tmp/virus-scan.XXXXX`check_scan () {
# Check the last set of results. If there are any "Infected" counts that aren't zero, we have a problem.
if [ `tail -n 12 ${LOG} | grep Infected | grep -v 0 | wc -l` != 0 ]
then
EMAILMESSAGE=`mktemp /tmp/virus-alert.XXXXX`
echo "To: ${EMAIL}" >> ${EMAILMESSAGE}
echo "From: ${FROM}" >> ${EMAILMESSAGE}
echo "Subject: ${SUBJECT}" >> ${EMAILMESSAGE}
echo "Importance: High" >> ${EMAILMESSAGE}
echo "X-Priority: 1" >> ${EMAILMESSAGE}
echo -e "\n" >> ${EMAILMESSAGE}
echo "`head -2 ${LOG}`" >> ${EMAILMESSAGE}
sendmail -t < ${EMAILMESSAGE} rm -f ${EMAILMESSAGE} fi } /usr/local/bin/clamscan --remove --infected "$1" >> ${LOG}
check_scan
rm -f ${LOG}
De permissão de execução:
chmod 755 /etc/pure-ftpd/clamav_check.sh
Edite agora o arquivo /etc/rc.d/rc.local e adicione a seguinte linha:
/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
Esta linha fará com que o serviço seja executado sempre que reiniciar o servidor.
Para aplicar a configuração execute os comandos abaixo:
/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
service pure-ftpd restart
Pronto agora todos os arquivos enviados via FTP serão escaneados pelo ClamAV 🙂