VMWare e il promiscuous mode

Non si finisce mai di imparare…
E quando si impararano cose che fanno male, ti restano più impresse nella mente!

Ecco una caratteristica (per non dire una falla di sicurezza) di VMWare che non conoscevo e che mi ha creato non pochi problemi in quello che doveva essere il mio periodo di riposo ferragostiano.

Innanzi tutto, cos’è il promiscuosus mode? Si tratta di una modalità di configurazione delle schede di rete che permette di accettare tutto il traffico in ingresso, compreso quello che il sistema operativo normalmente ignorerebbe. E’ una configurazione che si utilizza in casi un po’ particolari ma nemmeno troppo remoti: ad esempio la configurazione di un bridge tra due interfacce le pone automaticamente in promiscuous mode; ma anche l’utilizzo di software di analisi del traffico di rete (ad esempio tcpdump oppure snort) abilitano il promiscuous mode… ma poco male perchè normalmente a monte di una interfaccia di rete abbiamo uno switch che associa automaticamente gli ARP con le schede di rete per cui al server con la scheda in promuscuous mode arriva comunque solo il traffico a lei indirizzato e la sudetta modalità servirà quindi solo a gestire quei pacchetti “spuri” che verrebbero normalmente scartati.
La caratteristica di VMWare che mi ha fatto penare è proprio quella di “sentire” se una interfaccia di rete di una VM è settata in modalità promiscua e, in questo caso, agisce configurando automaticamente lo switch virtuale in modalità hub… per cui a quella macchina arriveranno tutti i pacchetti che cirolano su quella rete fisica (virtuale) a cui è collegata l’interfaccia configurata in modalità promiscua.
Personalmente ritengo che questa sia una falla di sicurezza di VMWare proprio perchè non è sempre detto che le VM siano gestite da persone serie è può capitare che il gestore poco serio di una VM abbia posto volutamente la scheda di rete in modalità promiscua per scopi non corretti (ad esempio leggere le password in chiaro che passano in rete).
Sebbene quello che è successo a me non abbia nulla a che fare con l’esempio qui sopra (per fortuna), tecnicamente la cosa che mi è capitata è ancora più grave: difatti volevo configurare una VM in modo che agisse da IPS con snort_inline configurando le due schede di rete in modalità bridge; in questo caso abbiamo due schede di rete collegate a due switch virtuali e, a causa del promiscuous mode settato su entrambe le schede, si avrà in pratica un’unica grande rete con due hub collegati da un bridge. Ovviamente questa configurazione ha creato subito blocchi e disservizi tali che sarebbe stato impossibile non accorgersi del problema (provate a fare un ponte tra due porte di un hub…), però capirne qual è la causa non è stato per niente facile.

Se qualcuno dei lettori conosce il modo per disabilitare questa feature di VMWare ESXi 3.5 oppure sa se le nuove versioni (4.0 e 4.1) non la implementano… batta un colpo!