Antivirus a basso costo per Object Storage
Migliorare la sicurezza e mantenere la conformità mediante la creazione di uno scanner virus a basso costo per eseguire la scansione degli oggetti file creati in Oracle Cloud Infrastructure Object Storage. Questa architettura utilizza una singola istanza di Oracle Cloud Infrastructure Compute e ClamAV, un motore antivirus open source.
Architettura
Questa architettura mostra due metodi per eseguire operazioni di scansione sui file in Object Storage.
Un metodo si basa sul servizio Eventi Oracle Cloud Infrastructure e sul servizio Streaming Oracle Cloud Infrastructure per notificare a uno script o a un programma sullo scanner che uno o più nuovi file sono stati aggiunti al bucket di file. L'altro metodo esegue la scansione del bucket di file in una pianificazione impostata.
Il seguente diagramma illustra questa architettura di riferimento.

Descrizione dell'immagine architecture-antivirus.png
L'architettura ha i seguenti componenti:
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni, e vaste distanze possono separarle (tra paesi o addirittura continenti).
- Rete cloud virtuale (VCN) e subnet
Un VCN è una rete customizzabile e definita dal software impostata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, i VCN ti danno il controllo completo sul tuo ambiente di rete. Un VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo la creazione di VCN. È possibile segmentare un VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet in VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Compartimento
Un compartimento è una raccolta di risorse correlate. I compartimenti sono un componente fondamentale di Oracle Cloud Infrastructure per l'organizzazione e l'isolamento delle risorse cloud. I compartimenti sono a livello di tenacia e attraversano tutte le regioni.
Per ogni subnet è possibile creare regole di sicurezza che specifichino l'origine, la destinazione e il tipo di traffico consentito all'interno e all'esterno della subnet.
- Principale istanza
Entità istanza è la funzione del servizio IAM che consente alle istanze di essere attori autorizzati (o principal) a eseguire azioni sulle risorse del servizio. Ogni istanza di calcolo ha una propria identità e autentica utilizzando i certificati aggiunti.
- Gruppo dinamico
I gruppi dinamici consentono di raggruppare le istanze di computer Oracle Cloud Infrastructure come attori "principal", simili ai gruppi di utenti. È quindi possibile creare criteri per consentire alle istanze di effettuare chiamate API a fronte dei servizi Oracle Cloud Infrastructure.
- Criteri
Un criterio è un documento che specifica chi può accedere alle risorse Oracle Cloud Infrastructure di cui dispone l'azienda e come. Una politica consente semplicemente a un gruppo di lavorare in determinati modi con specifici tipi di risorse in un determinato compartimento o locazione.
- Servizio storage oggetti
Il servizio di storage degli oggetti di Oracle Cloud Infrastructure è una piattaforma di storage su larga scala ad alte prestazioni che offre una durata dei dati affidabile ed efficiente in termini di costi. È possibile memorizzare una quantità illimitata di dati non strutturati di qualsiasi tipo di contenuto. Compresi backup di database, dati analitici e contenuti ricchi come immagini e video.
- Calcola istanze
Oracle Cloud Infrastructure Compute consente di eseguire il provisioning e la gestione degli host di calcolo. È possibile avviare istanze di calcolo con forme che soddisfano i requisiti delle risorse (CPU, memoria, larghezza di banda della rete e storage). Dopo aver creato un'istanza di calcolo, è possibile accedervi in modo sicuro, riavviarla, collegare e scollegare i volumi e terminarla quando non è necessario.
L'architettura ha un'istanza di calcolo. Ospita il motore antivirus ClamAV e altri strumenti per gestire il processo di scansione.
- Eventi
I servizi Oracle Cloud Infrastructure emettono eventi, ovvero messaggi strutturati che descrivono le modifiche apportate alle risorse. Gli eventi vengono emessi per operazioni di creazione, lettura, aggiornamento o eliminazione (CRUD), modifiche dello stato del ciclo di vita delle risorse e eventi di sistema che influiscono sulle risorse cloud.
In questa architettura, il servizio Eventi viene utilizzato per tenere traccia della creazione di un oggetto su un bucket di storage degli oggetti.
- Streaming
Oracle Cloud Infrastructure Streaming fornisce una soluzione di memorizzazione completamente gestita, scalabile e durevole per l'ingestione di flussi di dati continui ad alto volume che è possibile consumare e elaborare in tempo reale. È possibile utilizzare Streaming per l'ingestione di dati ad alto volume, ad esempio i log delle applicazioni, la telemetria operativa, i dati di click-stream Web o per altri casi d'uso in cui i dati vengono prodotti ed elaborati in modo continuo e sequenziale in un modello di messaggistica pubblica-subscribe.
Suggerimenti
Le vostre esigenze potrebbero differire dall'architettura descritta qui. Utilizzare i suggerimenti riportati di seguito come punto di partenza.
- VCN e subnet
Quando si crea un VCN, determinare il numero di blocchi CIDR richiesti e la dimensione di ciascun blocco in base al numero di risorse che si prevede di associare alle subnet in VCN. Utilizzare blocchi CIDR all'interno dello spazio degli indirizzi IP privati standard.
Selezionare blocchi CIDR che non si sovrappongono a nessun'altra rete (in Oracle Cloud Infrastructure, nel data center in locale o in un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato un VCN, è possibile modificare, aggiungere e rimuovere i blocchi CIDR.
Quando si progettano le subnet, prendere in considerazione il flusso di traffico e i requisiti di sicurezza. Allegare tutte le risorse all'interno di uno specifico livello o ruolo alla stessa subnet, che può fungere da limite di sicurezza.
- Compartimento
Per impostazione predefinita, qualsiasi tenancy Oracle Cloud dispone di un compartimento radice predefinito denominato dopo la tenancy stessa. L'amministratore tenancy (amministratore predefinito del compartimento radice) è qualsiasi utente membro del gruppo Administrators predefinito.
Per questa architettura, creare un compartimento che contenga tutte le risorse per isolarle e migliorare la sicurezza.
- Principale istanza
Creare un gruppo dinamico e criteri per consentire alla VM di accedere ai bucket di storage degli oggetti senza renderli pubblici.
- Immagine Oracle
Creare la VM utilizzando Oracle Cloud Developer Image, che viene fornito con OCI-CLI, Python e Git installato e pronto per l'uso.
Considerazioni
Prendere in considerazione i seguenti punti durante la distribuzione di questa architettura di riferimento:
- Frequenza
La frequenza con cui si esegue la scansione dipende dal volume e dalla frequenza degli oggetti in entrata. Una linea guida generale inizia con una scansione settimanale e si regola in base al tempo impiegato per elaborare tutti gli oggetti nel bucket.
- Prestazioni
Diversi fattori influenzano le prestazioni, ma il più importante è il numero di file che devono essere elaborati e la forma dell'istanza.
- Sicurezza
Utilizzare il principal istanza e il gruppo dinamico per limitare l'accesso ai bucket di memorizzazione oggetti. Utilizzare i criteri Oracle Cloud Infrastructure Identity and Access Management (IAM) per assegnare privilegi al gruppo dinamico specifico per evitare di rendere pubblici i bucket.
La cifratura è abilitata per Oracle Cloud Infrastructure Object Storage per impostazione predefinita e non può essere disattivata.
- Costo
L'istanza Oracle Cloud Infrastructure e la relativa memorizzazione a blocchi vengono pagati per uso, pertanto si paga solo quando si esegue l'antivirus nel bucket. Per eseguire la scansione degli oggetti in entrata, tenere in esecuzione un'istanza 24x7 e, a seconda del volume degli oggetti, è possibile utilizzare il livello libero, condividere un'istanza con un altro servizio o avviarne uno dedicato. Non è necessario pagare per il trasferimento dei dati in uscita e per l'antivirus open source.
Distribuisci
Il codice Terraform per questa architettura di riferimento è disponibile come stack di esempio in Oracle Cloud Infrastructure Resource Manager. È inoltre possibile scaricare il codice da GitHub e personalizzarlo in base alle specifiche esigenze.
- Distribuire utilizzando lo stack di esempio in Oracle Cloud Infrastructure Resource Manager:
- Andare a
.
Se non si è già connessi, immettere la tenancy e le credenziali utente.
- Selezionare l'area in cui distribuire lo stack.
- Seguire i prompt visualizzati e le istruzioni per creare lo stack.
- Dopo aver creato lo stack, fare clic su Azioni Terraform e selezionare Piano.
- Attendere il completamento del job e rivedere il piano.
Per apportare eventuali modifiche, tornare alla pagina Dettagli stack, fare clic su Modifica stack e apportare le modifiche necessarie. Eseguire di nuovo l'azione Piano.
- Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack, fare clic su Azioni Terraform e selezionare Applica.
- Andare a
- Distribuire utilizzando il codice Terraform in GitHub:
- Andare a GitHub.
- Duplicare o scaricare il repository nel computer locale.
- Seguire le istruzioni riportate nel documento
README
.