Utilizzare il servizio Bastion per accedere alle risorse in una subnet privata
Oracle Cloud Infrastructure Bastion fornisce l'accesso SSH privato e a tempo limitato alle risorse che non dispongono di endpoint pubblici.
Bastion è un servizio di infrastruttura che può sostituire un bastion server creato in Oracle Cloud Infrastructure (OCI). Le basi sono gateway o proxy. Si tratta di entità logiche che forniscono un accesso sicuro alle risorse nel cloud che altrimenti non è possibile raggiungere da Internet. Le basi risiedono in una subnet pubblica e stabiliscono l'infrastruttura di rete necessaria per connettere un utente a una risorsa in una subnet privata.
L'integrazione con Oracle Cloud Infrastructure Identity and Access Management (IAM) consente di controllare chi può gestire un bastione o una sessione all'interno di un servizio bastione. L'integrazione con Oracle Cloud Infrastructure Audit consente di monitorare le azioni amministrative relative al servizio bastion e alle sessioni bastion.
Architettura
Questa architettura mostra due modi di connettersi a subnet private. Un modo è connettersi attraverso una subnet di destinazione intermedia, e l'altro modo è connettersi direttamente alla subnet che contiene le risorse protette.
Quando si crea un servizio di base, è possibile specificare una lista di allocazioni di blocchi CIDR e un tempo massimo di vita della sessione. Durante la creazione del bastione, viene stabilito un percorso di rete tra VCN bastione e VCN cliente mediante una connessione inversa. Le sessioni vengono in genere create da utenti o operatori.
Il seguente diagramma illustra questa architettura di riferimento.

Descrizione dell'immagine architecture-use-bastion-service.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 anche continenti).
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e autonomi all'interno di un'area. Le risorse fisiche in ogni dominio di disponibilità vengono isolate dalle risorse negli altri domini di disponibilità, il che fornisce la tolleranza agli errori. I domini di disponibilità non condividono infrastrutture quali l'alimentazione o il raffreddamento o la rete di dominio di disponibilità interna. È quindi improbabile che un errore a un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.
- Domini di errore
Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità ha tre domini di guasto con alimentazione e hardware indipendenti. Quando si distribuiscono risorse su più domini di errore, le applicazioni possono tollerare errori fisici del server, la manutenzione del sistema e gli errori di alimentazione all'interno di un dominio di errore.
- 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.
- Servizio base
Il servizio bastione esiste in un'infrastruttura gestita da OCI, che non richiede alcuna gestione dell'infrastruttura. L'infrastruttura gestita è la sede in cui viene creato l'endpoint pubblico bastion, consentendo ai client esterni di connettersi utilizzando le sessioni definite in precedenza.
- Backend servizio base
Il backend di Bastion Service memorizza la configurazione della sessione e le chiavi pubbliche SSH utilizzate per concedere l'accesso ai sistemi di destinazione. Se necessario, i sistemi di destinazione utilizzano il gateway del servizio per accedere al backend del servizio di base.
- Endpoint privato
L'endpoint privato connette il servizio di base 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
Le vostre esigenze potrebbero differire dall'architettura descritta qui. Utilizzare i suggerimenti riportati di seguito come punto di partenza.
- VCN
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 che si trovano 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.
Utilizzare subnet regionali.
Tenere presente che ogni bastione a cui è stato eseguito il provisioning prende due indirizzi IP dalla subnet di destinazione. Scegliere il blocco CIDR in base al numero di bastioni che si desidera eseguire il provisioning su una determinata subnet. Ad esempio, se si dispone di una subnet con /30 CIDR, significa che si dispone di due indirizzi utilizzabili e se all'interno di tale CIDR si dispone di una risorsa target, non si dispone di indirizzi sufficienti per eseguire il provisioning di un bastione. In questo caso, il provisioning bastione fallirà. Si consiglia che la subnet di destinazione sia maggiore di/29.
- Sicurezza
Utilizzare Oracle Cloud Guard per monitorare e mantenere proattivamente la sicurezza delle risorse in Oracle Cloud Infrastructure. Cloud Guard utilizza ricette di detector che è possibile definire per esaminare le risorse per individuare le debolezze della sicurezza e monitorare gli operatori e gli utenti per attività rischiose. Quando viene rilevata un'attività non configurata o non sicura, Cloud Guard consiglia azioni correttive e assiste l'esecuzione di tali azioni in base alle ricette del rispondente che è possibile definire.
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 ricetta definita da Oracle di criteri di sicurezza basati sulle best practice. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili da Internet pubblico e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando si creano e aggiornano le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni in base ai criteri nella composizione della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.
- Bastione OCI
TTL a livello di bastione assicurerà che nessuna delle sessioni create nel contesto di quel bastione avrebbe TTL più del bastione. È necessario impostare il TTL sul limite minimo in base al caso d'uso. Il valore minimo è 30 minuti e il valore massimo è 3 ore. Il TTL è configurabile anche a livello di sessione.
Consenti blocco CIDR elenco deve essere il più stretto possibile secondo il tuo scenario. Con questo, è possibile limitare gli intervalli di indirizzi IP da cui le connessioni SSH sono consentite alle risorse di destinazione private.
La dimensione della subnet target a cui viene creato un bastione deve essere considerata. Ogni creazione bastione richiede 2 indirizzi IP. Pertanto, è meglio avere un intervallo/29 almeno in modo che disponga di 6 indirizzi IP utilizzabili. /30 avrebbe 2 indirizzi IP, ma se in futuro si vuole che la seconda istanza del bastione punti alla stessa subnet, non si sarà in grado di crearlo. Ricordare che la subnet di destinazione può essere la subnet da cui è presente la risorsa di destinazione o da cui altre subnet nella VCN di destinazione possono consentire il traffico.
Suggerimenti sulle politiche di sicurezza
- Le regole di ingresso sulla subnet che dispone delle risorse target dovrebbero consentire il traffico TCP in entrata da un solo indirizzo IP che è l'IP endpoint privato del bastione.
- Specificare la porta esatta su una destinazione come 22 per Linux, 3389 per le finestre, 33060 per MySql e così via. Non utilizzare TUTTE per le porte.
Utilizzare criteri IAM specifici per gli scenari di amministrazione e operatore.
Considerazioni
- Area
Bastione è un servizio regionale. Ad esempio, i clienti dovrebbero creare un bastione in PHX per accedere alle risorse in PHX. Ad esempio, non è possibile utilizzare un bastione all'interno di PHX per accedere alle risorse in IAD.
- Prestazioni
La creazione della base deve essere compresa nello SLO (2 minuti all'interno della creazione della richiesta). La creazione/cessazione della sessione deve essere compresa nello SLO. L'inoltro della porta è di 1 minuti (scenario break-glass) e la sessione SSH gestita è di 3 minuti (uso normale).
- Sicurezza
Il traffico da bastione proviene dall'endpoint privato sulla subnet. Per consentire il traffico dai bastioni, consentire l'ingresso e l'uscita del traffico da questo endpoint privato agli IP a cui è necessario accedere tramite bastioni. Criteri di livello superiore che limitano l'accesso a un subset di istanze contribuiscono a garantire il giusto livello di accesso.
- Disponibilità
Il servizio deve fornire un'elevata disponibilità per creare/terminare bastioni e sessioni (in base alla frequenza di errore dell'API). La disponibilità target è pari al 99.9%.
- Costo
Nessun costo per l'utilizzo di OCI Bastion. I clienti possono creare fino a cinque bastioni per regione per tenancy. Ogni bastione serve le risorse target all'interno di un VCN.
- Scenari di utilizzo
Se il cliente desidera accedere agli host di destinazione privati che eseguono immagini native OCI, sono basati su Linux ed eseguono l'agente v2 OCA (con plugin bastion abilitato in esso), è possibile utilizzare sessioni SSH gestite. Se il cliente desidera accedere alle risorse di destinazione private che non dispongono dell'agente in esecuzione, sono basate su Windows o l'accesso ai database (ATP o MySQL), è possibile utilizzare sessioni SSH di inoltro porta.