Gruppi di sicurezza di rete

Il servizio Networking offre due funzionalità firewall virtuali per controllare il traffico a livello di pacchetto:

  • Gruppi di sicurezza di rete: descritto in questo argomento. I gruppi di sicurezza di rete (NSG) sono supportati solo per servizi specifici.
  • Elenchi di sicurezza: il tipo originale di firewall virtuale offerto dal servizio di networking. Vedere Elenchi di sicurezza.

Entrambe le funzioni utilizzano regole di sicurezza. Per informazioni importanti sul funzionamento delle regole di sicurezza e un confronto generale tra liste di sicurezza e gruppi di sicurezza di rete, vedere Regole di sicurezza.

Nota

È possibile utilizzare Zero Trust Packet Routing (ZPR) insieme o al posto dei gruppi di sicurezza di rete per controllare l'accesso di rete alle risorse OCI applicando loro attributi di sicurezza e creando criteri ZPR per controllare la comunicazione tra di loro. Per ulteriori informazioni, vedere Zero Trust Packet Routing.
Attenzione

Se un endpoint dispone di un attributo di sicurezza ZPR, il traffico verso l'endpoint deve soddisfare le regole ZPR, nonché tutte le regole NSG e della lista di sicurezza. Ad esempio, se si utilizzano già gruppi NSG e si applica un attributo di sicurezza a un endpoint, non appena l'attributo viene applicato, tutto il traffico verso l'endpoint viene bloccato. Da quel momento in poi, un criterio ZPR deve consentire il traffico verso l'endpoint.

Evidenziazioni

  • I gruppi di sicurezza di rete (NSG) fungono da firewall virtuale per le istanze di computazione e altri tipi di risorse. Un gruppo NSG è costituito da un set di regole di sicurezza in entrata e in uscita che si applicano solo a un set di VNIC a scelta in una singola VCN, ad esempio tutte le istanze di computazione che fungono da server Web nel livello Web di un'applicazione a più livelli nella VCN in uso.
  • Rispetto agli elenchi di sicurezza, i gruppi NSG consentono di separare l'architettura della subnet della VCN dai requisiti di sicurezza dell'applicazione. Vedere Confronto tra liste di sicurezza e gruppi di sicurezza di rete.
  • È possibile utilizzare i gruppi NSG con determinati tipi di risorse. Per ulteriori informazioni, consulta Supporto per i gruppi di sicurezza di rete.
  • Le regole di sicurezza NSG funzionano allo stesso modo delle regole della lista di sicurezza. Tuttavia, per l'origine (per le regole di entrata) o la destinazione (per le regole di uscita) di una regola di sicurezza NSG, è possibile specificare un gruppo NSG anziché un CIDR. Ciò significa che puoi scrivere facilmente regole di sicurezza per controllare il traffico tra due gruppi NSG nella stessa VCN o il traffico all'interno di un singolo gruppo NSG. Vedere Parti di una regola di sicurezza.
  • A differenza delle liste di sicurezza, la VCN non dispone di un gruppo NSG predefinito. Inoltre, ogni gruppo NSG creato è inizialmente vuoto. Non dispone di regole di sicurezza predefinite.
  • I gruppi di sicurezza di rete prevedono limiti separati e diversi rispetto alle liste di sicurezza. Vedere Limiti della lista di sicurezza.

Supporto per gruppi di sicurezza di rete

I gruppi NSG sono disponibili per la creazione e l'uso. Tuttavia, non sono ancora supportati da tutti i servizi Oracle Cloud Infrastructure pertinenti.

Attualmente, i seguenti tipi di risorse padre supportano l'uso dei gruppi NSG:

  • Servizio Autonomous Recovery (Subnet per il servizio di recupero): quando si registra una subnet del servizio di recupero, è possibile associare uno o più gruppi NSG (massimo cinque) che contengono le regole in entrata per il servizio di recupero.
  • Istanze di computazione: quando crei un'istanza, puoi specificare uno o più gruppi NSG per la VNIC primaria dell'istanza. Se aggiungi una VNIC secondaria a un'istanza, puoi specificare uno o più gruppi NSG per tale VNIC. Puoi anche aggiornare le VNIC esistenti in un'istanza in modo che si trovino in uno o più gruppi NSG.
  • Load balancer: quando crei un load balancer, puoi specificare uno o più gruppi NSG per il load balancer (non il set backend). Inoltre, puoi aggiornare un load balancer esistente in modo che utilizzi uno o più gruppi NSG.
  • Sistemi DB: quando si crea un sistema DB, è possibile specificare uno o più gruppi NSG. Puoi anche aggiornare un sistema DB esistente in modo che utilizzi uno o più gruppi NSG.
  • Autonomous Databases: quando crei un Autonomous Database su un'infrastruttura Exadata dedicata, puoi specificare uno o più NSG per la risorsa dell'infrastruttura.
  • Destinazioni di MOUNT: quando si crea una destinazione di MOUNT per un file system, è possibile specificare uno o più gruppi NSG. È inoltre possibile aggiornare una destinazione di accesso esistente in modo che utilizzi uno o più gruppi NSG.
  • Endpoint risolutore DNS: quando si crea un endpoint per un resolver DNS privato, è possibile specificare uno o più gruppi NSG. È inoltre possibile aggiornare un endpoint esistente per utilizzare uno o più gruppi NSG.
  • Cluster Kubernetes: quando si crea un cluster Kubernetes utilizzando Kubernetes Engine, è possibile specificare uno o più gruppi NSG per controllare l'accesso all'endpoint API Kubernetes e ai nodi di lavoro. Puoi anche specificare i gruppi NSG quando si definisce un load balancer per un cluster.
  • Gateway API: quando si crea un gateway API, è possibile specificare uno o più gruppi NSG per controllare l'accesso al gateway API.
  • Funzioni: quando si imposta un'applicazione nelle funzioni OCI, è possibile specificare uno o più gruppi NSG per definire le regole in entrata e in uscita che si applicano a tutte le funzioni di quella particolare applicazione.
  • GoldenGate distribuzioni: quando si crea una distribuzione GoldenGate, è possibile specificare uno o più gruppi NSG per controllare l'accesso alla distribuzione.
  • Cluster Redis: quando si crea un cluster Redis, è possibile specificare uno o più gruppi NSG per controllare l'accesso al cluster Redis. È inoltre possibile aggiornare un cluster esistente per utilizzare uno o più gruppi NSG

Per i tipi di risorse che non supportano ancora i gruppi NSG, continuare a utilizzare le liste di sicurezza per controllare il traffico in entrata e in uscita da tali risorse padre.

Panoramica dei gruppi di sicurezza di rete

Un gruppo di sicurezza di rete (NSG) fornisce un firewall virtuale per un set di risorse cloud con lo stesso livello di sicurezza. Ad esempio: un gruppo di istanze di computazione che eseguono tutti gli stessi task e quindi devono utilizzare lo stesso set di porte.

Un gruppo NSG è costituito da due tipi di elementi:

  • VNIC: una o più VNIC (ad esempio, le VNIC collegate al set di istanze di computazione che hanno tutte lo stesso livello di sicurezza). Tutte le VNIC devono trovarsi nella stessa VCN del gruppo NSG. Vedere anche Confronto tra liste di sicurezza e gruppi di sicurezza di rete.
  • Regole di sicurezza: le regole di sicurezza del gruppo NSG definiscono i tipi di traffico consentito in entrata e in uscita dalle VNIC del gruppo. Ad esempio: traffico SSH della porta TCP 22 in entrata da una determinata origine.

Se si dispone di risorse con impostazioni di sicurezza diverse nella stessa VCN, è possibile scrivere regole di sicurezza NSG per controllare il traffico tra le risorse con un livello di postura anziché con un altro. Ad esempio, nel diagramma riportato di seguito, NSG1 dispone di VNIC in esecuzione in un livello di un'applicazione di architettura a più livelli. NSG2 dispone di VNIC in esecuzione in un secondo livello. Entrambi i gruppi NSG devono appartenere alla stessa VCN. L'ipotesi è che entrambi i gruppi NSG debbano avviare connessioni con gli altri gruppi NSG.

Per NSG1, si impostano regole di sicurezza di uscita che specificano NSG2 come destinazione e regole di sicurezza di entrata che specificano NSG2 come origine. Allo stesso modo per NSG2, è possibile impostare regole di sicurezza di uscita che specificano NSG1 come destinazione e regole di sicurezza di entrata che specificano NSG1 come origine. In questo esempio si presuppone che le regole siano con conservazione dello stato.

È possibile impostare regole di sicurezza per controllare il traffico tra due gruppi di sicurezza di rete.

Il diagramma precedente presuppone che ciascun gruppo NSG debba avviare connessioni con l'altro gruppo NSG.

Il diagramma successivo presuppone che si desideri invece consentire solo le connessioni avviate da NSG1 a NSG2. A tale scopo, rimuovere la regola di entrata da NSG1 e la regola di uscita da NSG2. Le regole rimanenti non consentono le connessioni avviate da NSG2 a NSG1.

Queste regole di sicurezza consentono l'avvio delle connessioni in una sola direzione: da NSG1 a NSG2.

Il diagramma successivo presuppone che si desideri controllare il traffico tra le VNIC nello stesso gruppo NSG. A tale scopo, impostare l'origine della regola (per l'ingresso) o la destinazione (per l'uscita) come gruppo NSG della regola.

Puoi impostare regole di sicurezza per controllare il traffico tra le VNIC nello stesso gruppo NSG.

Una VNIC può trovarsi in un massimo di cinque NSG. Un pacchetto in questione è consentito se qualsiasi regola in uno qualsiasi dei gruppi NSG della VNIC consente il traffico (o se il traffico fa parte di una connessione esistente che viene tracciata). C'è un avvertimento se gli elenchi contengono regole di sicurezza sia stateful che stateless che coprono lo stesso traffico. Per ulteriori informazioni, vedere Regole con conservazione dello stato e senza conservazione dello stato.

I gruppi di sicurezza di rete sono entità regionali. Per i limiti correlati ai gruppi di sicurezza di rete, vedere Confronto tra liste di sicurezza e gruppi di sicurezza di rete.

Per informazioni relative ai limiti, vedere Limiti dei gruppi di sicurezza di rete e Richiesta di un aumento dei limiti del servizio.

Uso dell'API

Per informazioni sull'uso dell'API e delle richieste di firma, consulta la documentazione dell'API REST e le credenziali di sicurezza. Per informazioni sugli SDK, vedere SDK e l'interfaccia CLI.

Per informazioni sull'uso dell'API e delle richieste di firma, consulta la documentazione dell'API REST e le credenziali di sicurezza. Per informazioni sugli SDK, vedere SDK e l'interfaccia CLI.

Il modello di API REST per i gruppi NSG presenta alcune differenze rispetto alle liste di sicurezza:

  • Le liste di sicurezza contengono un oggetto IngressSecurityRule e un oggetto EgressSecurityRule separato. Nel caso dei gruppi di sicurezza di rete, esiste solo un oggetto SecurityRule e l'attributo direction dell'oggetto determina se la regola riguarda il traffico in entrata o in uscita.
  • Con le liste di sicurezza, le regole fanno parte dell'oggetto SecurityList e si utilizzano le regole richiamando le operazioni della lista di sicurezza (ad esempio UpdateSecurityList). Con i gruppi NSG, le regole non fanno parte dell'oggetto NetworkSecurityGroup. Utilizzare invece operazioni separate per utilizzare le regole per un determinato gruppo NSG (ad esempio, UpdateNetworkSecurityGroupSecurityRules).
  • Il modello per l'aggiornamento delle regole di sicurezza esistenti è diverso tra le liste di sicurezza e i gruppi NSG. Con i gruppi NSG, ogni regola in un determinato gruppo ha un identificativo assegnato da Oracle univoco (ad esempio, 04ABEC). Quando si chiama UpdateNetworkSecurityGroupSecurityRules, fornire gli ID delle regole specifiche che si desidera aggiornare. Per il confronto, con gli elenchi di sicurezza, le regole non dispongono di un identificativo univoco. Quando si chiama UpdateSecurityList, è necessario passare l'intera lista di regole, incluse le regole che non vengono aggiornate nella chiamata.
  • Quando si richiamano le operazioni per aggiungere, rimuovere o aggiornare le regole di sicurezza, è previsto un limite di 25 regole.

Utilizzo dei gruppi di sicurezza di rete

Processo generale per l'utilizzo dei gruppi NSG

  1. Creare un gruppo NSG.
  2. Aggiungere le regole di sicurezza al gruppo NSG.
  3. Aggiungere le risorse padre (o, più specificamente, le VNIC) al gruppo NSG. È possibile eseguire questa operazione quando si crea la risorsa padre oppure è possibile aggiornare la risorsa padre e aggiungerla a uno o più gruppi NSG. Quando crei un'istanza di computazione e la aggiungi a un gruppo NSG, la VNIC primaria dell'istanza viene aggiunta al gruppo NSG. Separatamente, puoi creare VNIC secondarie e, facoltativamente, aggiungerle ai gruppi NSG.

Eliminazione dei gruppi NSG

Per eliminare un gruppo NSG, non deve contenere VNIC o risorse padre. Quando una risorsa padre (o una VNIC dell'istanza di computazione) viene eliminata, viene rimossa automaticamente dai gruppi NSG in cui si trovava. È possibile che non si disponga dell'autorizzazione per eliminare una determinata risorsa padre. Contattare l'amministratore per determinare chi è proprietario di una determinata risorsa.

Criterio IAM necessario

Per utilizzare Oracle Cloud Infrastructure, un amministratore deve essere un membro di un gruppo a cui è stato concesso l'accesso di sicurezza in un criterio da un amministratore della tenancy. Questo accesso è necessario se si utilizza la console o l'API REST con un SDK, un'interfaccia CLI o un altro strumento. Se viene visualizzato un messaggio che informa che non si dispone dell'autorizzazione o che non si è autorizzati, verificare con l'amministratore della tenancy il tipo di accesso di cui si dispone e il compartimento in cui funziona l'accesso.

Per gli amministratori: il criterio in Consenti agli amministratori di rete di gestire una rete cloud riguarda la gestione di tutti i componenti di networking, inclusi i gruppi NSG.

Se si dispone di amministratori della sicurezza che devono gestire i gruppi NSG ma non altri componenti nel servizio di networking, è possibile scrivere un criterio più restrittivo:

Allow group NSGAdmins to manage network-security-groups in tenancy
			
Allow group NSGAdmins to manage vcns in tenancy 
      where ANY {request.operation = 'CreateNetworkSecurityGroup',
                 request.operation = 'DeleteNetworkSecurityGroup'}

Allow group NSGAdmins to read vcns in tenancy

Allow group NSGAdmins to use VNICs in tenancy

La prima istruzione consente al gruppo NSGAdmins di creare e gestire i gruppi NSG e le relative regole di sicurezza.

La seconda istruzione è necessaria perché la creazione o l'eliminazione di un gruppo NSG influisce sulla VCN in cui si trova il gruppo NSG. L'istruzione limita le autorizzazioni correlate alla VCN solo a quelle necessarie per creare o eliminare un gruppo NSG. L'istruzione non consente al gruppo NSGAdmins di creare o eliminare VCN o di utilizzare risorse in una VCN ad eccezione dei gruppi NSG.

La terza istruzione è necessaria per elencare le VCN, un prerequisito per la creazione o l'eliminazione di un gruppo NSG in una VCN. Per informazioni sul motivo per cui sono necessarie entrambe la seconda e la terza istruzione, vedere Condizioni.

La quarta istruzione è necessaria se NSGAdmins deve inserire le VNIC in un gruppo NSG. Chi crea la risorsa padre della VNIC (ad esempio, un'istanza di computazione) deve già disporre di questo livello di autorizzazione per creare la risorsa padre.

Per ulteriori informazioni sui criteri del servizio di networking, vedere Criteri IAM per il networking.