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
Bonjour, testé ce jour sur ubuntu 20.04 LTS, en adaptant le script cron.daily, j’y ai inséré la partie mise à jour de la base. J’ai également modifié le nommage du fichier de log en l’horodatant.
j’oubliais, il faut indiquer qu’il faut installer le package mailutils pour que la commande d’émission de mail fonctionne.