Antivirus à faible coût pour Object Storage

Améliorez la sécurité et maintenez la conformité en construisant un scanner de virus à faible coût pour analyser les objets de fichier au fur et à mesure qu'ils sont créés dans Oracle Cloud Infrastructure Object Storage. Cette architecture utilise une instance Oracle Cloud Infrastructure Compute unique et ClamAV, un moteur antivirus open source.

Architecture

Cette architecture montre deux méthodes pour effectuer des opérations de numérisation sur vos fichiers dans Object Storage.

Une méthode repose sur le service Oracle Cloud Infrastructure Events et le service Oracle Cloud Infrastructure Streaming pour avertir un script ou un programme sur le scanner qu'un ou plusieurs nouveaux fichiers ont été ajoutés au bucket de fichiers. L'autre méthode analyse le bucket de fichiers sur un calendrier que vous définissez.

Le diagramme suivant illustre cette architecture de référence.

Description de l'architecture-antivirus.png suivante
Description de l'illustration architecture-antivirus.png

L'architecture comporte les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (d'un pays à l'autre ou même d'un continent à l'autre).

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisé et défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux traditionnels de centres de données, les VCN vous donnent un contrôle complet sur votre environnement réseau. Un VCN peut avoir plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être étendus à une région ou à un domaine de disponibilité. Chaque sous-réseau se compose d'une plage contiguë d'adresses qui ne chevauchent pas les autres sous-réseaux de VCN. Vous pouvez modifier la taille d'un sous-réseau après la création. Un sous-réseau peut être public ou privé.

  • Compartiment

    Un compartiment est un ensemble de ressources connexes. Les compartiments sont un composant fondamental d'Oracle Cloud Infrastructure pour l'organisation et l'isolement des ressources cloud. Les compartiments sont à l'échelle de la location et traversent toutes les régions.

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic autorisé dans et hors du sous-réseau.

  • Principal de l'instance

    Le principal d'instance est la fonction de service IAM qui permet aux instances d'être des acteurs autorisés (ou des principaux) à effectuer des actions sur les ressources de service. Chaque instance de calcul a sa propre identité et s'authentifie à l'aide des certificats qui lui sont ajoutés.

  • Groupe dynamique

    Les groupes dynamiques vous permettent de regrouper les instances d'ordinateur Oracle Cloud Infrastructure en tant qu'acteurs "principaux", comme les groupes d'utilisateurs. Vous pouvez ensuite créer des stratégies permettant aux instances de lancer des appels API contre les services Oracle Cloud Infrastructure.

  • Politiques

    Une stratégie est un document qui indique qui peut accéder aux ressources Oracle Cloud Infrastructure dont dispose votre société et comment. Une politique permet simplement à un groupe de travailler de certaines manières avec des types de ressources spécifiques dans un compartiment ou une location particulier.

  • Service de stockage d'objets

    Le service Oracle Cloud Infrastructure Object Storage est une plate-forme de stockage haute performance à l'échelle d'Internet qui offre une durabilité des données fiable et rentable. Vous pouvez stocker une quantité illimitée de données non structurées de n'importe quel type de contenu. Y compris les sauvegardes de base de données, les données analytiques et les contenus riches tels que les images et les vidéos.

  • Calculer les instances

    Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer les hôtes de calcul. Vous pouvez lancer des instances de calcul avec des formes répondant à vos besoins en ressources (CPU, mémoire, bande passante réseau et stockage). Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, la redémarrer, attacher et détacher des volumes, et la mettre fin lorsque vous n'en avez pas besoin.

    L'architecture dispose d'une instance de calcul. Il héberge le moteur antivirus ClamAV et d'autres outils pour gérer le processus de numérisation.

  • Evénements

    Les services Oracle Cloud Infrastructure émettent des événements, qui sont des messages structurés décrivant les modifications apportées aux ressources. Les événements sont émis pour les opérations de création, de lecture, de mise à jour ou de suppression (CRUD), les modifications d'état du cycle de vie des ressources et les événements système qui affectent les ressources cloud.

    Dans cette architecture, le service Evénements permet de suivre la création d'un objet sur un bucket Object Storage.

  • Transmission en continu

    Oracle Cloud Infrastructure Streaming fournit une solution de stockage entièrement gérée, évolutive et durable pour ingérer des flux de données continus et volumineux que vous pouvez consommer et traiter en temps réel. Vous pouvez utiliser Streaming pour ingérer des données à volume élevé, telles que les journaux d'applications, la télémétrie opérationnelle, les données de flux de clics Web, ou pour d'autres cas d'utilisation où les données sont produites et traitées de façon continue et séquentielle dans un modèle de messagerie d'abonnement à la publication.

Recommandations

Vos exigences peuvent différer de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.

  • VCN et sous-réseaux

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher à des sous-réseaux dans VCN. Utilisez les blocs CIDR qui se trouvent dans l'espace d'adresse IP privé standard.

    Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) auquel vous souhaitez configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos besoins en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

  • Compartiment

    Par défaut, tout compartiment racine par défaut de location Oracle Cloud porte le nom de la location elle-même. L'administrateur de location (administrateur de compartiment racine par défaut) est un utilisateur membre du groupe Administrateurs par défaut.

    Pour cette architecture, créez un compartiment contenant toutes les ressources nécessaires pour les isoler et améliorer la sécurité.

  • Principal de l'instance

    Créez un groupe dynamique et des stratégies permettant à la machine virtuelle d'accéder aux buckets Object Storage sans les rendre publics.

  • Image Oracle

    Créez la machine virtuelle à l'aide d'Oracle Cloud Developer Image, qui est livrée avec OCI-CLI, Python et Git installés et prêts à l'emploi.

Remarques

Prenez en compte les points suivants lors du déploiement de cette architecture de référence :

  • Fréquence

    La fréquence à laquelle vous exécutez votre analyse dépend du volume et de la fréquence des objets entrants. Une ligne directrice générale commence par un balayage hebdomadaire et s'ajuste en fonction du temps nécessaire pour traiter tous les objets du bucket.

  • Performances

    Plusieurs facteurs influent sur les performances, mais le plus important est le nombre de fichiers à traiter et la forme de l'instance.

  • Sécurité

    Utilisez le principal d'instance et le groupe dynamique pour restreindre l'accès aux buckets de stockage d'objets. Utilisez les stratégies Oracle Cloud Infrastructure Identity and Access Management (IAM) pour affecter des privilèges au groupe dynamique spécifique afin d'éviter de rendre les buckets publics.

    Le chiffrement est activé pour Oracle Cloud Infrastructure Object Storage par défaut et ne peut pas être désactivé.

  • Coût

    L'instance Oracle Cloud Infrastructure et son stockage par bloc sont payés par utilisation, de sorte que vous ne payez que lorsque vous exécutez l'antivirus dans le bucket. Pour analyser les objets entrants, vous allez continuer à exécuter une instance 24x7 et, en fonction du volume d'objets, vous pouvez utiliser free-tier, partager une instance avec un autre service ou en démarrer une dédiée. Vous n'avez pas besoin de payer pour le transfert de données sortantes et pour l'antivirus open source.

Déployer

Le code Terraform de cette architecture de référence est disponible sous forme d'exemple de pile dans Oracle Cloud Infrastructure Resource Manager. Vous pouvez également télécharger le code à partir de GitHub et le personnaliser en fonction de vos besoins spécifiques.

  • Déployer à l'aide de la pile échantillon dans Oracle Cloud Infrastructure Resource Manager :
    1. Accédez à Déployer vers Oracle Cloud.

      Si vous n'êtes pas déjà connecté, entrez les informations d'identification de location et d'utilisateur.

    2. Sélectionnez la région dans laquelle vous souhaitez déployer la pile.
    3. Suivez les invites à l'écran et les instructions pour créer la pile.
    4. Après avoir créé la pile, cliquez sur Actions Terraform et sélectionnez Plan.
    5. Attendez que le travail soit terminé et examinez le plan.

      Pour apporter des modifications, revenez à la page Détails de la pile, cliquez sur Modifier la pile et apportez les modifications requises. Ensuite, réexécutez l'action Plan.

    6. Si aucune autre modification n'est nécessaire, revenez à la page Détails de pile, cliquez sur Actions Terraform et sélectionnez Appliquer.
  • Déploiement à l'aide du code Terraform dans GitHub :
    1. Accédez à GitHub.
    2. Cloner ou télécharger le référentiel sur votre ordinateur local.
    3. Suivez les instructions du document README.