Déployer un analyseur de virus d'ajustement automatique à l'aide du moteur Kubernetes pour OCI

Assurez-vous que vos fichiers dans Oracle Cloud Infrastructure Object Storage sont balayés par des virus pour détecter et prévenir les virus, les logiciels malveillants, le vol d'identité et la fraude. La mise en oeuvre d'un analyseur de virus garantit la sécurité de tous les fichiers entrant dans votre solution Oracle Cloud Infrastructure (OCI).

Architecture

Cette architecture crée un analyseur de virus pour balayer les fichiers chargés dans le stockage d'objets OCI. L'analyseur de virus est déployé sur Oracle Cloud Infrastructure Kubernetes Engine et utilise l'ajustement automatique basé sur les événements et basé sur Kubernetes pour gérer les tâches d'analyse antivirus.

Les tâches d'analyse de virus sont configurées pour analyser des fichiers uniques et des fichiers zip. Lorsque plusieurs fichiers sont chargés dans le seau de stockage d'objets créé, les tâches d'analyse antivirus sont exécutées sur le moteur Kubernetes pour OCI (OKE) à l'aide des événements OCI et de la file d'attente OCI (3 tâches maximum simultanément par défaut, mais cela peut être modifié à l'aide de la configuration d'ajustement automatique basé sur les événements basée sur Kubernetes). Après le balayage, les fichiers sont déplacés vers des seaux de stockage d'objets en fonction du résultat du balayage (propre ou infecté). S'il n'y a aucun fichier à balayer, l'ajustement automatique basé sur les événements de Kubernetes réduit les noeuds du groupe 2 à zéro. Lors de l'analyse, l'ajustement automatique basé sur les événements basé sur Kubernetes augmente les noeuds.

L'analyseur de virus utilise un tiers nommé essai gratuit de Trellix uvscan. Le code d'application est principalement écrit dans NodeJS et utilise la trousse SDK Oracle Cloud Infrastructure pour JS.

Le diagramme suivant présente cette architecture.



oke-antivirus-architecture.zip

L'architecture comprend 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 les unes des autres, et de grandes distances peuvent les séparer (dans différents pays ou continents).

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Par conséquent, une défaillance d'un domaine de disponibilité ne devrait pas affecter les autres domaines de disponibilité de la région.

  • Domaines d'erreur

    Un domaine d'erreur est un regroupement de matériel et d'infrastructure au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines d'erreur avec une puissance et un matériel indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines d'erreur, vos applications peuvent tolérer les pannes physiques de serveur, la maintenance du système et les pannes d'alimentation au sein d'un domaine d'erreur.

  • Réseau en nuage virtuel (VCN) et sous-réseau

    Un VCN est un réseau défini par logiciel personnalisable que vous avez configuré dans une région Oracle Cloud Infrastructure. Comme les réseaux en nuage virtuels traditionnels, ils vous offrent un contrôle sur votre environnement de réseau. Un VCN peut disposer de plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • Passerelle Internet

    La passerelle Internet permet le trafic entre les sous-réseaux publics d'un VCN et l'Internet public.

  • Passerelle de routage dynamique (DRG)

    La passerelle DRG est un routeur virtuel qui fournit un chemin pour le trafic réseau privé entre les réseaux en nuage virtuels de la même région, entre un VCN et un réseau en dehors de la région, tel qu'un VCN dans une autre région Oracle Cloud Infrastructure, un réseau sur place ou un réseau d'un autre fournisseur de nuage.

  • Passerelle de traduction d'adresses de réseau (NAT)

    Une passerelle NAT permet aux ressources privées d'un VCN d'accéder à des hôtes sur Internet, sans les exposer aux connexions Internet entrantes.

  • Équilibreur de charge

    Le service Oracle Cloud Infrastructure Load Balancing permet une répartition automatisée du trafic à partir d'un point d'entrée unique vers plusieurs serveurs dorsaux.

  • Stockage d'objets

    Le service de stockage d'objets offre un accès rapide à de grandes quantités de données structurées et non structurées de tous types, notamment des sauvegardes de base de données, des données analytiques et du contenu enrichi, comme des images et des vidéos. Vous pouvez stocker des données en toute sécurité, puis les extraire directement à partir d'Internet ou de la plate-forme en nuage. Vous pouvez adapter le stockage sans que la performance ou la fiabilité des services soit affectée. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archives pour le stockage "à froid" que vous retenez pendant de longues périodes et auquel vous accédez rarement.

  • Surveillance

    Le service Oracle Cloud Infrastructure Monitoring surveille activement et passivement vos ressources en nuage à l'aide de mesures pour surveiller les ressources et les alarmes pour vous aviser lorsque ces mesures répondent aux déclencheurs spécifiés par l'alarme.

  • Journalisation
    Le service de journalisation est un service hautement évolutif entièrement géré qui permet d'accéder aux types de journal suivants à partir de vos ressources en nuage :
    • Journaux du service de vérification : Journaux liés aux événements émis par le service de vérification.
    • Journaux de service : Journaux émis par des services individuels tels que passerelle d'API, événements, fonctions, équilibreur de charge, stockage d'objets et journaux de flux VCN.
    • Journaux personnalisés : Journaux contenant des informations de diagnostic provenant d'applications personnalisées, d'autres fournisseurs de services infonuagiques ou d'un environnement sur place.
  • Oracle Functions

    Oracle Cloud Infrastructure Functions est une plate-forme de fonctions-service (FaaS) sur demande, entièrement gérée, multilocataire et hautement évolutive. Il est alimenté par le moteur open source Fn Project. Les fonctions vous permettent de déployer votre code et de l'appeler directement ou de le déclencher en réponse à des événements. Oracle Functions utilise des conteneurs Docker hébergés dans Oracle Cloud Infrastructure Registry.

  • File d'attente

    La file d'attente d'Oracle Cloud Infrastructure fournit un système évolutif pour traiter les messages tout en traitant les tâches de gestion complexes telles que le traitement, le suivi et l'isolement des clients garantis au moins une fois. Ce service centralisé gère également l'ordre des messages et l'état de traitement, ce qui permet aux processus clients sans état de décharger le suivi des curseurs.

  • Événements

    Les services Oracle Cloud Infrastructure émettent des événements, qui sont des messages structurés décrivant les modifications apportées aux ressources. Des é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 ont une incidence sur les ressources en nuage.

  • Registre

    Oracle Cloud Infrastructure Registry est un registre géré par Oracle qui vous permet de simplifier votre flux de travail, du développement à la mise en production. Le registre vous permet de stocker, de partager et de gérer facilement des artefacts de développement, tels que des images Docker. L'architecture hautement disponible et évolutive d'Oracle Cloud Infrastructure vous permet de déployer et de gérer vos applications en toute confiance.

Déployez

Le code de déploiement de l'analyseur de virus est disponible dans GitHub.

  1. Allez à GitHub.
  2. Clonez ou téléchargez le référentiel sur votre ordinateur local.
  3. Suivez les instructions du document README.

Informations complémentaires

Pour en savoir plus sur le déploiement d'un analyseur de virus sur Oracle Cloud Infrastructure Kubernetes Engine.

Vérifiez les ressources supplémentaires suivantes :

Confirmation

  • Author: Mika Rinne
  • Contributors: Marta Tolosa, Badr Tharwat