Installation et configuration d’un Antivirus ClamAV

Un script interactif pour installer et configurer ClamAv un logiciel antivirus sur Linux.

#!/bin/bash
# Installer et configurer un antivirus
echo "Auteur : Tommy Gingras"
echo "Date : 2017-07-06"
echo "But : Installer et configurer clamav pour vérifier le système contre les virus."
echo "Version : 1.0.1"
echo "Note : le script a été testé sur Debian 9.0.0"

RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color


ok=true
while $ok
do
    read -p "Entrez l'adresse courriel où vous voulez recevoir les rapports : " email
    echo
    if [[ "$email" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]
    then
    ok=false
        break
    else
        echo -e "${RED}L'adresse courriel $email n'est pas valide.${NC}"
    fi
done

ok=true
while $ok
do
    read -p "Veuillez entrer l'adresse qui envoi les courriels: " from
    echo
    if [[ "$from" =~ ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$ ]]
    then
    ok=false
        break
    else
        echo -e "${RED}L'adresse courriel $from n'est pas valide.${NC}"
    fi
done

apt-get update
apt-get install -q -y clamav clamav-daemon

# Mise à jour de la base de données
service clamav-freshclam stop
echo -e "${BLUE}Mise à jour de la base de données..${NC}"
freshclam
service clamav-freshclam start

echo -e "${GREEN}Mise à jour terminée, on démarre le service...${NC}"
/etc/init.d/clamav-daemon start

echo '#!/bin/bash' > /etc/cron.daily/clamscan_daily
echo "LOGFILE=\"/var/log/clamav/clamav-$(date +'%Y-%m-%d').log\";" >> /etc/cron.daily/clamscan_daily
echo 'EMAIL_MSG="Please see the log file attached.";' >> /etc/cron.daily/clamscan_daily
echo "EMAIL_FROM=\"$from\";" >> /etc/cron.daily/clamscan_daily
echo "EMAIL_TO=\"$email\";" >> /etc/cron.daily/clamscan_daily
echo 'DIRTOSCAN="/";' >> /etc/cron.daily/clamscan_daily
echo 'for S in ${DIRTOSCAN}; do' >> /etc/cron.daily/clamscan_daily
echo 'DIRSIZE=$(du -sh "$S" 2>/dev/null | cut -f1);' >> /etc/cron.daily/clamscan_daily
echo 'echo "Starting a daily scan of "$S" directory.' >> /etc/cron.daily/clamscan_daily
echo 'Amount of data to be scanned is "$DIRSIZE".";' >> /etc/cron.daily/clamscan_daily
echo 'clamscan --exclude-dir="^/sys" -ri "$S" >> "$LOGFILE";' >> /etc/cron.daily/clamscan_daily
echo '# get the value of "Infected lines"' >> /etc/cron.daily/clamscan_daily
echo 'MALWARE=$(tail "$LOGFILE"|grep Infected|cut -d" " -f3);' >> /etc/cron.daily/clamscan_daily
echo '# if the value is not equal to zero, send an email with the log file attached' >> /etc/cron.daily/clamscan_daily
echo 'if [ "$MALWARE" -ne "0" ];then' >> /etc/cron.daily/clamscan_daily
echo '# using heirloom-mailx below' >> /etc/cron.daily/clamscan_daily
echo 'echo "$EMAIL_MSG"|mail -a "$LOGFILE" -s "Malware Found" -r "$EMAIL_FROM" "$EMAIL_TO";' >> /etc/cron.daily/clamscan_daily
echo 'fi' >> /etc/cron.daily/clamscan_daily
echo 'done' >> /etc/cron.daily/clamscan_daily
echo 'exit 0' >> /etc/cron.daily/clamscan_daily

chmod 0755 /etc/cron.daily/clamscan_daily
echo "On test le script quotidien, si un élément est trouvé alors il envoi un courriel. Sinon rien n'est envoyé."
echo "Les logs se situe : /var/log/clamav/clamav-YEAR-MONTH-DAY.log"
bash /etc/cron.daily/clamscan_daily

echo -e "${GREEN}Installation et configuration terminée.${NC}"

 

Source : UPCloud

Laisser un commentaire