Problemas de seguridad para el sistema host cuando se ejecuta un servidor web doméstico en una máquina virtual

3

Quiero ejecutar un servidor web en casa (realmente para la diversión y el aprendizaje de la red / red y otras mejores prácticas de seguridad), ejecutando una aplicación web que planeo escribir con Ruby on Rails y poder acceder a ella desde fuera de. Planeo ejecutarlo en un servidor Linux VM + Apache web (quiero instalarlo desde cero, nuevamente por diversión) en un servidor virtual / VMWare en mi Mac.

Entiendo que necesito reenviar puertos (planea reenviar 80 a 8080 o algún otro puerto sin privilegios, no se abre ningún otro puerto desde mi enrutador), posiblemente obtengo DNS dinámico, etc., para poder acceder a él de manera confiable, etc., y no estoy preocupado acerca de conectarlo con el mundo exterior.

He leído artículos y recursos para fortalecer el servidor web Apache. Planeo probar y seguir las mejores prácticas de seguridad para mitigar las amenazas comunes (XSS, CSRF, inyección SQL, etc.) para la propia aplicación web (usando la guía de seguridad Ruby on Rails, que creo que es un buen punto de partida).

  1. Ya que lo estoy ejecutando en una máquina virtual, ¿hay alguna manera de que alguien pueda piratear / secuestrar el servidor web / aplicación web para controlar mi máquina host (no me importa si controlan la máquina virtual desde este punto de vista) cosa es para aprender)?

  2. ¿Qué precauciones adicionales debo tomar para proteger mi máquina host? ¿O es simplemente mejor obtener un sistema separado solo para ejecutar el servidor web?

  3. También, ¿qué protección adicional puedo agregar a mi VM para evitar que sea pirateada en primer lugar (firewalls, detección de intrusos como snort?)

  4. Si se toma el control de la máquina virtual o del servidor web dedicado, ¿cómo afecta a la seguridad de mi red local / LAN? ¿Cómo puedo mitigar la amenaza?

  5. ¿Es más seguro crear una VM, crear un servidor web accesible solo a través de una VPN dentro de la VM, donde el servidor VPN está dentro de la VM, y crear inicios de sesión VPN a través de los cuales se puede acceder al servidor web? ¿Similar o exactamente igual a cómo tienes una intranet corporativa? Supongo que ejecutaré OpenVPN como un usuario sin privilegios y no estoy seguro de poder hacerlo escuchar en puertos sin privilegios.

He leído la wiki de autenticación y otras publicaciones relacionadas en Stack Exchange, como la vulnerabilidad de otros sistemas si un sistema está comprometido en la red, etc., pero aún siento la necesidad de hacer la pregunta.

    
pregunta Raghu 08.04.2015 - 16:45
fuente

1 respuesta

1

No tiene mucho de qué preocuparse por el hecho de que su máquina virtual sea secuestrada para atacar al host de todos los posibles ataques que se encuentran realmente al final de la lista. Su esquema anterior es bastante sólido y disuadiría a la mayoría de los atacantes (a excepción de los robots que simplemente atacarán su sistema).

Si quieres lanzar un ips allí, mira snort (es fantástico).

En el caso de que su VM sea tomada y HAGA que comience a atacar su sistema host, todo lo que tendrá que hacer es borrarlo y comenzar de nuevo, por supuesto, debe tener su código en un sistema de revisión para que no lo pierda todo ( me gusta github, pero bitbucket ofrece hospedaje de código privado gratuito). En cuanto a que es capaz de atacar el resto de las cosas en su red, depende de cómo esté configurada su red en el sistema operativo host, puede tenerla puenteada o tenerla detrás de un NAT privado; Yo voto por el método NAT, siempre que pueda reenviar sus puertos.

Creo que eso cubre sus preguntas, déjeme saber si necesita alguna aclaración.

    
respondido por el Ajaxasaur 08.04.2015 - 18:43
fuente

Lea otras preguntas en las etiquetas