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.
È 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.
Se un endpoint dispone di un attributo di sicurezza ZPR, il traffico verso l'endpoint deve soddisfare le regole ZPR e anche tutte le regole NSG e della lista di sicurezza. Ad esempio, se si stanno già utilizzando gruppi di sicurezza di rete e si applica un attributo di sicurezza a un endpoint, non appena viene applicato l'attributo, 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 in una singola VCN (ad esempio, tutte le istanze di computazione che fungono da server Web nel livello Web di un'applicazione multilivello in una VCN).
- Rispetto alle liste di sicurezza, i gruppi NSG consentono di separare l'architettura di una subnet di una VCN dai requisiti di sicurezza dell'applicazione. Vedere Confronto delle liste di sicurezza e dei 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. Nessuna regola di sicurezza predefinita.
- 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.
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ù NSG per tale VNIC. Puoi anche aggiornare le VNIC esistenti su un'istanza in modo che si trovino in uno o più NSG.
- Load balancer: quando crei un load balancer, puoi specificare uno o più NSG per il load balancer (non il set backend). È inoltre possibile aggiornare un load balancer esistente per utilizzare uno o più gruppi di sicurezza di rete.
- 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 di sicurezza di rete, 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 che hanno tutte le stesse impostazioni di sicurezza. Ad esempio: un gruppo di istanze di computazione che eseguono tutti gli stessi task e quindi tutti 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 delle liste di sicurezza e dei 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 disponi di risorse con impostazioni di sicurezza diverse nella stessa VCN, puoi scrivere regole di sicurezza NSG per controllare il traffico tra le risorse con una postura rispetto a un'altra. Ad esempio, nel diagramma seguente, NSG1 dispone di VNIC in esecuzione in un livello di un'applicazione di architettura multilivello. 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 devono avviare connessioni con l'altro gruppo 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.
Il diagramma precedente presuppone che ciascun gruppo NSG debba avviare connessioni con l'altro gruppo NSG.
Il diagramma successivo presuppone invece che si desideri 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 connessioni avviate da NSG2 a NSG1.
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.
Una VNIC può trovarsi in un massimo di cinque gruppi NSG. Un pacchetto in questione è consentito se qualsiasi regola in uno dei gruppi NSG della VNIC consente il traffico (o se il traffico fa parte di una connessione esistente di cui viene eseguito il tracciamento), a meno che gli elenchi non contengano regole di sicurezza con conservazione dello stato e senza conservazione dello stato che coprono lo stesso traffico. Per ulteriori informazioni, vedere Stateful Rispetto alle regole 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.
Regole di sicurezza
Se non si ha ancora familiarità con le nozioni di base delle regole di sicurezza NSG, vedere queste sezioni nell'argomento delle regole di sicurezza:
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.
Di seguito sono riportate alcune differenze nel modello di API REST per i gruppi NSG rispetto alle liste di sicurezza.
- Le liste di sicurezza hanno un oggetto
IngressSecurityRule
e un oggettoEgressSecurityRule
separato. I gruppi di sicurezza di rete dispongono solo di un oggettoSecurityRule
e l'attributodirection
dell'oggetto mostra se la regola è relativa al 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 esempioUpdateSecurityList
. Con NSG, le regole non fanno parte dell'oggettoNetworkSecurityGroup
. 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 di un determinato gruppo dispone di un identificativo univoco assegnato da Oracle (ad esempio, 04ABEC). Quando si chiama
UpdateNetworkSecurityGroupSecurityRules
, si forniscono gli ID delle regole specifiche che si desidera aggiornare. Per il confronto, con le liste di sicurezza, le regole non hanno un identificativo univoco. Quando si chiamaUpdateSecurityList
, è necessario passare nell'elenco intera di regole, incluse quelle che non vengono aggiornate nella chiamata. - Le regole di sicurezza prevedono un limite di 25 regole quando si chiamano le operazioni da aggiungere, rimuovere o aggiornare.
Utilizzo dei gruppi di sicurezza di rete
Processo generale per l'utilizzo dei gruppi NSG
- Creare un gruppo NSG.
- Aggiungere le regole di sicurezza al gruppo NSG.
- Aggiungere le risorse padre (ad esempio 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 di sicurezza di rete. Quando crei un'istanza di computazione e la aggiungi a un gruppo NSG, la VNIC primaria dell'istanza viene aggiunta al gruppo NSG. Separatamente, è possibile creare VNIC secondarie e facoltativamente aggiungerle ai gruppi NSG.
Eliminazione dei gruppi NSG
Per eliminare un gruppo NSG, non deve contenere alcuna 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 particolare risorsa padre. Contattare l'amministratore della tenancy per trovare il 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 qualsiasi risorsa 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.