Progettare una rete multilivello sicura
Quando si progetta una rete multilivello sicura, costruire l'architettura nei layer.
Posiziona le risorse più riservate, ad esempio i database, nel layer più interno nelle subnet private. Definire le regole di sicurezza per controllare l'accesso di rete alle risorse. Instrada il traffico da Internet pubblico attraverso host di base e load balancer.
Determinare la strategia della subnet
Una subnet è un intervallo contiguo di indirizzi IP all'interno di una rete VCN. Per controllare il traffico di rete verso e da una subnet, puoi collegare le liste di sicurezza, una tabella di instradamento e un set di opzioni DHCP.
- Impossibile modificare la dimensione di una subnet dopo averla creata. Pianificare quindi le dimensioni di tutte le subnet necessarie prima di crearle.
- Una subnet può essere privata o pubblica. Questa scelta viene effettuata quando si creano le subnet e non è possibile modificarle in un secondo momento.
- Una strategia tipica consiste nel creare solo subnet private.
- Il traffico della tua rete on premise può utilizzare una connessione IPSec VPN o un collegamento Oracle Cloud Infrastructure FastConnect.
- Il traffico dalla rete Internet pubblica può essere instradato tramite un load balancer pubblico.
- Il traffico associato a Internet pubblico può essere instradato attraverso un gateway NAT (Network Address Translation). Il gateway NAT consente alle risorse di una subnet privata di stabilire connessioni in uscita a Internet e di ricevere dati sulla stessa connessione. Non consente connessioni in entrata da Internet.
- Se l'architettura dell'applicazione richiede indirizzi IP pubblici, ad esempio quando si esegue la migrazione di un'applicazione locale nel cloud, utilizzare un'architettura che contenga le subnet private e pubbliche.
- Creare le subnet nei compartimenti in cui si prevede di eseguire il provisioning delle risorse che devono essere subnet.
- Una subnet può essere specifica per un dominio di disponibilità (AD) o regionale. Gli errori AD non hanno effetto sulle subnet regionali.
Progetta elenchi di sicurezza
Per ciascuna subnet è possibile creare regole di sicurezza che specificano l'origine, la destinazione e il tipo di traffico che devono essere consentiti nella subnet e in uscita. Definire queste regole nelle liste di sicurezza e allegare le liste di sicurezza alle subnet.
- Lista Sicurezza globale: questa lista contiene le regole che si desidera utilizzare per tutte le subnet. In genere, questa lista contiene alcune regole.
- Lista di sicurezza specifica per i livelli: è possibile definire elenchi di sicurezza per livelli specifici nell'architettura multilivello (ad esempio, la logica business o il livello del database). Progettando attentamente le subnet, è possibile ridurre in modo significativo il numero di regole di sicurezza necessarie per le comunicazioni tra livelli. Ad esempio, è possibile consentire al livello di business logic di comunicare con il livello di database creando solo due regole di sicurezza, in entrata e in uscita.
- Lista di sicurezza famiglia: questa lista è per le regole di sicurezza che si applicano alle subnet che costituiscono un singolo servizio o che sono destinate a un singolo cliente all'interno di un dominio di disponibilità. Ad esempio, le regole che si applicano alle subnet del servizio Web, dell'applicazione e del load balancer all'interno di un dominio di disponibilità nel livello di business logic.
- Liste di sicurezza specifiche di rete: queste liste contengono regole specifiche per le singole subnet.
- Lista di sicurezza temporanea: è possibile utilizzare una lista di sicurezza temporanea per le regole che si sperimentano o si eseguono test. Ad esempio, durante il test di un caso di utilizzo in entrata specifico, è possibile creare le regole richieste in un elenco di sicurezza temporaneo.
Definisci regole sicurezza
Utilizzare le regole di sicurezza per controllare il traffico di rete da e verso le risorse personali. Ogni regola definisce la direzione, l'origine, la destinazione, la porta e il protocollo per i quali è consentito il traffico.
La tabella seguente è un esempio delle regole che è necessario definire per famiglia di subnet. Determinare le regole richieste dalle applicazioni.
| Famiglia di subnet | Regole ingress | Regole di apertura |
|---|---|---|
| DMZ |
|
TCP/22 per la VCN |
| Load balancer |
|
|
| Livello intermedio |
|
TCP/1521 per il livello database |
| Database | TCP/1521 dal livello intermedio | Nessuno |
Nota
La definizione di elenchi di sicurezza e regole è la prima fase della protezione della rete. Prima di esporre la rete a Internet, valutare come gestire il rifiuto del servizio (DDoS) distribuito, l'inserimento SQL e altri attacchi di rete.Definisci compartimenti
Utilizza i compartimenti per organizzare le risorse cloud in contenitori logici e controllare l'accesso alle risorse. I criteri definiti controllano la capacità degli utenti di creare e gestire le risorse in compartimenti specifici.
Progettare compartimenti e criteri in base a come vengono gestite le risorse cloud. L'obiettivo consiste nel garantire che gli utenti dispongano dell'accesso solo alle risorse di cui hanno bisogno in base ai rispettivi ruoli aziendali e IT. Ad esempio, se un gruppo di utenti gestisce il livello intermedio e un altro gruppo gestisce il livello del database, creare un compartimento per ciascun livello. Anche se solo un utente umano gestisce entrambi i livelli, si consiglia di utilizzare un compartimento separato per ogni livello. Questo approccio consente di isolare facilmente le autorizzazioni, se necessario.
I compartimenti consentono inoltre di tenere traccia e gestire l'uso del budget cloud. Ad esempio, puoi creare un compartimento per ogni reparto dell'organizzazione e monitorare le risorse cloud di ciascun compartimento.
Assegnare nomi logici ai compartimenti. Utilizzare una convenzione di denominazione che consenta di identificare facilmente la natura e lo stato delle risorse nel contenitore.
La tabella riportata di seguito fornisce un esempio della struttura di compartimenti e subnet per un'architettura di più livelli standard. In questo esempio, xxx nel nome del compartimento può essere Dev, Test, Stage o Prod, mentre yyy può essere il nome dell'applicazione o del carico di lavoro. Ad esempio, il nome Prod_Ordering_SharedServices indica che il compartimento contiene le risorse di produzione utilizzate dai servizi condivisi dell'applicazione di ordinamento.
| Compartimento | Subnet | Risorse |
|---|---|---|
| xxx _ yyy _Networks | Nessuno | VCN e gateway |
| xxx _ yyy _Admin | Subnet DMZ | Host di base |
| xxx _ yyy _BusinessLogic |
|
|
| xxx _ yyy _Database | Subnet del database | Istanze di database |
| xxx _ yyy _SharedServices | Subnet Shared Services | Componenti condivisi |
Creare la rete cloud virtuale e i relativi gateway nel compartimento xxx _ yyy _Networks e creare le subnet richieste negli altri compartimenti.
Creazione degli utenti
Ogni persona o sistema che deve creare o gestire le risorse deve essere definito come utente in Oracle Cloud Infrastructure Identity and Access Management (IAM) o in un provider di identità federato. Creare gli utenti richiesti.
Quando si esegue la registrazione per un account di Oracle Cloud, Oracle imposta un utente amministratore e assegna l'utente a un gruppo denominato Amministratori. Impossibile eliminare questo gruppo. È possibile aggiungervi altri utenti. Un criterio predefinito consente al gruppo Amministratori di gestire tutte le risorse in Oracle Cloud Infrastructure.
Creare gli utenti richiesti. Se il proprio account utilizza un provider di identità federato, ad esempio Oracle Identity Cloud Service, creare gli utenti in tale provider di identità.
Se gli utenti federati devono poter gestire le chiavi API e i token di autenticazione, assicurarsi che il provider di identità federata sia configurato per eseguire il provisioning degli utenti in IAM. Questa configurazione è obbligatoria solo per gli account creati prima del 21 dicembre 2018. In alternativa, creare un utente locale in IAM.
Pianificare gruppi e criteri
È possibile controllare le autorizzazioni di un utente aggiungendo l'utente a un gruppo o rimuovendo l'utente da un gruppo. Pianificare i gruppi richiesti e i criteri per consentire ai gruppi di gestire le risorse in compartimenti specifici.
È possibile assegnare un utente a uno o più gruppi. I criteri regolano l'accesso alle risorse di Oracle Cloud Infrastructure. Un criterio specifica le autorizzazioni per uno o più gruppi, utenti o compartimenti.
Nella tabella riportata di seguito sono elencati i gruppi e le autorizzazioni richiesti, in genere per un'architettura multilivello.
| Raggruppa | Autorizzazioni |
|---|---|
DBAdmins |
|
IAMAdminManagers |
Nota: Oracle crea il gruppo |
IAMManagers |
|
NetworkAdmins |
|
NetSecAdmins |
|
ReadOnly |
Visualizzare e ispezionare la tenancy. Questo gruppo è destinato agli utenti che non devono creare o gestire risorse, ad esempio auditor e capacità. |
StorageAdmins |
|
SysAdmins |
|
Nel provider di identità globale (ad esempio Oracle Identity Cloud Service ) è necessario creare i gruppi richiesti e mappare ogni gruppo al gruppo corrispondente In Oracle Cloud Infrastructure Identity and Access Management.