Utilizzare il servizio Bastion per accedere alle risorse in una subnet privata
Oracle Cloud Infrastructure Bastion fornisce accesso SSH privato e limitato nel tempo a risorse che non hanno endpoint pubblici.
I bastioni sono gateway o proxy. Sono entità logiche che forniscono un accesso sicuro alle risorse nel cloud che altrimenti non puoi raggiungere da Internet. I bastion risiedono in una subnet pubblica e stabiliscono l'infrastruttura di rete necessaria per connettere un utente a una risorsa in una subnet privata. OCI Bastion è un servizio di infrastruttura in grado di sostituire un bastion server che crei tu stesso in Oracle Cloud Infrastructure (OCI).
L'integrazione con Oracle Cloud Infrastructure Identity and Access Management (IAM) ti consente di controllare chi può gestire un bastion o una sessione all'interno di un servizio bastion. L'integrazione con Oracle Cloud Infrastructure Audit ti consente di monitorare le azioni amministrative correlate al servizio bastion e alle sessioni bastion.
Architettura
Questa architettura mostra due modi di connettersi alle subnet private: un modo è quello di connettersi attraverso una subnet di destinazione intermedia e l'altro è quello di connettersi direttamente alla subnet che contiene le risorse protette.
Quando si utilizza OCI Bastion, è possibile specificare una lista di inclusione dei blocchi CIDR (Classless Inter-Domain Routing) e un Time To Live (TTL) massimo della sessione. Il bastion OCI crea un percorso di rete tra la VCN bastion e la VCN cliente tramite una connessione inversa. Le sessioni vengono in genere create da utenti o operatori.
Il diagramma seguente illustra questa architettura di riferimento.

Descrizione dell'illustrazione architecture-use-bastion-service.png
architettura-uso-base-servizio-oracle.zip
L'architettura ha i seguenti componenti:
- Area OCI
Un'area geografica OCI è un'area geografica localizzata che contiene uno o più data center, che ospitano domini di disponibilità. Le regioni sono indipendenti da altre regioni e vaste distanze possono separarle (tra paesi o addirittura continenti).
- Dominio di disponibilità
I domini di disponibilità sono data center autonomi e indipendenti all'interno di un'area. Le risorse fisiche in ogni dominio di disponibilità sono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio alimentazione o raffreddamento, o la rete interna del dominio di disponibilità. Pertanto, un errore in un dominio di disponibilità non dovrebbe influire sugli altri domini di disponibilità nell'area.
- Dominio di errore
Un dominio di errori è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità, Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando si distribuiscono risorse su più domini di errore, le applicazioni possono tollerare errori fisici del server, manutenzione del sistema e interruzioni di corrente all'interno di un dominio di errore.
- Rete e subnet cloud virtuale (VCN)
Una rete cloud virtuale (VCN, virtual cloud network) è una rete personalizzabile e definita dal software impostata in un'area OCI. Come le reti di data center tradizionali, le reti VCN ti danno il controllo sul tuo ambiente di rete. Una VCN può avere più blocchi CIDR (Classless Inter-Domain Routing) non sovrapposti che è possibile modificare dopo aver creato la VCN. È possibile segmentare una 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 nella VCN. È possibile modificare le dimensioni di una sottorete dopo la creazione. Una subnet può essere pubblica o privata.
- OCI Bastion
Oracle Cloud Infrastructure Bastion fornisce un accesso sicuro limitato e limitato nel tempo a risorse che non hanno endpoint pubblici e che richiedono severi controlli di accesso alle risorse, come bare metal e virtual machine, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Cloud Infrastructure Kubernetes Engine (OKE) e qualsiasi altra risorsa che consente l'accesso SSH (Secure Shell Protocol). Con il servizio Bastion OCI, puoi abilitare l'accesso agli host privati senza distribuire e gestire un host di accesso rapido. Inoltre, ottieni un livello di sicurezza migliore con autorizzazioni basate sull'identità e una sessione SSH centralizzata, controllata e vincolata al tempo. OCI Bastion elimina la necessità di un IP pubblico per l'accesso al bastion, eliminando la seccatura e la potenziale superficie di attacco quando si fornisce l'accesso remoto.
- Backend servizio Bastion
Il backend di Oracle Cloud Infrastructure Bastion memorizza la configurazione della sessione e le chiavi pubbliche SSH utilizzate per concedere l'accesso ai sistemi di destinazione. I sistemi di destinazione, se necessario, utilizzano il gateway del servizio per accedere al backend Bastion OCI.
- Endpoint privato
Un endpoint privato connette il bastion OCI alle subnet di destinazione. La subnet di destinazione può essere una subnet separata per un controllo più granulare o sulla stessa subnet delle istanze a cui si desidera accedere.
Suggerimenti
I requisiti potrebbero essere diversi dall'architettura descritta qui. Utilizzare i suggerimenti riportati di seguito come punto di partenza.
- VCN
Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che prevedi di collegare alle subnet nella VCN. Utilizzare blocchi CIDR che si trovano all'interno dello spazio degli indirizzi IP privati standard.
Seleziona blocchi CIDR che non si sovrappongono a nessun'altra rete (in Oracle Cloud Infrastructure, nel tuo data center on-premise o in un altro provider cloud) a cui intendi impostare connessioni private.
Dopo aver creato una VCN, è possibile modificare, aggiungere e rimuovere i relativi blocchi CIDR.
Quando si progettano le subnet, considerare il flusso di traffico e i requisiti di sicurezza. Collegare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.
Utilizzare le subnet regionali.
Tenere presente che ogni bastion di cui è stato eseguito il provisioning prende due indirizzi IP dalla subnet di destinazione. Scegliere il blocco CIDR in base al numero di bastion di cui si desidera eseguire il provisioning in una determinata subnet. Ad esempio, se hai una subnet con CIDR /30, significa che hai due indirizzi utilizzabili e se all'interno di tale CIDR, hai una risorsa di destinazione, non hai abbastanza indirizzi per eseguire il provisioning di un bastion. In questo caso, il provisioning del bastion non riuscirà. È consigliabile che la subnet di destinazione sia più ampia di /29.
- Cloud Guard
Duplica e personalizza le recipe predefinite fornite da Oracle per creare recipe personalizzate del rilevatore e del rispondente. Queste recipe consentono di specificare il tipo di violazioni della sicurezza che generano un'avvertenza e le azioni che possono essere eseguite su di esse. Ad esempio, potresti voler rilevare bucket di OCI Object Storage con visibilità impostata su pubblico.
Applica Oracle Cloud Guard a livello di tenancy per coprire l'ambito più ampio e ridurre l'onere amministrativo della gestione di più configurazioni.
È inoltre possibile utilizzare la funzione Elenco gestito per applicare determinate configurazioni ai rilevatori.
- Zone di sicurezza
Per le risorse che richiedono la massima sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una recipe dei criteri di sicurezza definita da Oracle basata sulle procedure ottimali. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorni le risorse in una zona di sicurezza, OCI convalida le operazioni in base ai criteri nella recipe e impedisce le operazioni che violano uno qualsiasi dei criteri.
- OCI Bastion
La specifica del time-to-live (TTL) a livello di bastion garantisce che nessuna delle sessioni create nel contesto di quel bastion abbia un TTL più lungo del bastion stesso. Impostare il TTL sul limite minimo per il caso d'uso. Il valore minimo è 30 minuti e il valore massimo è 3 ore. Il TTL è configurabile anche a livello di sessione.
Il blocco CIDR utilizzato per una lista di inclusione deve essere il più stretto possibile per lo scenario. In questo modo, è possibile limitare gli intervalli di indirizzi IP per le connessioni SSH che possono accedere alle risorse di destinazione private.
Prendere in considerazione la dimensione della subnet di destinazione associata al bastion OCI e il numero di istanze di bastion desiderate. Ogni istanza del Bastion OCI richiede 2 indirizzi IP. Quindi, è meglio avere l'intervallo /29 (almeno) in modo che abbia 6 indirizzi IP utilizzabili. /30 avrebbe 2 indirizzi IP, ma se in futuro si desidera che la seconda istanza del bastion punti alla stessa subnet, non sarà possibile crearla. La subnet di destinazione può essere la subnet in cui si trova la risorsa di destinazione o altre subnet nella VCN di destinazione.
Consigli sui criteri di sicurezza:
- Le regole di entrata nella subnet che dispone delle risorse di destinazione devono consentire il traffico TCP in entrata da un solo indirizzo IP, ovvero l'IP dell'endpoint privato del bastion.
- Specificare la porta esatta in una destinazione, ad esempio 22 per Linux, 3389 per Windows, 33060 per MySql e così via. Evitare di utilizzare ALL per le porte.
Utilizzare criteri IAM specifici per gli scenari di amministrazione e operatore.
Considerazioni
- Area
Oracle Cloud Infrastructure Bastion è un servizio regionale. Ad esempio, è necessario creare un bastion nell'area PHX per accedere alle risorse nell'area PHX. Un bastion all'interno di un'area non può essere utilizzato per accedere alle risorse in un'altra area.
- Prestazioni
La creazione del bastion OCI deve essere all'interno dell'SLO (2 minuti entro la creazione della richiesta). La creazione/terminazione della sessione deve essere all'interno dell'SLO. L'inoltro della porta è di 1 minuto (scenario di interruzione dell'accesso) e la sessione SSH gestita è di 3 minuti (uso normale).
- Sicurezza
Il traffico proveniente da Bastion OCI proviene dall'endpoint privato nella subnet. Per consentire il traffico dai bastion, consenti il traffico in entrata e in uscita da questo endpoint privato agli IP a cui è necessario accedere utilizzando bastion. I criteri granulari che limitano l'accesso a un subset di istanze aiutano a garantire il giusto livello di accesso.
- Disponibilità
Il servizio deve fornire l'alta disponibilità per creare/terminare bastion e sessioni (in base alla frequenza di errori API). La disponibilità target è del 99,9%.
- Costo
Non sono previsti costi per l'utilizzo di Base OCI. È possibile creare fino a cinque bastion per area per tenancy. Ogni bastion serve le risorse di destinazione all'interno di una VCN.
- Scenari di utilizzo
Se si desidera accedere agli host di destinazione privati che eseguono immagini native OCI o basate su Linux ed eseguono l'agente OCA v2 (con il plugin bastion abilitato in esso), è possibile utilizzare le sessioni SSH gestite. Se si desidera accedere alle risorse di destinazione private che non dispongono dell'agente in esecuzione, sono basate su Windows o richiedono l'accesso ai database (ATP o MySQL), è possibile utilizzare le sessioni SSH di inoltro della porta.