githubModifier

Sécurité des fichiers - Scan antivirus

Présentation

Tous les fichiers déposés par les candidats sur Passe Marché sont automatiquement analysés par un antivirus avant d'être acceptés dans le dossier de candidature.

Le moteur antivirus utilisé est ClamAV, un antivirus open-source maintenu par Cisco Talos. ClamAV est le standard de référence pour le scan de fichiers côté serveur :

  • Utilisé par des millions de serveurs en production dans le monde

  • Base de signatures mise à jour quotidiennement

  • Recommandé par l'ANSSI pour les architectures de dépôt de fichiers

  • Licence GPL, auditable et transparent

Configuration

Le scan antivirus est activé via le credential Rails clamav.enabled: true. Sans cette configuration, les fichiers ne sont pas scannés et aucun badge n'est affiché.

rails credentials:edit --environment <env>
# Ajouter :
# clamav:
#   enabled: true

Sans le credential (clamav.enabled absent ou false)

Les fichiers ne sont pas scannés. Aucun badge affiché. Le parcours candidat fonctionne normalement.

Avec le credential (clamav.enabled: true)

Situation
Comportement
Badge

ClamAV non installé

Les fichiers ne sont pas scannés. Même comportement que sans le credential.

Aucun

ClamAV installé, mauvais path

Même comportement que "non installé". Corriger via le credential clamav.clamscan_path.

Aucun

ClamAV installé et accessible

Scan complet.

"Vérifié" ou "Malware détecté"

Installation pour les développeurs

macOS (Homebrew)

Vérifier l'installation :

Puis activer le scan via le credential (voir section Configuration ci-dessus).

Linux (Debian/Ubuntu)

Le binaire clamscan sera disponible à /usr/bin/clamscan (chemin par défaut de l'app).

Sans ClamAV (défaut)

Rien à faire. L'app fonctionne sans ClamAV en développement. Aucun badge de scan ne sera affiché et le parcours candidat fonctionne normalement.

Déploiement (staging / production)

Prérequis serveur

  1. Activer le scan via le credential Rails : clamav.enabled: true (voir section Configuration ci-dessus).

  2. Installer ClamAV dans l'image Docker ou sur le serveur :

  1. Mettre à jour les signatures régulièrement (cron quotidien recommandé) :

  1. Configurer le chemin si le binaire n'est pas à /usr/bin/clamscan :

    • Via credential Rails : clamav.clamscan_path

Vérification

Architecture technique

Badges affichés dans l'interface

État
Badge
Signification

scan_safe: true

Vérifié

Fichier scanné, aucune menace détectée

scan_safe: false

Malware détecté

Fichier bloqué, ne sera pas inclus dans le dossier

scanner: "none"

Non vérifié

Antivirus indisponible, fichier accepté sans scan

Pas de metadata scan

Scan en cours

Scan en attente de traitement par Solid Queue

Mis à jour

Ce contenu vous a-t-il été utile ?