Déploiement d'un analyseur de virus de redimensionnement automatique à l'aide d'OCI Kubernetes Engine
Assurez-vous que les fichiers dans Oracle Cloud Infrastructure Object Storage sont analysés pour détecter et prévenir les virus, les logiciels malveillants, le vol d'identité et la fraude. L'implémentation d'un analyseur de virus garantit que tous les fichiers entrant dans votre solution Oracle Cloud Infrastructure (OCI) sont sécurisés.
Architecture
Cette architecture crée un analyseur de virus pour analyser les fichiers téléchargés vers OCI Object Storage. L'analyseur de virus est déployé sur Oracle Cloud Infrastructure Kubernetes Engine et utilise le redimensionnement automatique basé sur les événements de Kubernetes pour gérer les travaux d'analyse de virus.
Les travaux d'analyse antivirus sont configurés pour analyser des fichiers uniques et des fichiers ZIP. Lorsque plusieurs fichiers sont téléchargés vers le bucket de stockage d'objet créé, les travaux d'analyse antivirus sont exécutés sur OCI Kubernetes Engine (OKE) à l'aide des événements OCI et de la file d'attente OCI (3 travaux maximum simultanément par défaut, mais cela peut être modifié à l'aide de la configuration de redimensionnement automatique basé sur les événements de Kubernetes). Après l'analyse, les fichiers sont déplacés vers les buckets de stockage d'objets en fonction du résultat de l'analyse (propre ou infecté). S'il n'y a aucun fichier à analyser, le redimensionnement automatique basé sur les événements de Kubernetes réduit les noeuds du pool 2 à zéro. Lors de l'analyse, le redimensionnement automatique basé sur les événements de Kubernetes augmente les noeuds.
Le scanner de virus utilise un tiers nommé essai gratuit de Trellix uvscan
. Le code d'application est principalement écrit dans NodeJS et utilise le kit SDK Oracle Cloud Infrastructure pour JS.
Le diagramme suivant illustre 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 précise, incluant 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 (entre pays, voire continents).
- Domaines de disponibilité
Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.
- Domaines de pannes
Un domaine de pannes est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes avec du matériel et une alimentation indépendants. Lorsque vous répartissez les ressources entre plusieurs domaines de pannes, vos applications peuvent tolérer les pannes physiques du serveur, la maintenance du système et les pannes d'alimentation au sein d'un domaine de pannes.
- Réseau cloud virtuel (VCN) et sous-réseaux
Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent le contrôle sur l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud 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 autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.
- Passerelle de routage dynamique
Le DRG est un routeur virtuel qui fournit un chemin pour le trafic de réseau privé entre les réseaux cloud 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 site ou un réseau dans un autre fournisseur cloud.
- Passerelle NAT (Network Address Translation)
Une passerelle NAT permet aux ressources privées d'un VCN d'accéder aux hôtes sur Internet, sans les exposer aux connexions Internet entrantes.
- Equilibreur de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une répartition de trafic automatique à partir d'un seul point d'entrée vers plusieurs serveurs dans le back-end.
- Object Storage
Le stockage d'objets permet d'accéder rapidement à de grandes quantités de données, structurées ou non, de tout type de contenu, y compris des sauvegardes de base de données, des données analytiques et du contenu riche tel que des images et des vidéos. Vous pouvez stocker les données, puis les extraire directement à partir d'Internet ou de la plate-forme cloud, et ce, en toute sécurité. Vous pouvez redimensionner le stockage sans dégradation des performances ni de la fiabilité des services. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archive pour le stockage "à froid" que vous conservez pendant de longues périodes et auquel vous accédez rarement.
- Monitoring
Le service Oracle Cloud Infrastructure Monitoring surveille activement et passivement vos ressources cloud à l'aide de mesures pour surveiller les ressources et les alarmes afin de vous informer lorsque ces mesures répondent aux critères des déclencheurs spécifiés par les alarmes.
- LoggingLogging est un service hautement évolutif et entièrement géré qui permet d'accéder aux types de journal suivants à partir des ressources du cloud :
- Journaux d'audit : journaux liés aux événements émis par le service Audit.
- Journaux de service : journaux émis par des services individuels tels qu'API Gateway, Events, Functions, Load Balancing, Object Storage et les journaux de flux VCN.
- Journaux personnalisés : journaux contenant des informations de diagnostic issues d'applications personnalisées, d'autres fournisseurs de cloud ou d'un environnement sur site.
- Functions
Oracle Cloud Infrastructure Functions est une plate-forme Functions-as-a-Service (FaaS) entièrement gérée, colocative, hautement évolutive, à la demande. Il est optimisé par le moteur open source du projet Fn. 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.
- Queue
Oracle Cloud Infrastructure Queue fournit un système évolutif pour traiter les messages tout en gérant des tâches de gestion complexes telles que le traitement, le suivi et l'isolement des clients au moins une fois. Ce service centralisé gère également l'ordre et l'état de traitement des messages, ce qui permet aux processus client sans conservation de statut de décharger le suivi des curseurs.
- Evénements
Les services Oracle Cloud Infrastructure émettent des événements, qui sont des messages structurés décrivant les modifications apportées dans les 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 de cycle de vie des ressources et les événements système qui affectent les ressources cloud.
- Registry
Oracle Cloud Infrastructure Registry est un registre géré par Oracle qui vous permet de simplifier votre workflow du développement jusqu'à la 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 garantit un déploiement et une gestion fiables des applications.
Déployez
Le code de déploiement du détecteur de virus est disponible dans GitHub.
- Accédez à GitHub.
- Clonez ou téléchargez le référentiel sur votre ordinateur local.
- Suivez les instructions du document
README
.