Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Proteggi le tue applicazioni utilizzando OCI Network Firewall e OCI WAF Regional con Let's Encrypt Certificates
Introduzione
In uno scenario caratterizzato da un'ampia trasformazione digitale, la protezione delle applicazioni non è più facoltativa: è una priorità fondamentale. Mentre le organizzazioni passano i loro carichi di lavoro a Oracle Cloud Infrastructure (OCI), è essenziale implementare una forte difesa dalle minacce informatiche. OCI offre una vasta gamma di strumenti per rafforzare le tue applicazioni e in questa esercitazione ti spiegheremo come proteggere i tuoi asset digitali utilizzando OCI Network Firewall e OCI Web Application Firewall (WAF) regionale/locale.
Perché questo tutorial è essenziale?
Mentre le tue applicazioni comunicano con il mondo esterno, affrontano la sfida sempre presente delle minacce alla sicurezza informatica. Questa esercitazione consente di creare una difesa su più livelli, proteggendo le applicazioni dalle minacce note ed emergenti sfruttando la potenza di OCI Network Firewall e OCI WAF region. Esploreremo concetti importanti, tra cui il supporto multi-dominio e la generazione o il rinnovo di certificati X.509 utilizzando strumenti standard. Inoltre, analizzeremo l'uso del servizio gratuito e ampiamente riconosciuto Let's Encrypt. Attraverso questo, otterrai una comprensione completa delle pratiche essenziali per proteggere le tue applicazioni.
Per chi è questo tutorial?
Questa esercitazione è stata progettata per architetti cloud, professionisti della sicurezza e sviluppatori che desiderano una comprensione completa delle funzioni di sicurezza OCI. Che tu sia un professionista del cloud esperto o che tu stia appena iniziando il tuo viaggio verso la sicurezza del cloud, questo tutorial ti fornirà le competenze per costruire una solida difesa intorno alle tue applicazioni.
Che cos'è OCI Network Firewall
Oracle Cloud Infrastructure Network Firewall rappresenta un servizio firewall gestito all'avanguardia creato utilizzando Palo Alto Networks. È una tecnologia di firewall di nuova generazione (NGFW). Offre funzionalità firewall basate sul machine learning per proteggere i carichi di lavoro OCI ed è facile da utilizzare su OCI. In qualità di offerta firewall-as-a-service nativa OCI, OCI Network Firewall consente di sfruttare le funzioni del firewall senza dover configurare e gestire un'infrastruttura di sicurezza aggiuntiva. L'istanza di OCI Network Firewall è altamente scalabile con alta disponibilità integrata e può essere creata in una rete cloud virtuale (VCN) e in una subnet di tua scelta.
Il servizio OCI Network Firewall fornisce insight approfonditi sul flusso di dati che entrano nei tuoi ambienti cloud, affrontando sia la comunicazione in entrata che quella tra subnet o tra VCN. In sostanza, offre visibilità sul traffico di rete Nord-Sud e sul traffico di rete Est-Ovest. Per ulteriori informazioni, vedere Firewall di rete OCI.
Che cos'è OCI Web Application Firewall regionale/locale
OCI Web Application Firewall (WAF) è un servizio di sicurezza basato su cloud che aiuta a proteggere le applicazioni Web da minacce e attacchi comuni alla sicurezza, come SQL injection, cross-site scripting (XSS) e Distributed Denial of Service (DDoS). L'area OCI WAF è la versione più recente di WAF in genere distribuita a livello regionale, integrata con OCI Load Balancer per fornire un meccanismo di difesa flessibile e scalabile. Per ulteriori informazioni, vedere OCI Web Application Firewall.
Architettura
Questa architettura proposta includerà la protezione totale per i carichi di lavoro della tenancy utilizzando i componenti riportati di seguito.
-
OCI WAF regionale: questo WAF è integrato con un load balancer flessibile OCI (livello 7) per proteggere tutto il traffico HTTP (S) che passa attraverso il load balancer.
-
load balancer OCI: questo load balancer riceverà le richieste dalla rete Internet pubblica.
-
OCI Network Firewall: è anche noto come Next Generation Firewall. OCI Network Firewall e WAF che lavorano in tandem, creeranno una difesa a più livelli. Se un livello perde una minaccia, l'altro potrebbe catturarla, fornendo una postura di sicurezza più robusta.
Diagramma flusso dati
Il flusso di dati di rete può essere facilmente visto nel seguente diagramma di rete, richieste in entrata in linee di punti verdi, risposte in linee di punti rossi.
Questo diagramma fa riferimento alle best practice per distribuire il firewall di rete OCI per il traffico Nord-Sud. Nella fase iniziale, il traffico in entrata (rappresentato in verde e operativo al livello 7) viene indirizzato attraverso il gateway Internet. A Internet Gateway è associata una tabella di instradamento per deviare tutto il traffico indirizzato alla subnet del load balancer (192.168.6.0/24
) verso l'IP privato NGFW. Questo farà in modo che il traffico in entrata attraverserà il NGFW per l'ispezione.
In seguito al flusso di rete, il traffico passa al firewall di rete OCI o al firewall di nuova generazione (NGFW) dal gateway Internet. È interessante notare che OCI Network Firewall riceve senza problemi il traffico senza interrompere la connessione TLS/SSL. OCI Network Firewall applica i profili di decifrazione per decifrare il traffico TLS, consentendo un'ispezione approfondita dei pacchetti. Per ulteriori informazioni, vedere Uso di OCI Network Firewall per la decifrazione SSL.
Una volta ispezionato a fondo il traffico, OCI Network Firewall passa a OCI Load Balancer, che termina per la prima volta la connessione TLS/SSL. Il WAF collegato esegue quindi un'ispezione approfondita dei pacchetti sul traffico decifrato per assicurarsi che sia pulito prima di inoltrarlo ai server backend. Il load balancer esegue quindi l'instradamento del bilanciamento del carico e avvia una connessione secondaria al server backend selezionato.
Per il traffico di ritorno dai server backend, i server backend rispondono inizialmente al load balancer OCI (illustrato in rosso e operante al livello 7). Una volta raggiunto il load balancer, il WAF collegato ispeziona innanzitutto il traffico restituito per assicurarsi che soddisfi gli standard di sicurezza. Dopo l'ispezione WAF, il load balancer instrada il traffico verso un IP privato in cui OCI Network Firewall esegue ulteriori controlli di sicurezza sulla risposta. Una volta ispezionato dal firewall, il traffico viene instradato al gateway Internet in base alla tabella di instradamento associata alla subnet NGFW. Da IGW, il traffico restituito fluirà al client originale su Internet.
Obiettivi
L'obiettivo principale di questa esercitazione è quello di consentire agli utenti di rafforzare i propri carichi di lavoro cloud impostando in modo efficace OCI WAF region in combinazione con OCI Network Firewall. Integrando i certificati X.509 firmati da Let's Encrypt per il front-end del load balancer OCI, gli utenti possono garantire una connessione sicura e convalidata. L'esercitazione guida ulteriormente gli utenti nell'implementazione delle best practice OCI Network Firewall per il traffico Nord-Sud, distribuendo un'applicazione OCI Load Balancer. In particolare, questa configurazione designa strategicamente il load balancer OCI come unico componente che utilizza un certificato non autofirmato: Let's Encrypt, mentre altri elementi che utilizzano TLS (Transport Layer Security) utilizzano certificati autofirmati senza problemi, più facili da gestire.
-
Task 1: distribuire il firewall WAF (Web Application Firewall) OCI locale.
-
Task 2: Firma del certificato del server con Let's Encrypt.
-
Task 3: configurare il load balancer OCI.
-
Task 4: configurare OCI Network Firewall.
-
Task 5: configurare l'instradamento OCI.
Prerequisiti
-
Una tenancy OCI attiva. È necessario disporre delle autorizzazioni necessarie per creare e gestire le risorse di rete in OCI.
-
Una comprensione di base del sistema operativo Linux, OCI, Oracle Linux, incluso come installare e configurare il software in Linux.
-
Una buona comprensione di come utilizzare la console OCI o l'interfaccia della riga di comando di Oracle Cloud Infrastructure (OCI CLI) per creare e gestire le risorse di rete.
-
Una buona comprensione di come utilizzare e configurare OCI Network Firewall e OCI WAF locale.
-
Una buona conoscenza della tecnologia SSL/TLS e dei certificati digitali X.509. Per ulteriori informazioni, vedere questa guida consigliata per un'analisi approfondita dei certificati X.509: X509 Certificates e SSL/TLS: Understand TLS/SSL encryption technology.
Task 1: Distribuzione locale di OCI Web Application Firewall
Il primo componente che verrà distribuito è WAF local.
-
Eseguire il login a OCI Console e fare clic su Web Application Firewall.
-
In Criteri, fare clic su Crea criterio WAF e immettere le informazioni riportate di seguito. Fare clic su Avanti.
-
In Criterio di controllo dell'accesso, selezionare Abilita controllo di accesso se necessario. Per ulteriori informazioni, vedere Controlli di accesso per i criteri Web Application Firewall.
-
In Criterio di limitazione tariffa, selezionare Abilita per configurare le regole di limitazione di frequenza se è necessaria la limitazione di frequenza. Per ulteriori informazioni, vedere Limitazione dei tassi per Web Application Firewall.
-
In Protezioni, selezionare Abilita per configurare le regole di protezione se è necessario configurare la protezione. Per ulteriori informazioni, vedere Protezioni per Web Application Firewall.
-
In Seleziona punto di applicazione, lo scopo di questo menu è collegare i criteri WAF appena creati a un load balancer esistente. Se non è stato creato alcun load balancer o è disponibile in questo momento, è possibile saltare questo passo e collegare i criteri durante la creazione del load balancer.
Task 2: Firma del certificato del server con Let's Encrypt
In questo tutorial, utilizzeremo un servizio CA pubblico gratuito chiamato Let's Encrypt per firmare il nostro certificato server. Pertanto, il certificato catena verrà visualizzato come segue:
1.-End-user Certificate - Issued to: *.example.com; Issued By: Let’s Encrypt R3
2.-Intermediate Certificate 1 - Issued to: Let’s Encrypt R3 (RSA 2048, O = Let's Encrypt, CN = R3); Issued By: Signed by ISRG Root X1:ISRG Root X1 (RSA 4096, O = Internet Security Research Group, CN = ISRG Root X1)
3.-Root certificate - Issued by and to: ISRG Root X1 (RSA 4096, O = Internet Security Research Group, CN = ISRG Root X1) , Selfsigned
In PEM format:
-----BEGIN CERTIFICATE-----
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yNDAxMTUxNjAyMTNaFw0yNDA0MTQxNjAyMTJaMBgxFjAUBgNVBAMM
DSouZnd0ZXN0LnNpdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1
3NkuEB3r0m/cIWjYBvXEg8QAcib3QjkGO2YwDRu9IwjyxTYTqiWp0F8ZYh2hM1zP
...xxxx
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
oIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
sxPnHKzhm+/b5Dt....XXXX
-----BEGIN CERTIFICATE-----
oOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5
bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y
sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ
Xmidf3LWicUGQSk+WT7dJvUsWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4
FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc
SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql
PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOd....xxx
-----END CERTIFICATE-----
Quindi, prima di utilizzare Let's Encrypt dobbiamo installare alcuni software che ci aiuteranno a creare il nostro certificato Let's Encrypt o firmare un CSR da firmare. Per ulteriori informazioni, vedere Cifriamo.
Per la firma, useremo certbot di Let's Encrypt. Per ulteriori informazioni sull'impostazione delle istruzioni, vedere Impostazione delle istruzioni. Per installarlo su Oracle Linux, vedere Let's Encrypt - Free Certificates on Oracle Linux (CertBot).
Una volta installato certbot, puoi facilmente creare un certificato x.509 firmato eseguendo il seguente comando.
sudo certbot certonly --manual --preferred-challenges=dns --email YOUR EMAIL ADDRESS --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d *.example.com --key-type rsa
Poiché si sta utilizzando un dominio con caratteri jolly (_.example.com
), certbot richiede una verifica per confermare la proprietà di _.example.com
. Per scegliere la richiesta di verifica DNS si utilizza l'opzione -preferred-challenges=dns. Durante l'esecuzione di certbot, verrà visualizzato un messaggio sulla richiesta di verifica DNS come mostrato nella seguente immagine.
Poiché stiamo utilizzando un servizio DNS OCI, creiamo solo un record txt nella zona example.com
.
Ora, certbot dovrebbe terminare il processo, consentendo di ottenere il certificato dell'utente finale, completo della catena CA completa e della chiave privata corrispondente. Questo certificato dell'utente finale (con la relativa catena completa) verrà utilizzato per il listener HTTPS del load balancer più avanti in questa esercitazione.
Task 3: configurare il load balancer OCI
Dopo aver completato l'impostazione per il servizio locale WAF OCI, il nostro prossimo obiettivo è distribuire il load balancer OCI nei livelli da 4 a 7, noto anche come load balancer flessibile OCI, per fungere da servizio rivolto al pubblico con un servizio locale WAF collegato ad esso.
-
Aprire la console OCI, fare clic su Networking e Load balancer.
-
Fare clic su Crea load balancer, immettere le informazioni seguenti e fare clic su Successivo.
-
Nome load balancer: immettere il nome del load balancer.
-
Scegliere il tipo di visibilità: selezionare il load balancer Pubblico.
-
Larghezza di banda: selezionare la forma del load balancer e altri dettagli di configurazione.
-
Scegli networking: selezionare una VCN con almeno due subnet pubbliche, una per OCI Load Balancer e un'altra per OCI Network Firewall.
-
Mostra opzioni avanzate: selezionare Utilizzare un criterio Web Application Firewall per proteggersi dagli attacchi Layer 7 e scegliere il WAF locale creato in precedenza.
-
-
Saltare la sezione Scegli backend, poiché l'aggiunta dei server backend avverrà in seguito alla creazione del load balancer e fare clic su Successivo.
-
In Configura listener, immettere le informazioni riportate di seguito e fare clic su Successivo.
Configureremo i listener del load balancer delle richieste in entrata, essenzialmente il punto di accesso principale per il load balancer in cui riceviamo tutte le connessioni dal mondo esterno. Sarà necessario impostare HTTPS per il protocollo HTTPS sicuro sulla porta predefinita
443
, che inevitabilmente richiede l'uso dei certificati X.509 (certificati SSL). Usando HTTPS ci assicureremo che tutte le connessioni siano criptate in modo sicuro.In uno scenario tipico in cui il load balancer pubblico funge da punto di accesso primario per gli utenti finali su Internet, è imperativo caricare certificati SSL firmati da un'autorità di certificazione pubblica affidabile (CA), come Digicert, Global Sign, Let's Encrypt e altri. Inoltre, questi certificati esposti a Internet devono essere rinnovati in prossimità delle relative date di scadenza per garantire che i clienti non ricevano messaggi non necessari come La connessione non è privata!! ERR_CERT_DATE_INVALID.
Detto questo, dovrai caricare sia i dettagli pubblici che quelli privati del certificato Let's Encrypt creato. Assicurarsi che entrambi i componenti siano caricati correttamente per facilitare le connessioni sicure. Assicurarsi di caricare il certificato fullchain (che include CA intermedie e/o root) nella parte pubblica.
-
La configurazione Gestisci log è facoltativa e non rientra nell'ambito di questa esercitazione. Fare clic su Sottometti.
-
Dopo un po' di tempo il load balancer verrà creato. Ora dobbiamo configurare i server backend. Poiché SSL verrà utilizzato per i server backend, è necessario in primo luogo creare almeno un certificato nella sezione dei certificati del load balancer che verrà utilizzato per impostare la connessione SSL ai server backend. Come descritto in precedenza, questo bundle di certificati può essere creato manualmente con strumenti di terze parti oppure è possibile utilizzare il servizio di gestione dei certificati OCI. Per questo tutorial, useremo lo strumento XCA.
Vai a Networking, Load balancer, Load balancer, Dettagli del load balancer e Certificati.
-
Nella sezione Certificato, selezionare Risorsa certificato come Gestisci certificato load balancer e fare clic su Aggiungi certificato.
Aggiungere il certificato CA root o CA intermedio pubblico utilizzato per firmare i certificati SSL del server backend. Come promemoria, abbiamo utilizzato certificati autofirmati con qualsiasi nome comune e SAN, e senza una data di scadenza. Non è necessario installare qui alcun certificato server, poiché il load balancer utilizzerà esclusivamente la CA root per la convalida del certificato del server backend.
-
Per creare i server backend, selezionare Set backend e fare clic su Crea set backend.
-
In Crea set backend, immettere le informazioni riportate di seguito.
- Nome set backend: immettere il nome del set backend.
- Selezionare SSL.
- Selezionare Gestisci certificato load balancer.
- Aggiungere il certificato creato al passo 7. Se si desidera assicurarsi che il load balancer controlli la firma del certificato SSL ricevuto, fare clic su Verifica certificato peer.
- Controlli stato:
- Protocollo: selezionare
HTTP
. - Porta: selezionare la porta
443
. - Intervalli e timeout: mantenere l'intervallo e il timeout predefiniti (10000 e 3000 msec).
- Per la risposta dello stato dal controllo dello stato, selezionare 200.
- Percorso URL (URI): aggiunge qualsiasi risorsa dall'URL esistente nel server Web. Ad esempio:
index.html
,mainpage.html
e così via.
- Protocollo: selezionare
Task 4: configurare OCI Network Firewall
Dopo l'impostazione di OCI Load Balancer, il nostro obiettivo è configurare un firewall di rete OCI per salvaguardare il traffico Nord-Sud. Il firewall verrà posizionato tra il load balancer appena configurato e il gateway Internet. Per procedere con l'impostazione del firewall di rete OCI, vedere Utilizzare il firewall di rete OCI per il proxy di inoltro SSL e l'ispezione in entrata utilizzando la regola di decifrazione e completare quanto segue.
-
Distribuisce il criterio firewall di rete OCI per la modalità di ispezione in entrata SSL. Per ulteriori informazioni, vedere Uso di OCI Network Firewall per la decifrazione SSL.
-
Quando si crea il segreto mappato per il profilo di decifrazione, utilizzare lo stesso certificato autofirmato (contenente sia chiavi pubbliche che private) caricato in precedenza nel listener del load balancer OCI. Si consiglia di seguire questa esercitazione per la creazione di file JSON. Vedere Create Fully Compatible JSON Templates from Custom PEM Certificates for OCI Network Firewall.
-
Distribuire il firewall di rete OCI nella subnet di pubblicazione GNFW (192.168.5.0/24) durante il collegamento del criterio firewall di rete OCI creato in precedenza. Questa azione allocherà un indirizzo IP privato dalla subnet indicata al firewall di rete OCI, che sarà necessario per l'instradamento della configurazione in un secondo momento.
Task 5: Configura instradamento OCI
OCI Network Firewall è stato distribuito, dobbiamo assicurarci che il traffico Nord-Sud lo attraversa in entrambe le direzioni. La prima cosa da fare è creare una tabella di instradamento dedicata per il gateway Internet associato alla VCN in cui si trova il firewall di rete OCI.
-
Creare la tabella di instradamento nella VCN e aggiungere una voce del tipo di destinazione come
private IP
, della destinazione come blocco CIDR, introducendo il blocco CIDR della subnet del load balancer, per questa esercitazione192.168.6.0/24
e della destinazione come IP privato assegnato al firewall di rete OCI distribuito nel task 6. -
Associare la tabella di instradamento al gateway Internet, fare clic su tre punti e su Associa tabella di instradamento, quindi selezionare la tabella di instradamento.
-
Una volta associata a questa tabella di instradamento al gateway Internet, tutto il traffico diretto verso il load balancer pubblico
192.168.6.0/24
verrà inizialmente reindirizzato all'IP privato192.168.5.78
, dove risiede il firewall di rete OCI.Dall'IP privato
192.168.5.78
del firewall di rete OCI, dopo l'ispezione dei pacchetti da OCI Network Firewall, il pacchetto manterrà il percorso verso OCI Load Balancer. Da lì, vengono indirizzati alla destinazione finale tra i server backend selezionati, determinata dalla configurazione di instradamento del load balancer.Ora, è essenziale garantire che i pacchetti che ritornano agli utenti Internet seguano lo stesso percorso in ordine inverso, attraversando il firewall di rete OCI per l'ispezione delle risposte. È necessario creare una tabella di instradamento per la subnet pubblica del load balancer per instradare le risposte dai server backend tramite l'IP privato
192.168.5.78
del firewall di rete OCI, come mostrato nell'immagine riportata di seguito.
Dalla subnet del firewall di rete OCI, dobbiamo assicurarci che le risposte vengano instradate al gateway Internet, aggiungendo un instradamento 0.0.0.0/0
al gateway Internet.
Dopo aver raggiunto il gateway Internet, i pacchetti vengono reindirizzati alla loro origine. Come test, passare a https://www.test.com
.
Collegamenti correlati
Conferme
- Autori - Luis Catalán Hernández (esperto di OCI Cloud Network e Multi Cloud), Sachin Sharma (esperto di OCI Cloud Network)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
Secure Your Applications using OCI Network Firewall and OCI WAF Regional with Let's Encrypt Certificates
G17247-01
October 2024