====== Titre de Votre Tuto ====== * Objet : "Scannage" automatique des fichiers téléchargés * Niveau requis : FIXME {{tag>débutant avisé}} * Commentaires : logiciels utilisés: clamav, inotify, systemd, xmessage * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) ===== Introduction ===== Installez clamav ===== Installation ===== apt install clamav libnotify Vérifier si à l'installation clamav a bien créer son utilisateur et son groupe: grep clamav /etc/passwd /etc/group /etc/passwd:clamav:x:119:126::/var/lib/clamav:/bin/false /etc/group:clamav:x:126: clamav doit pouvoir télécharger les signatures de virus dans le dossier /var/lib/clamav, il faut vérifier les identifiant numériques de l'utilisateur et du groupe propriétaire de ce dossier: ls -ldn /var/lib/clamav drwxr-xr-x 2 119 126 4096 mars 14 16:12 /var/lib/clamav Créer ensuite le groupe puis l'utilisateur en utilisant les identifiants numériques repérés à l'aide de la commande précédente: groupadd -g 126 useradd -g clamav -u 119 clamav Pour faire fonctionner clamd en tache de fond nous avons besoin d'activer les services au démarrage en utilisant systemd avec la commande systemctl. Avant de de procéder à l'activation il faut vérifier si celui ci ne pose pas de probléme avec l'option start: systemctl start clamd Si aucun probléme n'est rencontré, on peu activer le service pour chaque démarage: systemctl enable clamtruc Pour la mise à jour des signatures de virus il faut créer un nouveau service pour systemd. Pour cela il faut créer le fichier /usr/lib/system/clam-freshclam.service nano /usr/lib/system/clam-freshclam.service [Unit] Description = freschclam (clamav virus database updater) After = network.target [Service] Type = forking ExecStart = /usr/bin/freshclam -d -c 6 Restart = on-failure [Install] WantedBy=multi-user.target Puis on active le nouveau service: systemctl start clam-freshclam systemctl enable clam-freshclam Il va faloir maintenant créer un script permettant de scanner un dossier (ici le dossier Téléchargement) d'alerter en cas de virus et de déplacer le fichier dans un autre dossier (quelquechose/infected) #!/bin/bash while true: do inotifywait -r -e close_write,moved_to --format %f Téléchargement/ | while read file; do if [ -f $file ]; then clamdscan --fdpass -1 --move $HOME/infected $HOME/Téléchargement/$file; if [ "$?" == "1" ]; then notify-send "Virus détecté" "dans le fichier '$file'" --icon=dialog-warning fi fi done done On fixe les droits sur le script pour qu'il soit exécutable chmod +x /usr/local/bin/clamav.sh Pour pouvoir faire exécuter le script à l'ouverture de session on va créer une nouvelle entrée dans autostart: nano /etc/xdg/autostart/clamav.desktop [Desktop Entry] Type=Application Name=Antivirus résident ClamaAV Exec=/usr/local/bin/clamav.sh Note perso: le daemon est dans clamav-daemon qui fournit un service pour systemd : clamav-daemon.service (merci enikar!) ===== Utilisation =====