VMware ESXi 5.5 , NAT e aumento della sicurezza

E’ da tanto che volevo mettere le mani su un mio server dedicato, e ancora di più uno con l’host VMware ESXi per farci prove/test e per usi personali. Finalmente ne ho uno tra le mani, davvero bello potente.
Uno dei “problemi” principali di un server dedicato è spesso l’alta potenzialità della macchina rapportato agli indirizzi IP disponibili nel contratto. Se vuoi più IP, li paghi poi salati!
Questa differenza porta, teoricamente, ad avere un numero limitato di VM utilizzabili rispetto a quelle che il server dedicato supporterebbe.
Un altro aspetto è l’esposizione di una o delle VM all’esterno( internet ) con le conseguenze del caso, tipo attacchi di vulnerabilità o tentativi di accesso SSH, RDP o exploit vari.
Vi mostrerò quindi come prendere due piccioni con una fava!

La soluzione prevede l’uso di una VM, la quale si prenda in carico 1) il routing delle altre VM’s verso l’esterno( NAT ) e 2) aumenti la sicurezza delle stesse attraverso dei filtri e servizi propri della soluzione.
Molte guide prevedono l’utilizzo di pfsense, c’è da dire che la guida è spesso sempre quella, col solito copia/incolla dei blog da quattro soldi giusto per far visite, io invece mi occuperò di una soluzione diversa, clearOS.
ClearOS, per chi è del “mestiere” l’ex clarkconnect, è un OS basato sul cloud per gestire reti, servizi server e gateway per tutte quelle utenze che ne hanno bisogno, gestibile comodamente da un’interfaccia web( c’è anche la linea di comando o ssh, non temete! ).
Quindi useremo la VM come “punto” di routing e firewalling avanzato per le VM attuali e successive sulla piattaforma ESXi, a meno che non richiedano espressamente l’uso di un IP dedicato.
Attraverso poi l’uso di uno switch virtuale, NON collegato ad una scheda di rete dell’host, gestiremo la comunicazione tra le VM e la VM che chiameremo “router” per comodità.
Ecco una rappresentazione grafica di cosa andremo a realizzare:
NAT_overview

Accederemo quindi col vsphere client sul nostro host ESXi, poi andremo in “Configuration”, “Networking” e cliccheremo su “Add Networking”
vmware_net

Quindi creeremo un virtual switch, di tipo “Virtual Machine”, SENZA scheda di rete collegata. Questo vSwitch serve come switch di collegamento tra le VM e la VM router, come se fosse uno switch “reale”.
Alla fine vedremo una cosa simile:
vswitch

Ora dobbiamo installare la VM router: scarichiamo da QUI l’ISO ( io ho scelto la 64 bit, non ho scelto l’immagine VMware in quanto l’upload sul datastore era lentissimo ) e creiamo la VM sull’host.
I requisiti sono 10gb di spazio, 1gb di ram, cpu basta 1 core. La VM DEVE avere 2 schede di rete, una assegnata alla VM Network( che esce in internet ) ed una VM NAT ( che è usata come LAN interna e serve per routing alle future VM ).
vmrouter

Quindi procediamo all’installazione dell’OS ( l’installazione è abbastanza semplice ed a step chiari ). Vi lascio un video abbastanza esplicativo in caso ne abbiate bisogno:

L’unico appunto è la configurazione delle schede di rete: una volta terminata l’installazione, se avete seguito gli step in modo uguale ai miei, avrete la eth0 che corrisponde alla VM Network e la eth1 alla VM NAT.
Quindi alla eth0 assegnate un indirizzo IP esterno ( IP, maschera, gateway, eventuali DNS ) tra i disponibili di chi vi ha venduto il server dedicato.
Assegnate alla eth1 un’indirizzo IP statico di una LAN interna che vi piace di più ( 192.168.0.1, 192.168.1.1, 192.168.2.1 ecc ).
ip

Terminata l’assegnazione, dovreste vedere nella schermata principale di clearOS che è disponibile un link: https://IP_ESTERNO:81 attraverso il quale completerete l’installazione.
Per accedere usate come nome utente “root” e la password assegnata nell’installazione iniziale.
Vi chiederà, se non l’avete, di registrarvi per scaricare i plugin e aggiornamenti ( è gratis ) e come plugin io consiglio i seguenti:
– Intrusion Prevention ( blocca attacchi )
– Intrusion Detection ( rafforza la sicurezza di alcune porte e servizi )
– Port Forwarding
– Firewall
Se i pacchetti vengono scaricati ed installati, la vostra rete esterna funziona senza problemi.
Controllate che il DHCP sia abilitato, in caso configuratelo, esempio:
dhcpserver

Il DHCP è utile per un test veloce della funzionalità della rete, se tutto funziona potete anche disabilitarlo ed usare i parametri statici nella VM.
Ora, create o collegate una VM assegnando alla scheda di rete la “VM NAT”.
Provate a pingare un host ( 8.8.8.8 o il gateway assegnato ).
In caso positivo, eureka!
Altrimenti controllate bene se l’IP viene assegnato in DHCP e se i parametri che assegna sono corretti( ip della stessa lan interna, come gateway l’ip interno del router, dns).
Se tutto è ok, accediamo con l’ip interno del router alla console web con https://IP_INTERNO:81 . Se funziona, disabilitiamo l’accesso via IP ESTERNO per sicurezza!
Andiamo in “Network”, “Incoming Firewall” e disabilitiamo “webconfig”.
webconfig

Per aprire una porta su una VM, per SSH o RDP o qualunque altro servizio, basta andare in “port Forwarding” e cliccare su “Add” e seguire il wizard: ci sono servizi standard già configurati in cui basta solo l’ip interno da assegnare, quello per porta singola e quello per range di porte.
Ora non resta che prenderci un po’ la mano e spulciarvi un po’ i log ed eventuali servizi disponibili( sono davvero tanti ).