Uno dei nostri clienti che gestisce dati sensibili dei clienti aveva bisogno di un'infrastruttura cloud sicura per le sue applicazioni web e i suoi database. Abbiamo implementato un gateway NAT in una VPC per consentire alle istanze nelle sottoreti private di accedere a Internet per gli aggiornamenti e le chiamate API, bloccando al contempo il traffico in entrata. Questa soluzione fornisce l'accesso a Internet alle istanze private senza esporle direttamente alla rete pubblica, migliorando la sicurezza. Ecco cosa abbiamo fatto:
Questo diagramma illustra una tipica configurazione VPC suddivisa in tre sezioni principali: VPC, subnet pubblica e subnet privata. La prima è la scatola verde esterna, la VPC, che isola le risorse al suo interno da altre reti. Gli utenti accedono al server web attraverso la rete Internet pubblica, utilizzando un indirizzo IP statico assegnato tramite NAT 1:1. Il server web elabora le richieste e, in caso di necessità, le invia a un altro server. Il server web elabora le richieste e, se necessario, comunica con il server del database. Il server web comunica con il server database attraverso il server router. Il server router utilizza il Custom NAT per instradare in modo sicuro il traffico tra la sottorete pubblica e quella privata. Il server del database, situato nella sottorete privata, riceve le richieste dal server web attraverso VLAN. L'isolamento della sottorete privata garantisce che il server del database non sia direttamente esposto a Internet, migliorando la sicurezza. In questa esercitazione, verranno illustrati i passaggi per configurare questa architettura, garantendo una comunicazione sicura ed efficiente tra la subnet privata e quella pubblica. Creeremo una VPC con una sottorete pubblica e una privata, configureremo il NAT Gateway e imposteremo VLAN.
Tutorial
In questa esercitazione, creeremo un gateway NAT in una VPC, proprio come nel diagramma che abbiamo appena visto. Se si dispone già di un account Linode, si può passare al punto 1. Se non avete un account Linode, utilizzate questo link per iscrivervi e ottenere 100 dollari di crediti gratuiti per seguire i passi successivi. Dalla dashboard di Linode, creeremo una VPC con due subnet: una subnet pubblica e una subnet privata. Nella subnet privata aggiungeremo un database e nella subnet privata aggiungeremo due istanze: una che fungerà da server web e una che fungerà da server router (NAT personalizzato).
Passo 1: creare una VPC
Il primo passo per costruire un gateway NAT in una VPC è creare la VPC per isolare logicamente le nostre risorse. Ricordiamo che questa è la scatola verde del diagramma che abbiamo esaminato. Le sottoreti private e pubbliche vivranno all'interno di questa VPC.
Per farlo, da Linode Cloud Manager, fare clic su VPC nel pannello di sinistra, quindi fare clic su Crea VPC.
Passo 2: Impostazione della sottorete pubblica
Successivamente, dobbiamo aggiungere una sottorete pubblica nella VPC che ospiterà il server del router (NAT personalizzato) e il server web. Ricordiamo che si tratta del quadrato blu del diagramma che abbiamo esaminato.
Nella parte inferiore della schermata, dove è scritto Sottoreti, aggiungere un'etichetta per la sottorete pubblica. Questa sottorete ospiterà il server router (NAT personalizzato) e il server Web.
Quindi fare clic su Crea VPC per eseguire il provisioning della VPC.
Verrà creata la sottorete pubblica con l'ID di sottorete e l'intervallo IP corrispondenti.
Passo 3: Distribuzione del server router e del server web
Successivamente, dobbiamo distribuire 2 istanze Linode nella sottorete pubblica. Un'istanza Linode fungerà da server router (NAT personalizzato), che gestirà le operazioni NAT per gestire il traffico tra la sottorete pubblica e quella privata. L'altro server fungerà da server web per gestire il traffico in entrata da Internet e inoltrare le richieste necessarie alla sottorete privata. Per prima cosa, creeremo il server router. Da Cloud Manager, fare clic su Linodes nel pannello di sinistra, quindi fare clic su Crea Linode. Scegliere la stessa regione scelta per la creazione della VPC e selezionare l'opzione CPU dedicata da 8 GB.
Quindi, scorrere verso il basso e assegnare la VPC creata al punto 1, quindi scegliere la subnet pubblica dal menu a tendina.
Fare clic su Crea Linode per terminare il provisioning dell'istanza.
Ora creiamo il server web, utilizzando la stessa procedura descritta sopra. Fare clic su Crea Linode, selezionare la regione scelta per la VPC e assegnare la VPC a questa istanza. Ora si vedranno sia il server web che il server router elencati nella VPC sotto la subnet pubblica.
Passo 4: Creare una sottorete privata
Successivamente, dobbiamo creare la sottorete privata all'interno della VPC per ospitare il server del database, che non avrà accesso diretto alla rete Internet pubblica. Ora stiamo costruendo la scatola viola.
Dal VPC, fare clic su Crea subnet, quindi inserire un'etichetta e assegnare l'intervallo IP privato. Questa sottorete tiene il database al sicuro da qualsiasi minaccia esterna.
Passo 5: Distribuzione del server di database
Ora, distribuiamo un'istanza Linode nella subnet privata per fungere da server di database. Questa istanza sarà accessibile solo dalla subnet pubblica tramite il sito sicuro VLAN. Dal pannello sinistro di Linode Cloud Manager, fare clic su Linodes, quindi su Create Linode. Inserire database-server come etichetta, scegliere vpc-nat-gateway-demo come VPC e scegliere private-subnet come subnet.
Una volta distribuito il server, si dovrebbe vedere quanto segue:
Successivamente, occorre modificare la configurazione e selezionare la casella Assegnazione di un indirizzo IP pubblico per questo Linode. Il motivo per cui lo facciamo è che dobbiamo scaricare gli strumenti di rete da questo server.
Passo 6: Configurazione VLAN
Successivamente, è necessario stabilire un VLAN per consentire una comunicazione sicura tra la sottorete pubblica e quella privata. Il server del database e il server del router possono comunicare tra loro con VLAN.
In questo modo si garantisce che il traffico tra il server Web e il server del database rimanga privato e sicuro. Dal server del router, fare clic sulla scheda Configurazioni, quindi su Modifica. Aggiungere un VLAN, e inserire un indirizzo (utilizzare il testo segnaposto come guida).
Ora, andiamo al server del router e aggiungiamo VLAN alla configurazione.
Passo 7: Inoltro del traffico dal server del database al server del router
Ricordiamo che abbiamo assegnato un IP pubblico per poter accedere a Internet e scaricare alcuni strumenti di rete.
Ora, scarichiamo ipconfig
utilizzando i seguenti comandi:
$ modprobe iptable_nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ iptables -A FORWARD -i eth1 -j ACCEPT
Successivamente, occorre tornare al server del database e rimuovere la casella di controllo per l'IP pubblico, in modo che non abbia accesso a Internet.
Il server del database è ora isolato in modo sicuro nella subnet privata. Ora sarà in grado di parlare con il server del router. Eseguiamo un ping della VPC del server del router.
Successivamente, dobbiamo fare in modo che il server del database instradi il traffico su VLAN. Per farlo, eseguite il seguente comando dal server del database:
route add default gw {VLAN-IP-FOR-ROUTER}
Poi, eseguire il percorso.
Il sito VLAN è elencato qui.
Ora dobbiamo configurare il server router per inoltrare il traffico da eth1 (VLAN) a Internet. In questo passaggio, abilitiamo il NATing sul server e abilitiamo l'inoltro IP.
Dal server del router eseguire i seguenti comandi:
$ modprobe iptable_nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ iptables -A FORWARD -i eth1 -j ACCEPT
Abbiamo configurato con successo un gateway NAT in un VPC.
Vantaggi di questa architettura
L'utilizzo di questa architettura presenta un paio di vantaggi fondamentali. In primo luogo, si ottiene una maggiore sicurezza. Un VPC consente di isolare le risorse all'interno di sottoreti distinte (pubbliche e private). Un gateway NAT assicura che le istanze nelle sottoreti private possano accedere a Internet senza esporle direttamente alle minacce di Internet pubblico. Utilizzando un gateway NAT in una VPC, solo il traffico in uscita è consentito dalle istanze private verso Internet, impedendo connessioni in entrata non richieste che potrebbero rappresentare un rischio per la sicurezza. Il database viene collocato all'interno della subnet privata e gli elementi sensibili sono protetti dall'esposizione diretta a Internet, riducendo il rischio di violazione dei dati.
Questa architettura migliora notevolmente la scalabilità. I gateway NAT sono progettati per gestire volumi consistenti di traffico e possono adattarsi automaticamente all'aumento delle richieste, eliminando la necessità di interventi manuali. Al crescere del carico di traffico, il gateway NAT scala le proprie risorse per mantenere prestazioni ottimali e garantire una disponibilità continua. Questa scalabilità automatica è particolarmente vantaggiosa per le piattaforme di e-commerce, che spesso registrano modelli di traffico fluttuanti a causa di vendite stagionali, promozioni e comportamenti diversi dei clienti. Sfruttando i gateway NAT, gli sviluppatori possono garantire che le loro applicazioni rimangano reattive e affidabili, anche in presenza di una domanda elevata, offrendo in definitiva una migliore esperienza agli utenti e sostenendo la crescita del business.
La creazione di un gateway NAT in un VPC con Linode offre un modo sicuro ed efficiente per gestire il traffico di rete tra risorse pubbliche e private. Garantisce che le istanze private possano accedere alle risorse esterne necessarie, proteggendole al contempo dall'esposizione diretta a Internet, migliorando in ultima analisi la sicurezza, la scalabilità e l'efficienza dell'infrastruttura cloud.
Seguendo i passi descritti sopra e utilizzando il diagramma fornito come riferimento, è possibile non solo proteggere i dati sensibili dei clienti, ma anche ottimizzare le prestazioni della rete. Se siete uno sviluppatore che desidera ottimizzare la sicurezza del cloud e volete creare più risorse nel cloud, utilizzate questo link per richiedere fino a 5.000 dollari di crediti Linode.
Commenti (2)
how can i create a linode account
i tried to register and got rejected
Hello Linh – If you’re having trouble creating an account, we suggest completing the form below and choosing the option that says, “I received a Signup Cancellation email when creating an account”:
https://www.linode.com/support/contact/
This post from the Linode Community Questions site titled “My signup was flagged as “fraudulent behavior” has more information. Keep in mind, you’ll only hear back from us if we decide to overturn our initial decision.