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.
Aggiunta della sicurezza all'architettura del sistema dei nomi di dominio mediante il firewall pfSense
Introduzione
OraStage è un'azienda leader nel settore energetico, specializzata in soluzioni di energia rinnovabile e tecnologie energetiche innovative, l'azienda ha annunciato una decisione strategica per migrare i propri carichi di lavoro su Oracle Cloud Infrastructure (OCI) per migliorare prestazioni, scalabilità e sicurezza.
Tenendo conto delle esigenze e delle condizioni specifiche che OraStage ha delineato, l'azienda richiede una soluzione ibrida DNS (Domain Name System) nel cloud, e tramite ibrido qui significa utilizzare il proprio sistema DNS Berkeley Internet Name Domain versione 9 (BIND9) in aggiunta al servizio DNS OCI, dove l'architettura finale che si sta cercando di creare è mostrata nella seguente immagine.
OraStage Requisiti DNS:
-
L'azienda ha diversi domini interni e sottodomini, tutti devono essere risolti dal proprio DNS BIND9 in OCI, dove OraStage gestirà tutte le zone e i record correlati. Uno di questi domini è
orastage.com
che useremo in questo tutorial. Pertanto, qualsiasi query aorastage.com
deve essere inoltrata al proprio BIND9. -
In alcuni casi devono ancora risolvere i domini nativi OCI (
oraclevcn.com
,oraclecloud.com
e così via) e questa operazione verrà eseguita utilizzando i componenti DNS privati OCI: viste private, endpoint e regole di inoltro e endpoint di ascolto. -
Tutte le query devono essere ispezionate da un'istanza del firewall pfSense.
-
Per evitare un singolo punto di errore, OraStage prevede di utilizzare un altro server DNS e sfruttare il load balancer OCI per distribuire le query tra il DNS primario e quello secondario.
Questa serie di esercitazioni ti guiderà passo dopo passo per raggiungere i requisiti descritti sopra, costruendo l'intera soluzione da zero. È possibile accedere facilmente a ciascun tutorial dall'elenco seguente:
-
Esercitazione 1: Configura BIND9 DNS in OCI. Scopri come installare e configurare BIND9 su un'istanza di computazione, rendendolo il server DNS locale per due ambienti di test in OCI. Questi ambienti saranno costituiti da server "Frontend" e "Backend", ciascuno ospitato in una rete spoke separata. Il server BIND9 gestirà tutte le query DNS dirette a
orastage.com
. -
Esercitazione 2: Implementa High Availability su BIND9 scenario DNS in OCI. Questa esercitazione si concentra sull'aggiunta di un server BIND9 secondario e sulla configurazione di un load balancer di rete (NLB) per distribuire il traffico DNS tra entrambi i server. Le query DNS su
orastage.com
verranno indirizzate all'IP NLB, che bilancierà il carico tra i server BIND9 primari e secondari. Se un server non è più disponibile, la risoluzione DNS continuerà senza interruzione del servizio. -
Esercitazione 3: Utilizza DNS OCI per risolvere i domini nativi. Concentrandosi solo su uno specifico caso d'uso, in cui utilizziamo componenti DNS nativi in OCI, nel caso in cui sia necessario risolvere domini nativi come
oraclevcn.com
eoraclecloud.com
. BIND9 DNS non viene utilizzato in questa esercitazione. -
Esercitazione 4: aggiunta della sicurezza all'architettura DNS mediante il firewall pfSense. Concentrarsi sull'installazione di un firewall pfSense nella VCN hub in OCI ed eseguire la configurazione di rete necessaria per instradare tutto il traffico East-West, incluse le query DNS (eseguite nelle esercitazioni precedenti) attraverso il firewall da ispezionare.
Panoramica
In questo tutorial, esploreremo come migliorare la sicurezza della nostra architettura DNS sfruttando pfSense, una piattaforma firewall e router open source.
Il DNS è un componente fondamentale dell'infrastruttura di rete, ma è spesso vulnerabile ad attacchi come lo spoofing DNS, l'avvelenamento della cache e la negazione del servizio distribuita (DDoS). Integrando pfSense con le misure di sicurezza DNS, puoi aggiungere un solido livello di protezione, assicurando che il traffico DNS della tua rete sia sicuro e resiliente. Pertanto, si consiglia di configurare il firewall in modo da filtrare le query DNS, bloccare i domini dannosi e rafforzare l'integrità generale del DNS.
Qual è il vantaggio aggiuntivo di posizionare un firewall pfSense davanti a un server DNS?
-
Filtro del traffico e controllo dell'accesso
-
Il firewall può limitare l'accesso al server DNS, consentendo solo agli indirizzi IP autorizzati o a reti specifiche di inviare query DNS. Ciò impedisce a utenti o sistemi non autorizzati di eseguire query o sfruttare il server.
-
Può applicare i criteri di controllo dell'accesso per garantire che solo il traffico DNS legittimo raggiunga il server, bloccando il traffico potenzialmente dannoso o indesiderato.
-
-
Protezione da attacchi basati su DNS
-
Prevenzione degli attacchi di amplificazione/riflessione DNS: i firewall possono rilevare e mitigare gli attacchi di amplificazione DNS, in cui gli aggressori inviano richieste falsificate per sopraffare il server. Limitando o limitando il traffico di query DNS, il firewall riduce al minimo l'impatto di tali attacchi.
-
Prevenzione dello spoofing DNS: i firewall possono bloccare le risposte DNS non autorizzate o dannose, utilizzate nello spoofing DNS o negli attacchi di avvelenamento per indirizzare gli utenti a siti Web fraudolenti.
-
DDoS Mitigazione: i firewall forniscono meccanismi di difesa dagli attacchi Distributed Denial of Service (DDoS) monitorando e limitando volumi di traffico DNS anomali, impedendo agli aggressori di sovraccaricare l'infrastruttura DNS.
-
-
Ispezione e registrazione delle query DNS
- Il firewall può ispezionare le query DNS per individuare pattern sospetti, ad esempio query per domini dannosi noti. Può bloccare queste query prima che raggiungano il server DNS, contribuendo a impedire l'accesso a siti pericolosi.
- I log delle query DNS possono essere registrati a scopo di auditing, consentendo di rilevare comportamenti anomali o indagare su potenziali incidenti di sicurezza in modo più efficace.
-
Prevenzione del tunneling DNS
- Il tunneling DNS è una tecnica utilizzata dagli aggressori per estrarre i dati o comunicare con i sistemi compromessi tramite query DNS. Un firewall può rilevare e bloccare le attività di tunneling DNS, chiudendo un vettore significativo di perdita di dati.
-
Limitazione di frequenza e protezione delle risorse
- Il firewall può limitare il numero di richieste DNS provenienti da un'unica fonte (limitazione della velocità), impedendo il sovraccarico del server DNS. Ciò consente di proteggersi da attacchi di tipo brute force o query DNS eccessivi che potrebbero compromettere le prestazioni o la disponibilità del server.
-
Segmentazione di rete
- Posizionando il server DNS dietro un firewall, è possibile isolarlo all'interno di un segmento di rete protetto (ad esempio, DMZ), assicurando che, anche se il server DNS è compromesso, l'accesso dell'attaccante al resto della rete è limitato.
-
Supporto per protocolli DNS sicuri
- I firewall possono applicare protocolli DNS sicuri come DNS over HTTPS (DoH) o DNS over TLS (DoT), garantendo la cifratura del traffico DNS. Ciò impedisce di intercettare o manomettere query e risposte DNS, proteggendo gli utenti dagli attacchi man-in-the-middle.
-
Riduzione della superficie di attacco
- Nascondendo l'indirizzo IP reale del server DNS dietro il firewall, si riduce la sua esposizione a potenziali aggressori. Il firewall funge da intermediario, presentando un livello di difesa tra l'Internet pubblico e la tua infrastruttura DNS.
Nel complesso, posizionare un firewall davanti al server DNS migliora la sicurezza, le prestazioni e la resilienza del server impedendo l'accesso non autorizzato, rilevando il traffico dannoso e offrendo una solida protezione contro una vasta gamma di minacce correlate al DNS.
Obiettivi
-
L'obiettivo principale di questa esercitazione è quello di instradare tutto il traffico Est-Ovest, incluse le query DNS, tramite un firewall pfSense da ispezionare. Inoltre, monitoreremo alcune richieste utilizzando la funzione di acquisizione dei pacchetti del firewall.
-
Distribuiremo anche un jump server Windows pubblico, che fungerà da access point per la gestione di altre istanze private all'interno delle VCN OCI, in particolare il firewall pfSense.
-
Alla fine di questo tutorial, il nostro obiettivo è quello di stabilire un modello di architettura di rete hub & spoke. Questa configurazione migliorerà la sicurezza, semplificherà la gestione della rete per OraStage centralizzando il controllo del routing tra le reti attraverso l'hub e aumenterà la scalabilità, consentendo all'azienda di aggiungere nuove reti all'hub esistente in qualsiasi momento.
Nota:
Questo tutorial non copre le capacità di protezione contro gli attacchi specifici DNS. Invece, il nostro obiettivo è quello di distribuire il firewall pfSense e integrarlo nell'ambiente esistente per instradare tutto il traffico attraverso di esso (ad esempio, FE-VM a BE-VM, FE-VM a DNS-NLB e così via). Verrà inoltre illustrato come configurare le regole di controllo dell'accesso di base sul firewall.
Puoi comunque seguire questo tutorial anche se hai già un altro tipo di soluzione firewall in atto come OCI Network Firewall o un firewall di rete di marketplace come Palo Alto o FortiGate, tra gli altri.
Architettura finale
Prerequisiti
-
Accesso a una tenancy OCI e autorizzazioni per gestire i servizi di rete, computazione e storage degli oggetti necessari.
-
Comprensione di base dell'instradamento e della sicurezza della rete OCI e relative funzionalità: rete cloud virtuale (VCN), tabella di instradamento, gateway di instradamento dinamico (DRG), lista di sicurezza, bastion e load balancer di rete OCI.
-
Conoscenza di base del DNS in generale.
-
Assicurarsi di completare le seguenti esercitazioni:
-
È necessaria una VCN. Assicurarsi di crearla con la procedura guidata in modo da ottenere tutti i componenti predefiniti necessari all'interno della VCN e collegarli al DRG. Per ulteriori informazioni, vedere Task 1.3: collegare VCN al DRG.
- VCN hub: la subnet pubblica ospiterà il jump server e la subnet privata ospiterà il firewall pfSense.
-
In base ai prerequisiti di cui sopra, si dovrebbe aver già costruito la seguente architettura.
Task 1: Impostazione dei componenti della rete di instradamento e sicurezza
Task 1.1: Creare una rete cloud virtuale (VCN hub)
Assicurarsi di disporre della VCN hub (10.4.0.0/16
) già creata, contenente Hub-Private-Subnet (10.4.0.0/24
) e Hub-Public-Subnet (10.4.1.0/24
).
-
Clicca sul menu hamburger (≡) dall'angolo in alto a sinistra.
- Fare clic su Networking.
- Fare clic su Reti cloud virtuali.
-
Possiamo vedere la VCN in posizione, come detto, assicurarci di crearla utilizzando la procedura guidata, in modo da ottenere i seguenti componenti per impostazione predefinita: tre gateway, una subnet pubblica con una tabella di instradamento e una lista di sicurezza collegata ad essa, e una subnet privata con una tabella di instradamento e una lista di sicurezza collegata ad essa.
Nota:
D'ora in poi, all'interno di alcune parti delle tabelle di instradamento e della configurazione degli elenchi di sicurezza, verranno aggregate tutte le reti: DNS-VCN (
10.0.0.0/16
), Frontend-VCN (10.1.0.0/16
), Backend-VCN(10.2.0.0/16
), LSN-VCN (10.3.0.0/16
), Hub-VCN (10.4.0.0/16
), in un solo blocco di indirizzi (10.0.0.0/8
), per una gestione più semplice in quanto ridurrà il numero di regole.In alcuni scenari, all'interno di una topologia hub e spoke, le reti spoke potrebbero dover ottenere l'accesso a Internet dalla rete hub, in modo che il traffico passi attraverso il firewall per una maggiore sicurezza, ecco perché a livello di subnet spoke instraderemo tutto il traffico verso il DRG. Tuttavia, in questo tutorial, non stiamo dimostrando gli scenari di accesso a Internet.
Task 1.2: Configurare l'instradamento e la sicurezza per l'hub-VCN
-
Questo deve essere fatto su ciascuna delle due sottoreti. Passare alla pagina VCN e fare clic su VCN hub.
-
Si inizierà con la subnet pubblica, fare clic su di essa.
-
Fare clic su Tabella di instradamento, che è una tabella di instradamento assegnata.
-
Aggiungere la regola seguente.
0.0.0.0/0
- Gateway Internet: per avere accesso bidirezionale a Internet. Abbiamo bisogno che acceda al server jump con il suo indirizzo IP pubblico.
-
Facciamo la sicurezza per la subnet pubblica. Andare alla pagina Dettagli subnet e fare clic sulla lista di sicurezza assegnata.
-
Consenti traffico in entrata: traffico RDP (TCP/porta 3389) da qualsiasi luogo.
-
Consentire tutto il traffico in uscita.
-
Tornare alla pagina VCN e fare clic sulla subnet privata.
-
Fare clic su Tabella di instradamento, che è una tabella di instradamento assegnata.
-
Aggiungere le seguenti regole.
-
0.0.0.0/0
- Gateway NAT: per avere accesso unidirezionale a Internet, installare pacchetti o patch, se necessario. Non è un componente critico da avere in questo tutorial, ma è bene averlo se pfSense ha bisogno di accesso a Internet. -
10.0.0.0/8
- DRG: instrada il traffico destinato a VCN frontend, VCN backend, DNS-VCN o VCN LSN al DRG, come quando il firewall ha finito di ispezionare il traffico, inoltra il traffico consentito, che utilizzerà questa tabella di instradamento e la invierà al DRG.
-
-
Facciamo la sicurezza per la subnet privata. Andare alla pagina Dettagli subnet e fare clic sulla lista di sicurezza assegnata.
-
Consenti traffico in entrata: tutti i tipi di traffico provenienti da VCN frontend, VCN backend, DNS-VCN e LSN-VCN.
-
Consentire tutto il traffico in uscita.
Task 1.3: Configura instradamento e sicurezza per VCN LSN
-
Questa operazione deve essere eseguita a livello di subnet. Passare alla pagina VCN e fare clic su LSN-VCN.
-
Fare clic sulla subnet privata.
-
Fare clic su Tabella di instradamento, che è una tabella di instradamento assegnata.
-
Elimineremo tutte le regole.
-
Sostituiremo tutte le seguenti regole con una sola regola.
0.0.0.0/0
- DRG: instrada tutto il traffico al DRG, che include il traffico che va a una qualsiasi delle altre VCN e il traffico che va a Internet.
-
Facciamo la sicurezza ora. Andare alla pagina Dettagli subnet e fare clic sulla lista di sicurezza assegnata.
-
Elimineremo tutte le regole di entrata che consentono il traffico DNS.
-
Sostituiremo le seguenti regole solo con queste due regole.
Nota: non modificare nulla nelle regole di uscita.
Task 1.4: Configurare l'instradamento e la sicurezza per la rete DNS-VCN
-
Questa operazione deve essere eseguita a livello di subnet. Passare alla pagina VCN e fare clic su DNS-VCN.
-
Fare clic sulla subnet privata.
-
Fare clic su Tabella di instradamento, che è una tabella di instradamento assegnata.
-
Elimineremo tutte le seguenti regole.
-
Sostituiremo le seguenti regole con una sola regola.
0.0.0.0/0
- DRG: instrada tutto il traffico al DRG, che include il traffico che va a una qualsiasi delle altre VCN e il traffico che va a Internet.
-
Facciamo la sicurezza ora. Andare alla pagina Dettagli subnet e fare clic sulla lista di sicurezza assegnata.
-
Elimineremo tutte le regole di entrata che consentono il traffico DNS.
-
Sostituiremo le seguenti regole solo con queste due regole.
Nota: non modificare nulla nelle regole di uscita.
Task 1.5: Configura instradamento e sicurezza per VCN frontend
-
Questa operazione deve essere eseguita a livello di subnet. Passare alla pagina VCN e fare clic su VCN frontend.
-
Fare clic sulla subnet privata.
-
Fare clic su Tabella di instradamento, che è una tabella di instradamento assegnata.
-
Elimineremo tutte le seguenti regole.
-
Sostituiremo le seguenti regole con queste due regole.
-
0.0.0.0/0
- DRG: instrada tutto il traffico al DRG, che include il traffico che va a una qualsiasi delle altre VCN e il traffico che va a Internet. -
Tutti i servizi LIN in Oracle Services Network - Gateway di servizi: per fornire l'accesso ai servizi Oracle nell'area di Milano, questo è necessario per mantenere la connettività con il servizio Bastion OCI, se non lo fai disporre di una regola qui per accedere a Internet o ai servizi Oracle, quindi si verificherà un errore con il plugin bastion in cui non sarà possibile utilizzare bastion per accedere a FE-VM.
Nota: non modificare nulla nelle regole di entrata e uscita.
-
Task 1.6: Configurare l'instradamento e la sicurezza per la rete VCN backend
-
Questa operazione deve essere eseguita a livello di subnet. Passare alla pagina VCN e fare clic su VCN backend.
-
Fare clic sulla subnet privata.
-
Fare clic su Tabella di instradamento, che è una tabella di instradamento assegnata.
-
Elimineremo tutte le seguenti regole.
-
Sostituiremo le seguenti regole con queste due regole.
-
0.0.0.0/0
- DRG: instrada tutto il traffico al DRG, che include il traffico che va a una qualsiasi delle altre VCN e il traffico che va a Internet. -
Tutti i servizi LIN in Oracle Services Network - Gateway di servizi: per fornire l'accesso ai servizi Oracle nell'area di Milano, questo è necessario per mantenere la connettività con il servizio Bastion OCI, se non lo fai disporre di una regola qui per accedere a Internet o ai servizi Oracle, quindi si verificherà un errore con il plugin bastion in cui non sarà possibile utilizzare bastion per accedere a BE-VM.
-
Nota: non modificare nulla nelle regole di entrata e uscita.
Task 1.7: Configura instradamento VCN spoke su DRG
Lo scopo di questo task è quello di assicurarsi che tutto il traffico inviato da una qualsiasi delle reti (DNS/LSN/Frontend/Backend) e ricevuto sul DRG, venga instradato verso l'hub, dove verrà ispezionato dal firewall.
-
Clicca sul menu hamburger (≡) dall'angolo in alto a sinistra.
- Fare clic su Networking.
- Fare clic su Gateway di instradamento dinamico.
-
Fare clic su DRG.
- Fare clic su Collegamenti VCN. Un collegamento VCN rappresenta un collegamento che connette la VCN al gateway DRG per abilitare il traffico di rete tra la VCN e le reti esterne o altre VCN.
- Noterete che abbiamo tutti i VCN allegati.
- Fare clic su Tabella di instradamento DRG.
- Fare clic su Crea tabella di instradamento DRG.
- Immettere un nome per la tabella di instradamento.
- Aggiungere una regola di instradamento: selezionare
0.0.0.0/0
e Collegamento VCN hub in cui vengono instradati tutti gli elementi al collegamento hub. - Fare clic su Crea tabella di instradamento DRG.
- Creazione della tabella di instradamento riuscita.
-
Assegnare la tabella di instradamento a tutti i collegamenti della VCN spoke, a partire dal collegamento della VCN backend e fare clic su di esso.
- Fare clic su Modifica.
- Fare clic su Mostra opzioni avanzate.
- Fare clic su Tabella di instradamento del gateway DRG.
- Selezionare Spoke-DRG-RT.
- Fare clic su Salva modifiche.
- Assegnazione della tabella di instradamento DRG al collegamento della VCN backend riuscita. Ora tutto il traffico in uscita dalla VCN backend al DRG verrà instradato alla VCN hub.
-
Ripetere i passaggi da 1 a 6 sul resto degli allegati.
Task 2: eseguire il provisioning di un Windows Jump Server
-
In questo task verrà eseguito il provisioning di una nuova istanza di computazione Windows e la utilizzeremo per connettersi ad altre risorse private. Gli usi previsti per esso includono:
-
(Obbligatorio) Per accedere e gestire il firewall pfSense tramite il browser (HTTP/S).
-
(Facoltativo) Per accedere all'istanza FE-VM ed eseguire il test. È possibile utilizzare il servizio OCI Bastion oppure utilizzare questo server come nuovo jump box.
-
-
Clicca sul menu hamburger (≡) dall'angolo in alto a sinistra.
- Fare clic su Compute.
- Fare clic su Istanze.
-
Fare clic su Crea istanza.
-
Immettere un nome per l'istanza.
- Fare clic su Modifica immagine.
- Selezionare Windows.
- Selezionare l'immagine di Windows Server 2016 Standard.
- Selezionare per accettare le condizioni d'uso.
- Fare clic su Seleziona immagine.
- Il sistema operativo dell'istanza è stato modificato in Windows Server 2016 Standard.
-
Nella sezione Informazioni sulla VNIC primaria, immettere le informazioni riportate di seguito.
- Selezionare VCN hub.
- Selezionare la subnet pubblica in modo che all'istanza venga assegnato un indirizzo IP pubblico.
- Assegnare all'istanza un indirizzo IP privato
10.4.1.5
.
- Quando si crea il computer Windows, viene visualizzata una nota che indica che una password iniziale verrà generata dopo la creazione dell'istanza. La differenza sta nel sistema operativo Linux, le chiavi SSH vengono utilizzate per l'autenticazione.
- Fare clic su Crea.
-
Creazione dell'istanza di computazione Jump-Server riuscita. Prendere nota dei dettagli riportati di seguito. Tali dettagli verranno utilizzati quando si accede all'istanza.
- Indirizzo IP pubblico.
- Nome utente.
- Password iniziale.
-
Per accedere al server di salto dal personal computer Windows, aprire Connessione desktop remoto, immettere l'IP pubblico dell'istanza e fare clic su Connetti.
-
Fare clic su Sì.
-
Immettere la password iniziale fornita nella pagina dell'istanza e fare clic su Avanti.
-
È necessario modificare la password prima di eseguire il login e fare clic su OK.
-
Immettere due volte la nuova password.
-
Modifica della password riuscita. Per continuare, fare clic su OK.
-
Immettere la nuova password e fare clic su Avanti.
-
Connessione al server di salto riuscita.
-
L'aspetto dell'architettura deve essere quello illustrato nella seguente immagine.
Task 3: installare e configurare il firewall pfSense
Nota: se si dispone già di un altro tipo di soluzione firewall, è possibile saltare il task da 3.1 a 3.7 e procedere dalla versione 3.8.
Task 3.1: Scaricare l'immagine pfSense
-
Scarica l'immagine pfSense dal sito Netgate. Assicurarsi di scaricare la versione
memstick-serial
. Il nome del file dell'immagine che stiamo utilizzando èpfSense-CE-memstick-serial-2.7.2-RELEASE-amd64.img.gz
. Per ulteriori informazioni, vedere Netgate. -
Il file installato sarà in formato
.gz
. Dopo averlo estratto, noterai che il nome del file immagine èpfSense-CE-memstick-serial-2.7.2-RELEASE-amd64.img
.
Task 3.2: creare un bucket di storage degli oggetti OCI
In questo task verrà creato un bucket di storage degli oggetti OCI che verrà utilizzato per caricare l'immagine pfSense e utilizzare questa immagine oggetto per creare un'immagine personalizzata in OCI.
-
Clicca sul menu hamburger (≡) dall'angolo in alto a sinistra.
- Fare clic su Storage.
- Fare clic su Bucket.
- Fare clic su Crea bucket.
- Immettere un valore in Nome gruppo.
- Selezionare il livello di storage Standard come Livello di storage predefinito.
- Fare clic su Crea.
-
Notare che il bucket di storage è stato creato.
Task 3.3: caricare l'immagine pfSense nel bucket di storage
-
Andare alla pagina Dettagli bucket.
- Nella pagina del bucket, scorrere verso il basso.
- Fare clic su Carica.
-
Nella pagina Carica oggetti, immettere le informazioni riportate di seguito.
- Fare clic su seleziona file e selezionare l'immagine pfSense.
- Fare clic su Carica.
-
Mentre l'immagine pfSense viene caricata nel bucket di storage, puoi monitorare lo stato di avanzamento.
- Quando l'immagine pfSense viene caricata completamente, lo stato di avanzamento sarà Fine.
- Fare clic su Chiudi.
Task 3.4: Creare un'immagine personalizzata
È stata caricata l'immagine pfSense. Ora dobbiamo creare un'immagine personalizzata OCI da essa. Questa immagine personalizzata verrà utilizzata per creare l'istanza del firewall pfSense.
-
Clicca sul menu hamburger (≡) dall'angolo in alto a sinistra.
- Fare clic su Compute.
- Fare clic su Immagini personalizzate.
-
Fare clic su Importa immagine.
-
Nella pagina Importa immagine, immettere le informazioni riportate di seguito.
- Immettere un nome.
- Selezionare Generic Linux come sistema operativo.
- Selezionare Importa da un bucket di storage degli oggetti.
- Selezionare il bucket di storage in cui è stata caricata l'immagine.
- In Nome oggetto, selezionare l'oggetto caricato nel bucket (immagine pfSense).
- Selezionare VMDK come Tipo di immagine.
- Selezionare Modalità pseudo-virtualizzata.
- Fare clic su Importa immagine.
-
L'immagine personalizzata è IMPORTING.
-
Dopo alcuni minuti, lo stato è DISPONIBILE
Task 3.5: creare un'istanza con l'immagine pfSense personalizzata
-
Clicca sul menu hamburger (≡) dall'angolo in alto a sinistra.
- Fare clic su Compute.
- Fare clic su Istanze.
-
Fare clic su Crea istanza.
-
Immettere un nome per l'istanza del firewall.
- Fare clic su Modifica immagine.
- Selezionare Immagini personali.
- Fare clic su Immagini personalizzate.
- Selezionare l'immagine personalizzata creata nel task 3.4.
- Fare clic su Seleziona immagine.
- Si noti che l'immagine pfSense è selezionata.
-
Nella sezione Informazioni sulla VNIC primaria, immettere le informazioni riportate di seguito.
- Selezionare VCN hub.
- Selezionare la subnet privata.
- Assegnare all'istanza un indirizzo IP privato
10.4.0.5
.
- Selezionare Nessuna chiave SSH.
- Fare clic su Crea.
-
Creazione dell'istanza di computazione firewall pfSense riuscita.
Task 3.6: installare pfSense nell'istanza
È necessario eseguire l'installazione iniziale e la configurazione del firewall pfSense. L'istanza in esecuzione è già presente.
-
Per installare il software firewall pfSense, è necessario creare una connessione alla console. Nella pagina Istanza firewall, scorrere verso il basso.
- Fare clic su Connessione alla console.
- Fare clic su Avvia connessione Cloud Shell.
-
Verranno visualizzati alcuni messaggi di avvio. Premere INVIO.
-
Leggere i messaggi sul copyright e selezionare Accept, quindi premere ENTER.
- Selezionare Install pfSense.
- Selezionare OK e fare clic su ENTER.
- Selezionare Impostazione manuale disco (esperti).
- Selezionare OK e fare clic su ENTER.
- Selezionare da0 - 47 GB MBR.
- Selezionare Crea e premere INVIO.
- In Tipo, immettere freebsd.
- In Dimensione, immettere 46 GB.
- Immettere il punto di attivazione.
- Selezionare OK e fare clic su ENTER.
- In da0s4, selezionare 46 GB di BSD.
- Selezionare Crea e premere INVIO.
- In Type, immettere freebsd-ufs.
- In Dimensione, immettere 40 GB.
- In Punto di attivazione, immettere /.
- Selezionare OK e fare clic su ENTER.
- Si noti che il punto di attivazione viene creato per
/
. - In da0s4, immettere 46 GB di BSD.
- Selezionare Crea e premere INVIO.
- In Tipo, immettere freebsd-swap.
- In Dimensione, immettere 5670 MB.
- Immettere il punto di attivazione.
- Selezionare OK e fare clic su ENTER.
- Si noti che il punto di attivazione viene creato per lo swap.
- Selezionare Fine e premere INVIO.
-
Selezionare Commit e premere ENTER.
-
Selezionare Reboot e premere ENTER.
-
Dopo il primo reboot si otterranno alcune opzioni di configurazione per configurare l'interfaccia WAN. Per Impostare le VLAN, immettere n e premere INVIO.
-
Per Immettere il nome dell'interfaccia WAN o 'a' per il rilevamento automatico (vtnet0 o a), immettere
vtnet0
. -
In questa configurazione viene creato un firewall con una sola interfaccia, pertanto non verrà configurata l'interfaccia LAN. Pertanto, per Immettere il nome dell'interfaccia LAN o 'a' per il rilevamento automatico, premere INVIO per ignorare questa impostazione dell'interfaccia.
- Verificare il nome dell'interfaccia WAN.
- Per Continuare, immettere y e premere ENTER.
-
Si noti alcuni messaggi e la configurazione verrà eseguita. Il sistema operativo pfSense eseguirà un avvio completo.
- L'indirizzo IP verrà configurato utilizzando DHCP.
- Per eseguire ulteriori operazioni di configurazione di base, vedere il menu pfSense.
-
L'aspetto dell'architettura deve essere quello illustrato nella seguente immagine.
Task 3.7: connettersi all'interfaccia utente grafica Web pfSense (GUI) e completare l'impostazione iniziale
L'installazione è terminata, ora è necessario connettersi alla GUI Web del firewall pfSense. Prima di tutto, tuttavia, assicurati di consentire il traffico HTTP/HTTPS proveniente da Hub-Public-Subnet, poiché ci connetteremo alla GUI del firewall dal Jump-Server ivi posizionato. Abbiamo già consentito a tutto il traffico proveniente da tutte le reti VCN (10.0.0.0/8
) di passare attraverso il firewall nel Task 1.2.
-
Immettere l'indirizzo IP del firewall pfSense.
- Nell'istanza di Windows, aprire un browser e passare all'IP del firewall pfSense utilizzando HTTPS.
- Fare clic su Avanzate.
-
Fare clic su Procedi.
- Immettere il nome utente predefinito come
admin
. - Immettere la password predefinita come
pfsense
. - Fare clic su Accedi.
- Immettere il nome utente predefinito come
-
Fare clic su Avanti.
-
Fare clic su Avanti.
- Immettere un nome host.
- Immettere un nome di dominio o mantenere il nome di dominio predefinito.
- Scorrere verso il basso e fare clic su Successivo.
-
Fare clic su Avanti.
Nota: il modo in cui funziona in questo caso particolare è che Oracle riserverà l'IP statico nel server DHCP e assegnerà questo indirizzo al firewall pfSense. Quindi il firewall pfSense otterrà sempre lo stesso indirizzo IP, ma dal punto di vista OCI, questo sarà un IP statico e dal punto di vista pfSense sarà un indirizzo DHCP.
- Nella sezione Configure WAN interface selezionare DHCP.
- Scorrere verso il basso e mantenere tutte le altre opzioni come predefinite, quindi fare clic su Avanti.
- Immettere una nuova password amministratore.
- Immettere di nuovo la password amministratore.
- Fare clic su Avanti.
-
Fare clic su Ricarica.
-
Si noti che la configurazione del firewall pfSense è in fase di ricaricamento.
-
Scorrere verso il basso e fare clic su Fine.
-
Fare clic su Accetta.
-
Fare clic su Chiudi.
Se il firewall pfSense non è in grado di raggiungere Internet, il caricamento della pagina del dashboard richiederà più tempo. Ma questo può essere risolto consentendo a pfSense di accedere a Internet utilizzando il gateway NAT OCI, che abbiamo già fatto nel task 1.2. In questa immagine, si noti che pfSense è installato e il dashboard è visibile.
Task 3.8: instradare il traffico nel firewall pfSense
Nel Task 1, abbiamo configurato il routing sulle nostre VCN e DRG, in modo da forzare tutto il traffico inviato dagli spoke, per entrare nella rete hub (freccia verde). Questo task indica come instradare tutto il traffico nel firewall pfSense (freccia rossa).
Per eseguire questa operazione, creare una tabella di instradamento in entrata (tabella di instradamento del transito). In pratica si tratta di una tabella di instradamento che viene creata a livello di VCN, ma che viene assegnata nel gateway DRG, in modo che il traffico che entra nell'hub venga instradato in una destinazione specifica a scelta (firewall pfSense nel nostro scenario).
-
Passare all'istanza del firewall pfSense.
- Fare clic su Compute.
- Fare clic su Istanze.
-
Fare clic su Firewall.
-
scorrere in Basso.
- Fare clic su VNIC collegate.
- Fare clic sui tre punti.
- Fare clic su Modifica VNIC.
- Selezionare Salta controllo origine/destinazione. Se questo passo non è stato eseguito, si verificherà un problema durante la creazione della regola di instradamento.
- Fare clic su Salva modifiche.
-
Passare alla pagina VCN e immettere VCN hub.
-
scorrere in Basso.
- Fare clic su Tabelle di instradamento.
- Fare clic su Crea tabella di instradamento.
- Immettere un nome per la tabella di instradamento.
- Fare clic su Un'altra regola di instradamento.
- Selezionare IP privato come Tipo di destinazione.
- Immettere
0.0.0.0/0
come Blocco CIDR di destinazione. - Immettere l'IP privato di pfSense.
- Fare clic su Crea.
- Creazione della tabella di instradamento riuscita. Ora è necessario assegnarla.
-
Passare alla pagina DRG e fare clic su Allegato VCN hub.
-
Fare clic su Modifica.
-
Fare clic su Mostra opzioni avanzate.
- Fare clic su Tabella di instradamento VCN.
- In Associa tabella di instradamento, selezionare Seleziona esistente.
- Selezionare la tabella di instradamento creata.
- Fare clic su Salva modifiche.
-
Assegnazione della tabella di instradamento VCN riuscita.
Nota: nel collegamento DRG è possibile assegnare due tipi di tabelle di instradamento:
- Tabella di instradamento DRG: quella creata per i collegamenti spoke nel task 1.7. Questa tabella verrà controllata ogni volta che viene inviato il fuori del traffico del collegamento VCN.
- Tabella di instradamento VCN: quella creata in questo task 3.8. Questa tabella verrà controllata alla ricezione del traffico e alla successiva integrazione del collegamento VCN.
-
In questa fase, abbiamo completato tutte le configurazioni relative a OCI, assicurandoci che il traffico tra due risorse qualsiasi in questa architettura venga instradato tramite pfSense per prima cosa per l'ispezione. Ora, cosa succede se abbiamo eseguito un test rapido eseguendo il ping di BE-VM da FE-VM, dovrebbe funzionare?
Come hai osservato, pfSense bloccherà tutto il traffico in arrivo fino a quando non lo permetterai esplicitamente, cosa che faremo nell'imminente attività.
Task 3.9: Consenti al traffico di passare attraverso pfSense
In questo tutorial, utilizzeremo due funzionalità del pfSense.
-
Regole di accesso: consente o nega il traffico in base a protocollo, numero di porta, indirizzo di origine e indirizzo di destinazione.
-
Acquisizione pacchetti: applicare un filtro basato su indirizzi IP, tipo di pacchetto, numero di porta e così via per analizzare il traffico in entrata e in uscita a livello di pacchetto che verrà ispezionato dal firewall.
Tieni presente che puoi fare molto di più con pfSense, ma il nostro obiettivo è quello di installare pfSense in OCI e integrarlo nella nostra architettura di rete esistente con l'implementazione dell'instradamento e della sicurezza adeguati in OCI.
-
In questo compito, consentiremo il traffico che sarà necessario in alcuni dei nostri scenari. Poiché la concentrazione di questa serie di esercitazioni è su DNS, le regole che aggiungeremo si riferiranno in modo specifico al traffico DNS (basato sia su Nativo che su BIND9). A questo punto, passare all'interfaccia di gestione Web pfSense.
- Fare clic su Firewall.
- Fare clic su Regole.
-
Notare le regole predefinite del firewall pfSense.
Prima regola (facoltativa):
-
Dettagli connessione.
- Origine: Jump-Server (
10.4.1.5
). - Destinazione: FE-VM (
10.1.0.5
). - Protocollo: SSH.
- Numero porta:
22
. - Azione: passare.
- Giustificazione: vogliamo accedere a FE-VM dal Jump-Server. Questa è una regola facoltativa, in quanto è comunque possibile utilizzare il bastion per connettersi.
- Origine: Jump-Server (
-
Fare clic su Aggiungi.
- Selezionare Azione per Passa.
- Selezionare Protocollo per TCP.
- Immettere l'indirizzo di origine in
10.4.1.5
. - Immettere l'indirizzo di destinazione in
10.1.0.5
. - Immettere Porta di destinazione in
22
. - Fare clic su Salva.
- Fare clic su Applica modifiche.
- Verrà visualizzato un messaggio che indica che le modifiche sono state applicate correttamente.
- La regola è stata aggiunta.
Seconda regola:
-
Dettagli connessione.
- Fonte: FE-VM (
10.1.0.5
). - Destinazione: BE-VM (
10.2.0.5
). - Protocollo: ICMP.
- Azione: passare.
- Giustificazione: a scopo di test, è necessario abilitare FE-VM per eseguire il ping di BE-VM.
- Fonte: FE-VM (
-
Fare clic su Aggiungi.
- Selezionare Azione per Passa.
- Selezionare Protocollo per ICMP e Sottotipo per qualsiasi.
- Immettere l'indirizzo di origine in
10.1.0.5
. - Immettere l'indirizzo di destinazione in
10.2.0.5
. - Fare clic su Salva.
- Fare clic su Applica modifiche.
- Verrà visualizzato un messaggio che indica che le modifiche sono state applicate correttamente.
- La regola è stata aggiunta.
Terza regola:
-
Dettagli connessione.
- Origine: in avanti della VCN frontend (
10.1.0.6
). - Destinazione: LSN (
10.3.0.6
). - Protocolli: TCP e UDP.
- Numero porta:
53
. - Azione: passare.
- Giustificazione: vogliamo che FE-VM sia in grado di risolvere BE-VM (
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
). Per questo motivo, la forward of Frontend-VCN deve essere in grado di eseguire query sul listener. È pertanto necessario consentire il traffico DNS.
- Origine: in avanti della VCN frontend (
-
Fare clic su Aggiungi.
- Selezionare Azione per Passa.
- Selezionare Protocollo per TCP/UDP.
- Immettere l'indirizzo di origine in
10.1.0.6
. - Immettere l'indirizzo di destinazione in
10.3.0.6
. - Immettere Porta di destinazione in
53
. - Fare clic su Salva.
- Fare clic su Applica modifiche.
- Verrà visualizzato un messaggio che indica che le modifiche sono state applicate correttamente.
- La regola è stata aggiunta.
Quarta regola:
-
Dettagli connessione.
- Origine: in avanti della VCN frontend (
10.1.0.6
). - Destinazione: DNS-NLB (
10.0.0.110
). - Protocolli: TCP e UDP.
- Numero porta:
53
. - Azione: passare.
- Giustificazione: vogliamo che FE-VM sia in grado di risolvere BE-VM (
be.orastage.com
). A tale scopo, il futuro della VCN frontend deve essere in grado di eseguire una query sul DNS-NLB che invierà il traffico a uno dei server DNS BIND9 backend. È pertanto necessario consentire il traffico DNS.
- Origine: in avanti della VCN frontend (
-
Fare clic su Aggiungi.
- Selezionare Azione per Passa.
- Selezionare Protocollo per TCP/UDP.
- Immettere l'indirizzo di origine in
10.1.0.6
. - Immettere l'indirizzo di destinazione in
10.0.0.110
. - Immettere Porta di destinazione in
53
. - Fare clic su Salva.
- Fare clic su Applica modifiche.
- Verrà visualizzato un messaggio che indica che le modifiche sono state applicate correttamente.
- La regola è stata aggiunta.
Quinta regola:
-
Dettagli connessione.
- Origine: in avanti della VCN backend (
10.2.0.6
). - Destinazione: LSN (
10.3.0.6
). - Protocolli: TCP e UDP.
- Numero porta:
53
. - Azione: passare.
- Giustificazione: si desidera che BE-VM sia in grado di risolvere FE-VM (
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
). A tale scopo, il futuro della VCN backend deve essere in grado di eseguire query sul listener. È pertanto necessario consentire il traffico DNS.
Nota: ripetere i passi eseguiti nella terza regola, ma questa volta l'origine è diversa e viene inoltrata alla VCN backend (
10.2.0.6
). - Origine: in avanti della VCN backend (
Sesta regola:
-
Dettagli connessione.
- Origine: in avanti della VCN backend (
10.2.0.6
). - Destinazione: DNS-NLB (
10.0.0.110
). - Protocolli: TCP e UDP.
- Numero porta:
53
. - Azione: passare.
- Giustificazione: si desidera che BE-VM sia in grado di risolvere FE-VM (
fe.orastage.com
). A tale scopo, l'inoltro della VCN backend deve essere in grado di eseguire una query sul DNS-NLB che invierà il traffico a uno dei server DNS BIND9 backend. È pertanto necessario consentire il traffico DNS.
Nota: ripetere i passi eseguiti nella quarta regola, ma questa volta l'origine è diversa e viene inoltrata alla VCN backend (
10.2.0.6
). - Origine: in avanti della VCN backend (
Task 4: Esegui test e convalida
-
Verrà eseguito il test solo dall'istanza FE-VM.
Nota: (facoltativo) per connettersi a FE-VM verrà utilizzato il Jump-Server di Windows, è comunque possibile connettersi tramite bastion se si preferisce.
- Copiare la chiave privata utilizzata in OCI Cloud Shell dalle esercitazioni precedenti nell'istanza di Windows.
- Installare OpenSSH sul server. Per ulteriori informazioni, vedere Technical: Install OpenSSH SFTP on Windows Server 2016.
- Eseguire il comando SSH.
- Login all'istanza FE-VM riuscito.
Scenario di test 1
-
Testare i domini nativi
*.oraclevcn.com
. Il computer client FE-VM deve essere in grado di risolverebe-vm.beprivatesubnet.backendvcn.oraclevcn.com
. Questo traffico è già consentito in pfSense. In questo test, verrà utilizzata la funzione Acquisizione pacchetti in pfSense per assicurarsi che il traffico lo stia attraversando. -
Traffico in avanti:
-
Traffico risposte:
-
Accedere a pfSense dal computer Windows.
- Fare clic su Diagnostica.
- Fare clic su Acquisizione pacchetto.
- Compilare l'IP di origine (FWD - 10.1.0.6) e l'IP di destinazione (LSN - 10.3.0.6).
- Immettere
53
come Numero porta. - Fate clic su Start.
- È possibile monitorare il traffico DNS da FWD a LSN.
-
Da FE-VM, eseguire il ping del dominio nativo BE-VM
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
. -
In Acquisizione pacchetti, si noterà ogni volta che viene eseguito il ping di una query.
-
Modificare il filtro per monitorare il traffico ping.
-
Traffico in avanti:
-
Traffico risposte:
- Compilare l'IP di origine (FE-VM - 10.1.0.5) e l'IP di destinazione (BE-VM - 10.2.0.5).
- Immettere Protocollo come ICMPv4.
- Fate clic su Start.
- È possibile monitorare il traffico di ping da FE-VM a BE-VM.
-
In FE-VM, eseguire un altro ping su BE-VM
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
. -
In Acquisizione pacchetto si noterà il traffico di ping.
-
Scorrere verso l'alto e fare clic su Arresta per interrompere l'acquisizione dei pacchetti al termine del test.
-
Fare clic su Cancella acquisizioni per avviare un'altra acquisizione.
Nota: è possibile seguire gli stessi passi del test, ma nella direzione opposta, da BE-VM a FE-VM
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
. Il traffico è già consentito per questo scenario.
Scenario di test 2
-
Eseguire il test del dominio gestito BIND9 dell'azienda
*.orastage.com
. Il computer client FE-VM deve essere in grado di risolverebe.orastage.com
. Questo traffico è già consentito in pfSense. In questo test, utilizzeremo la funzione di acquisizione dei pacchetti in pfSense per assicurarci che il traffico lo stia attraversando. -
Traffico in avanti:
-
Traffico risposte:
-
Accedere a pfSense dal jump server.
- Fare clic su Diagnostica.
- Fare clic su Acquisizione pacchetto.
- Compilare l'IP di origine (FWD - 10.1.0.6) e l'IP di destinazione (DNS-NLB - 10.0.0.110).
- Immettere
53
come Numero porta. - Fate clic su Start.
- È possibile monitorare il traffico DNS da FWD a DNS-NLB.
-
Da FE-VM, eseguire il ping del dominio BE-VM
be.orastage.com
. -
In Acquisizione pacchetti, si noterà ogni volta che viene eseguito il ping di una query.
-
Modificare il filtro per monitorare il traffico ping.
-
Traffico in avanti:
-
Traffico risposte:
- Compilare l'IP di origine (FE-VM - 10.1.0.5) e l'IP di destinazione (BE-VM - 10.2.0.5).
- Immettere Protocollo come ICMPv4.
- Fate clic su Start.
- È possibile monitorare il traffico di ping da FE-VM a BE-VM.
-
In FE-VM, eseguire un altro ping su BE-VM
be.orastage.com
. -
In Acquisizione pacchetto si noterà il traffico di ping.
-
Scorrere verso l'alto e fare clic su Arresta per interrompere l'acquisizione dei pacchetti al termine del test.
-
Fare clic su Cancella acquisizioni, poiché il test è stato completato.
Nota: è possibile seguire gli stessi passi del test, ma nella direzione opposta, da BE-VM a FE-VM
fe.orastage.com
. Il traffico è già consentito per questo scenario.
Conclusione
Congratulazioni. Abbiamo finalmente raggiunto la fine del nostro percorso DNS.
In questo tutorial ci siamo concentrati sul miglioramento dell'architettura DNS di OraStage con pfSense, che fornisce un livello cruciale di difesa contro una varietà di attacchi e vulnerabilità basati su DNS. Filtra il traffico, applica protocolli DNS sicuri e blocca i domini dannosi. OraStage è in grado di garantire che i server DNS operino in modo sicuro ed efficiente.
Durante la serie, hai acquisito alcune competenze importanti in OCI. Ogni esercitazione si è basata sull'ultima, offrendo una solida base in OCI e facendo affidamento su un approccio di apprendimento progressivo. Queste competenze ti aiuteranno a gestire e ottimizzare la tua infrastruttura cloud in modo efficace:
- Impostare l'instradamento e la sicurezza della rete cloud virtuale (VCN).
- Impostare un gateway di instradamento dinamico (DRG).
- Impostare e utilizzare OCI Bastion per accedere alle istanze private.
- Impostare e utilizzare un jump server Windows per accedere alle istanze private.
- Installa e configura la soluzione DNS BIND9 in OCI.
- Configura e utilizza il load balancer di rete OCI per l'alta disponibilità.
- Configura e utilizza i componenti DNS privati OCI per risolvere i domini nativi.
- Installare e configurare il firewall pfSense in OCI, integrandolo in un'architettura hub e spoke.
Conferme
- Autore - Anas abdallah (esperto di cloud networking)
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.
Adding Security to the Domain Name System Architecture using pfSense Firewall
G19398-02
Copyright ©2025, Oracle and/or its affiliates.