In questo caso, la virtualizzazione offre maggiore sicurezza?

5
  • A: esegue una macchina OpenBSD con un server httpd e smtp?

vs.

  • B: esecuzione di una macchina OpenBSD come host di virtualizzazione con QEMU con due sistemi OpenBSD ospiti: uno per smtp e uno per httpd.

Q: Quale soluzione offre maggiore sicurezza? Per prima cosa, potrei pensare che la virtualizzazione sia un altro livello di sicurezza, quindi è meglio .. poi in un altro pensiero ... potrebbe essere che la virtualizzazione aggiunga solo un altro livello di complessità, quindi un altro livello di bug di sicurezza?

UPDATE a "B" : no, lo smtp e il guest httpd non possono comunicare tra loro tramite layer3. QEMU .

Possibili attacchi: dallo script kiddie al ricercatore di sicurezza che trascorre diversi mesi per entrare nel server. Vengono utilizzate solo pagine html statiche, nessun cgi / php e il server smtpd è OpenSMTPD. Non vengono utilizzate porte non necessarie, anche SSHD è in ascolto su un'interfaccia non connessa a Internet.

    
posta gasko peter 01.10.2013 - 09:52
fonte

4 risposte

9

La virtualizzazione offre un certo livello di isolamento. Nel tuo caso "B", se (ad esempio) esiste un buco sfruttabile in remoto nel server SMTP, un utente malintenzionato che lo sfrutta può ottenere il pieno controllo della macchina virtuale che esegue quel server SMTP, ma sarà comunque "al di fuori "delle altre due macchine (l'ospite con il server Web e l'host). Questo può aiutare a contenere le violazioni. Tuttavia, questo isolamento è relativo ai canali di comunicazione che si utilizzano tra i sistemi: ad esempio, se il codice del server Web è in grado di inviare e-mail, suppongo che abbia un modo di parlare all'altro sistema. Potrebbe anche esserci una gerarchia di file condivisa. Inoltre, sarebbe eccessivamente audace affermare che il software di virtualizzazione esistente offre un isolamento "perfetto": sono stati trovati buchi di sicurezza che consentono di fuggire da un ospite, in un altro ospite o nell'host, e risolti (ma risolti) in tutte le VM motori.

Questo è (come al solito) un trade-off : la VM porta un contenimento extra, ma nulla di "perfetto" (la perfezione non può essere ottenuta con macchine concrete), e al costo di qualche overhead: la divisione la macchina in tre implicherà un po 'più utilizzo della CPU (non molto di più), più utilizzo della RAM (in quantità considerevole) e più utilizzo del disco (un po' di più o molto di più, a seconda di quanto "condivisione" viene fatta tra sistemi). Ancora più importante, con tre sistemi invece di uno, hai aumentato la complessità , la nota rovina della sicurezza. Invece di un sistema da gestire, ora ne hai tre. Ciò aumenta i costi di amministrazione del sistema.

    
risposta data 01.10.2013 - 13:26
fonte
1

Risposta breve: la soluzione con la virtualizzazione è più sicura.

I server HTTP e SMTP sono presumibilmente esposti a Internet e aperti agli attacchi. La maggior parte dei server HTTP e SMTP hanno una buona storia recente con alcune vulnerabilità remote, sebbene potrebbero comunque esserci ancora zero giorni. Inoltre, i server HTTP espongono i difetti delle applicazioni in PHP / CGI / altri script. A seconda del contenuto dell'applicazione, il server HTTP potrebbe essere maggiormente a rischio di attacco.

Una proprietà di sicurezza desiderabile è che un hacker si rompe nel server HTTP, non può accedere al server SMTP (e viceversa). Anche se OpenBSD ha una buona storia di difetti di escalation dei privilegi locali, anche la tua configurazione conta e la maggior parte degli architetti di sicurezza suppone che un utente malintenzionato abbia accesso a un account Unix con privilegi ridotti, possono accedere alla root.

Generalmente si pensa che la virtualizzazione ti offra un contenimento più strong. Ci sono state istanze di guest per ospitare difetti, ma meno dei difetti di escalation dei privilegi locali. Quindi questo accordo separerà in modo sicuro i tuoi due servizi.

In realtà ho esattamente questo problema con un progetto personale che fornisce email e hosting per gruppi di comunità ( link ) Gli utenti possono caricare i propri Script PHP, quindi il server Web è ad alto rischio di attacco. Dato che la posta è più critica (i siti sono per lo più brochureware) ha molto senso separarli usando la virtualizzazione.

Tuttavia, le tue circostanze potrebbero essere diverse. Se stai solo ospitando contenuti statici di tua proprietà, il server HTTP non è ad alto rischio di attacco. In tal caso, i vantaggi sono marginali e probabilmente non valgono la seccatura di configurare la virtualizzazione.

    
risposta data 10.10.2013 - 11:53
fonte
0

Non credo che la virtualizzazione aggiunga maggiore sicurezza al suo interno. Le applicazioni come tali possono essere chrootate (OpenBSD) o collocate ciascuna nella propria prigione (FreeBSD). Vorrei cercare la soluzione più semplice, perché più è semplice, meglio puoi capire quello che stai facendo, e anche psicologicamente non ti affidi tanto alla separazione (virtualizzazione). La sicurezza del server è più importante, perché una volta che hai una violazione, è troppo tardi.

    
risposta data 12.10.2014 - 23:25
fonte
0

Risposta breve: la virtualizzazione è più sicura.

Dividiamo le vulnerabilità in quattro tipi:

  1. OS vulns - in questo caso, entrambe le soluzioni - tutte le macchine / informazioni sono esposte.
  2. link
  3. smtp vulns - se si utilizza la virtualizzazione, viene esposto solo il server smtp, se entrambi sono in esecuzione sullo stesso sistema entrambi esposti. (1 alla virtualizzazione)
  4. virtualizzazione vulns (e, g: vuln nel driver di rete VM) - se si utilizza VM entrambi esposti (1 contro la virtualizzazione)

Poiché i server sono molto più esposti agli attacchi, i 2 per la virtualizzazione sono molto più pertinenti.

Ovviamente dovresti considerare i costi di amministrazione e server, ma se la sicurezza è l'unica considerazione - usa la virtualizzazione.

    
risposta data 10.10.2013 - 23:22
fonte

Leggi altre domande sui tag