Problemi di sicurezza per il sistema host quando si esegue un server Web domestico su una VM

3

Voglio eseguire un server Web a casa (davvero per il divertimento e l'apprendimento del Web / rete e altre best practice di sicurezza), eseguendo un'app Web che ho intenzione di scrivere con Ruby on Rails e potervi accedere da al di fuori. Ho intenzione di eseguirlo su un web Linux VM + Apache (voglio installare da zero, sempre per il gusto di farlo) server in esecuzione in virtual box / VMWare sul mio Mac.

Capisco che devo inoltrare le porte (pianificare l'inoltro da 80 a 8080 o qualche altra porta non privilegiata, nessuna altra porta aperta dal mio router), potenzialmente ottenere DNS dinamici ecc. per poter accedere ad esso in modo affidabile ecc., e non sono preoccupato su come collegarlo al mondo esterno.

Ho letto articoli e risorse sull'indurimento del server web Apache. Ho intenzione di provare a seguire le migliori pratiche di sicurezza per mitigare le minacce comuni (XSS, CSRF, SQL injection, ecc.) Per la webapp stessa (usando la guida alla sicurezza di Ruby on Rails che ritengo sia un buon punto di partenza).

  1. Dato che lo sto eseguendo su una VM, c'è un modo per qualcuno di hackerare / dirottare l'applicazione webserver / web per controllare la mia macchina host (non mi interessa se controllano la VM dal momento che tutto questo cosa è per l'apprendimento)?

  2. Quali ulteriori precauzioni devo prendere per proteggere la mia macchina host? O è semplicemente meglio avere un sistema separato solo per eseguire il webserver?

  3. Inoltre quale protezione extra posso aggiungere nella mia VM per evitare che venga hackerata in primo luogo (firewall, rilevamento delle intrusioni come snort?)

  4. Se la macchina virtuale o il server web dedicato viene rilevato, in che modo influisce sulla sicurezza della rete locale / LAN? Come posso mitigare la minaccia?

  5. È più sicuro creare una VM, creare un server Web accessibile solo tramite una VPN all'interno della VM, dove il server VPN si trova all'interno della VM e creare accessi VPN attraverso i quali è possibile accedere al server Web? Simile o esattamente uguale a come hai una intranet aziendale? Presumo che eseguirò OpenVPN come utente non privilegiato e non sono sicuro di poterlo ascoltare su porte non privilegiate.

Ho letto il wiki di autenticazione e altri post correlati su Stack Exchange come la vulnerabilità di altri sistemi se un sistema è compromesso sulla rete ecc., ma ho comunque sentito la necessità di porre la domanda.

    
posta Raghu 08.04.2015 - 16:45
fonte

1 risposta

1

Non ti devi preoccupare molto di avere la tua VM dirottata per attaccare l'host di tutti i possibili attacchi che si trovano davvero in fondo alla lista. Il tuo schema qui sopra è piuttosto solido e scoraggerebbe la maggior parte degli aggressori (escludendo i bot che batteranno il tuo sistema).

Se vuoi lanciare un ips lì, controlla lo snort (è fantastico).

Nel caso in cui la tua macchina virtuale venga rilevata e DOPA inizi ad attaccare il tuo sistema host tutto quello che dovrai fare è cancellarlo e ricominciare da capo, ovviamente dovresti avere il tuo codice in un sistema di revisione in modo da non perdere tutto ( mi piace github, ma bitbucket offre hosting gratuito di codice privato). Per quanto riguarda il fatto di essere in grado di attaccare il resto delle cose sulla tua rete, dipende da come è configurato il tuo networking sul sistema operativo host, puoi averlo colato o averlo dietro un NAT privato; Io voto per il metodo NAT'd finchè puoi far inoltrare le tue porte.

Penso che copra le tue domande, fammi sapere se hai bisogno di chiarimenti.

    
risposta data 08.04.2015 - 18:43
fonte

Leggi altre domande sui tag