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 la tua rete interna di Oracle Cloud Infrastructure utilizzando un firewall DNS
Introduzione
Avere il controllo di ciò che le istanze della tua Virtual Machine (VM) stanno facendo è essenziale in modo da poter controllarne il comportamento. Nella maggior parte dei casi, le query DNS (Domain Name System) vengono dimenticate e non controllate o monitorate, lasciando aperta la strada a una macchina compromessa per connettersi ai server di comando e controllo (C2) e scaricare software dannosi, ad esempio. Essere in grado di controllare e bloccare queste query in uscita su server C2 e altri tipi di server dannosi, aggiunge un ulteriore livello di sicurezza alla tua rete e potresti evitare che la tua VM e la tua rete vengano ulteriormente compromesse.
Obiettivi
- Utilizza il servizio DNS privato Oracle Cloud Infrastructure (OCI) per proteggere la tua rete OCI interna da query DNS in uscita dannose configurando un firewall DNS e aggiungendo log per avere un controllo e una visibilità migliori delle query DNS delle tue istanze.
Prerequisiti
-
Accesso a una tenancy OCI.
-
Conoscenza di base del DNS.
-
Rete cloud virtuale (VCN).
Configurazione: per impostazione predefinita, ogni VCN viene creata con il proprio resolver DNS e, se si presta attenzione alla configurazione sui computer Linux, viene configurata nel file
/etc/resolv.conf
con il contenuto seguente (esempio per Oracle Linux 9):[opc@linu-lab ~]$ cat /etc/resolv.conf ... nameserver 169.254.169.254
L'indirizzo APIPA (Automatic Private IP Addressing)
169.254.169.254
viene utilizzato nella rete OCI per diversi servizi, tra cui il resolver DNS. -
Un account su qualsiasi provider di firewall DNS (opzionale).
Task 1: individuare il resolver DNS nella console OCI
Assicurarsi di aver già creato una VCN e fare clic sul nome della VCN. Nella pagina Dettagli rete cloud virtuale fare clic su Risolutore DNS.
Task 2: configurare un endpoint di inoltro
-
In Risorse, fare clic su Endpoint e su Crea endpoint.
-
Nella pagina Crea endpoint, immettere le informazioni riportate di seguito e fare clic su Crea endpoint.
- Nome: immettere un nome.
- Subnet: selezionare la subnet in cui si desidera l'endpoint dell'inoltro.
- Tipo di endpoint: selezionare Inoltro.
Dovrebbero essere necessari un paio di minuti e al termine, avrai creato lo spedizioniere DNS. Questo ci permetterà di configurare un reindirizzamento delle query dove vogliamo, nel nostro caso a un firewall DNS.
Il resolver DNS segue un ordine su come vengono risolte le query delle istanze:
In primo luogo, controllerà tutte le viste private collegate, quindi le regole del resolver e infine utilizzerà i resolver Internet pubblici di Oracle per risolvere i nomi host. Per ulteriori informazioni, vedere Configurazione e risoluzione.
Nel passo successivo, vogliamo deviare tutte le query che non sono locali (non esistono in alcuna vista privata) e inviarle a un servizio firewall DNS, o qualche altro server DNS gestito dalla tua azienda per controllare le query.
Puoi scegliere un servizio gratuito, come OpenDNS, Quad9, ControlD e molti altri, oppure scegliere un servizio a pagamento con molto più controllo e funzionalità, come Cisco Umbrella, ControlD, NextDNS, InfoBlox e molti altri.
Nota: non è disponibile alcuna connessione con i provider DNS menzionati nel task 3. Sono utilizzati come esempio per la semplicità, la facilità d'uso e la configurazione. Ci sono molti altri fornitori che forniscono servizi simili, trovare quello che meglio si adatta alle vostre esigenze.
Task 3: Crea una regola resolver
-
Utilizza un servizio firewall DNS gratuito
Ricorda che il risolutore valuterà le regole in base al loro ordine e si fermerà alla prima partita. Assicurati che se hai altre regole per i domini interni la nostra regola sia l'ultima, in modo da poter reindirizzare tutte le altre query al nostro firewall DNS.
In questo tutorial, utilizziamo il servizio Quad9, questo è un servizio gratuito che è molto semplice da usare con fondamentalmente nessuna configurazione. Altri servizi gratuiti come ControlD consentono di configurare diverse categorie di query da bloccare.
-
In Risorse fare clic su Regole e Gestisci regole.
-
Nella pagina Gestisci regole, immettere le informazioni riportate di seguito.
-
Condizione regola: selezionare Nessuno per creare un client Corrispondenza con tutti, il che significa che tutte le query non risolte nelle viste private o dalle regole precedenti verranno dirottate all'inoltro del resolver e non verranno risolte dal resolver pubblico Internet OCI.
-
Punto di origine: selezionare l'endpoint dell'inoltro creato nel task 2.
-
Indirizzo IP di destinazione: utilizziamo i server Quad9 DNS
9.9.9.9
.
-
-
Fare clic su Salva modifiche e attendere alcuni minuti per l'aggiornamento del resolver.
Tutte le query dell'istanza vengono inviate al servizio DNS Firewall Quad9 e bloccate se un'istanza tenta di connettersi a un IP dannoso.
Oppure
-
-
Utilizza un servizio firewall DNS a pagamento
Se hai bisogno di più controllo, funzionalità e registrazione, allora forse il servizio gratuito non è la soluzione per il tuo caso. I servizi a pagamento offrono molto più controllo e funzionalità rispetto ai servizi gratuiti e potrebbero consentire di rilevare istanze che stanno effettuando query sospette sui nomi host che non dovrebbero.
In questo tutorial, useremo NextDNS, e ci sono alcuni passaggi aggiuntivi che sono necessari per farlo funzionare.
Per prima cosa è necessario un account, NextDNS offre un livello gratuito con un massimo di query 300K al mese, che dovrebbe essere più che sufficiente per testare il servizio. Dopo aver ottenuto l'account, eseguire il login e creare un nuovo profilo per la VCN.
-
Fare clic su Nuovo e immettere un nome.
-
Fare clic su Impostazioni e selezionare l'area in cui verranno salvati i log. È possibile scegliere tra Stati Uniti, Europa o Svizzera.
-
Fare clic su Sicurezza e selezionare come filtrare e bloccare gli IP dannosi utilizzando l'intelligenza artificiale, utilizzando i feed e molte altre opzioni.
-
Fare clic su Privacy e aggiungere l'elenco di IP dannosi noti, elementi traccianti, server annunci e altro ancora.
-
È inoltre possibile creare elenchi di rifiuto e consenso in DenyList e AllowList.
La parte migliore di questo servizio sono le funzionalità di registrazione e analitica. Questo ci ha permesso di trovare un'estensione del browser sul laptop facendo decine di migliaia di query a un nome host molto strano, che ha portato alla rimozione dell'estensione.
-
Ora, fare clic su Impostazione e si può vedere che esistono endpoint diversi, IPv4, IPv6, DoT (DNS su TLS) e DOH (DNS su HTTP).
-
In questo tutorial, useremo IPv4, e abbiamo IP specifici per i loro resolver, abbiamo solo bisogno di collegare il nostro indirizzo IP, in modo che NextDNS sappia da dove provengono le query, in modo che possano registrarle contro il tuo profilo.
Per questo dobbiamo accedere a una delle istanze con accesso a Internet (tramite NAT) ed eseguire il seguente comando per collegare l'IP al profilo.
[opc@linux-lab ~]$ curl https://link-ip.nextdns.io/d34ff7/fd11c0xxxxx67cab 158.101.204.149[opc@linux-lab ~]$
Fare clic su Mostra opzioni avanzate, IP collegato e ottenere il collegamento corretto per il profilo.
Lo script restituirà l'IP del gateway NAT OCI, utilizzato dal resolver DNS OCI per creare tutte le query.
È sufficiente apportare un'ultima modifica alla regola del resolver per puntare all'IP IPv4 del resolver NextDNS.
-
Nella pagina del resolver VCN fare clic su Regole ed eliminare la regola aggiunta in precedenza e crearne una nuova che punti all'IP
45.90.28.43
.Dopo che il resolver DNS OCI verrà aggiornato con questa modifica, tutte le istanze interne che effettuano query DNS su questa VCN utilizzeranno il servizio firewall NextDNS.
Crea un elenco di negazione
Creiamo un elenco di negazione e verifichiamo se funziona. Andare alla console NextDNS, selezionare il profilo creato e fare clic su DenyList. Aggiungere il dominio
malicious.site
e fare clic su Invio.Nell'istanza interna, provare a risolvere l'IP di questo dominio.
[opc@linux-lab ~]$ dig +short A malicious.site 0.0.0.0
Come previsto, la query non viene risolta su alcun IP e viene restituito
0.0.0.0
, in cima a questo la query è stata registrata.La scheda Analitica inizia a mostrare le informazioni relative a tutte le query eseguite su questo profilo. D'ora in poi, tutte le query eseguite dalle istanze interne all'interno della VCN utilizzeranno la regola del resolver per inoltrare le query al firewall DNS.
-
Note
Tutti questi provider dispongono di reti anycast e architetture altamente resilienti e scalabili, che dovrebbero sostenere il fallimento dei server, ma se si desidera aumentare la resilienza della propria architettura, è necessario implementare un load balancer di rete in OCI che verrà utilizzato come spedizioniere nella regola del resolver e utilizzare i diversi IP forniti dai provider DNS come backend del load balancer di rete. Nel caso in cui uno degli IP del provider DNS si spenga, il che sarebbe molto insolito, il load balancer di rete sposta il traffico verso l'altro IP.
Ricorda che la lista di sicurezza della subnet in cui viene distribuito l'inoltro endpoint DNS privato deve consentire le connessioni sulla porta UDP (User Datagram Protocol) e sulla porta TCP (Transmission Control Protocol) 53, per poter ricevere query DNS.
Questa subnet deve disporre della connettività Internet tramite un gateway NAT. Assicurarsi che sia le liste di sicurezza che le tabelle di instradamento siano configurate in modo appropriato per consentire questa operazione.
Collegamenti correlati
Conferme
- Autore - Carlos Jorge Santos (OCI Cloud Engineer - Esperto del dominio di 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.
Protect your Oracle Cloud Infrastructure Internal Network using a DNS Firewall
G16358-01
September 2024