¿Hay un inconveniente en la instalación de VNC?

20

Tenemos un Intel NUC en el departamento de idiomas de mi universidad que pronto albergará una aplicación web utilizada por profesores y estudiantes en el departamento. El NUC ejecuta Ubuntu (14.10).

Me siento cómodo con el terminal y con SSH en el servidor, sin embargo, encuentro que muchas tareas que necesito hacer son mucho más fáciles a través del uso compartido de pantalla (VNC).

Le sugerí a nuestro nuevo director técnico que instalemos VNC en este servidor para hacerme la vida mucho más fácil (de hecho, tenía VNC instalado antes de ser contratado, y luego lo desinstaló). Sin embargo, respondió con el siguiente comentario:

Preferiría no ejecutar X o VNC en el servidor si podemos escapar. Es un servidor después de todo.

Realmente no entiendo esta lógica. No está conectado a un monitor; El único acceso a él a través de SSH. ¿Hay alguna desventaja milagrosa para tener acceso VNC a un servidor que desconozco?

Obviamente estás abriendo otro puerto para un atacante; refutación: estamos detrás de dos firewalls universitarios (el firewall principal de la red de la universidad, así como el firewall especial de nuestra subred). VNC solo se podría lograr dentro de nuestra subred, por lo que no sé por qué esto sería un problema que no sea "es otro paquete para mantener", y con el aptadministrador de paquetes de Ubuntu que no se convierte en un problema.

¿Cuáles son las desventajas de instalar VNC en un servidor?

Editar : esto no es solo un servidor web. Aloja una serie de otras aplicaciones. No estoy seguro si eso hace una diferencia.

Chris Cirefice
fuente
21
No puedo imaginar nada que pueda necesitar hacer con un servidor web que sería más fácil usar una GUI. Tal vez usted debe también preguntas acerca de si hay una mejor manera de llevar a cabo las tareas que desea realizar.
Michael Hampton
3
De cualquier manera, esta es una oportunidad para aprender algo nuevo.
Michael Hampton
99
Se trata de limitar la superficie. Con más servicios, más pueden salir mal y más pueden ser pirateados. De acuerdo, dijiste esto, pero sigue siendo cierto. También personalmente odio VNC. ¿Qué pasa con el reenvío X11 sobre SSH?
Michael Bailey
1
Entonces, ¿por qué necesita usar estas herramientas en un servidor? Usar un navegador sin una interfaz gráfica será inútil en la mayoría de los casos, pero no consideraría ejecutar su navegador en un servidor. Independientemente de la herramienta que esté utilizando, simplemente instálela en su cliente y acceda a los datos que necesita en el servidor, preferiblemente a través de ssh. Tal vez eche un vistazo a sshfs
Ben
77
No quiero publicar esto como respuesta, porque no responde a la pregunta "¿Cuáles son las desventajas de VNC", sino para explicar el comentario de @MichaelBailey: No necesita X ni VNC en el servidor . SSH al servidor con reenvío X permite que los programas gráficos se ejecuten realmente en el servidor mientras se muestran las ventanas en un servidor X11 que se ejecuta en su máquina local . Solo necesita algunas bibliotecas X11 compartidas en el servidor que no desperdiciarán recursos mientras no tenga un programa en ejecución que las use. OMI un buen compromiso.
Gerald Schneider

Respuestas:

42

Hay muchas razones:

  • Superficie de ataque: más programas, especialmente los conectados en red, significan más oportunidades para que alguien encuentre un error y entre.

  • Superficie del defecto: como arriba, pero reemplaza "alguien" por " Murphy " y "entra" con "arruina tu día". En realidad, "arruinar tu día" probablemente también se aplica al punto anterior.

  • Eficiencia del sistema: X11, y los entornos GUI que las personas tienden a ejecutar en ellos, consumen una cantidad decente de RAM, especialmente en un sistema de recursos limitados como un NUC. No ejecutarlos significa más recursos para hacer un trabajo útil.

  • Eficiencia del operador: las GUI no se prestan a los scripts y otras formas de automatización. Hacer clic en las cosas se siente productivo, pero en realidad se trata de la peor manera de hacer algo profundamente técnico. También encontrará que sus oportunidades de empleo en el futuro serán muy limitadas si no puede hacer un script y automatizar su trabajo: la industria se alejará de las herramientas de administración de la GUI. Diablos, incluso el servidor de Windows se puede instalar sin GUI en estos días, y si eso no te hace pensar en los méritos relativos de solo saber hacer clic en las cosas, realmente no sé qué decirte.

womble
fuente
1
Dang it womble ... me ganaste como 30 segundos otra vez. :) Gran respuesta.
Tim Brigham
3
Pasar mucho tiempo con Mavis Beacon en mi juventud tiene que tener algunos beneficios ... <grin>
womble
66
@ChrisCirefice, le sugiero que le pida a alguien que haga las cosas de la manera correcta en lugar de comprometer la seguridad de los servidores de producción por un poco de facilidad de uso.
André Borie
8
Es un toque duro, Andre. Me gustaría pensar que Chris tiene una mejor comprensión de las implicaciones de sus preferencias ahora, no hay necesidad de vencerlo por eso.
womble
44
@ChrisCirefice tenga mucho cuidado al pensar cosas como "sin información súper valiosa" y "detrás de los firewalls". El valor de los datos está en el ojo del espectador, y el papel de los sistemas puede cambiar sutilmente con el tiempo, de modo que los datos más valiosos (para un atacante) terminan acumulándose lentamente en un sistema que todo el mundo piensa que no vale la pena defender. . y luego terminas en la página principal de cada sitio web de noticias porque se filtró algo embarazoso
womble
15

El problema no es VNC: no me malinterpreten, VNC es un protocolo horrible y tiene muchas fallas (la mayor es la falta de soporte de cifrado, por lo que todo pasa por la red en texto plano), pero no es el principal razón por la cual no se recomienda su uso en servidores.

¿Vas a instalar VNC para acceder a qué, una pantalla en negro? No, quería acceder a un entorno de escritorio completo, y ese es el verdadero problema.

Una vez que instale todo este software Gnome de escritorio (o similar), ya puede considerar que su servidor está comprometido, ya que quedan muchos errores por explotar en esta horrible y enorme colección de aplicaciones (además del hecho de que no está diseñado para la productividad y usa una tonelada de recursos). Una de las otras razones por las que no recomiendo este software y la mayoría de los entornos de escritorio de Linux es que se apoderan de todo el sistema casi como un rootkit e implementan sus propias versiones de todo (¿autenticación? No más usuarios y grupos sólidos) , ejecutemos este Policykit sin sentido como root que otorga permisos basados ​​en algunos archivos XML oscuros e ilegibles ... ¿configuración? ¿Quién necesita archivos de configuración legibles por humanos? Vamos a almacenar todo en bases de datos binarias que pueda '

Intentar instalar un entorno de escritorio Gnome en mi servidor Archlinux me dice "Tamaño total instalado: 1370.86 MiB". Eso es enorme, imagina la superficie de ataque adicional que tendrá este ex servidor una vez que esté instalado. Otros entornos de escritorio no son mucho mejores.

André Borie
fuente
"VNC es un protocolo horrible y tiene muchas fallas (la mayor es la falta de cifrado ...)" En situaciones en las que uno necesita VNC, no un entorno de servidor, su problema se evita al hacer un túnel en sus sesiones de VNC a través de ssh.
Keith Reynolds
@KeithReynolds, sí, pero debería estar incorporado especialmente cuando lo comparas con sus concurrentes, como el RDP más "actualizado" que se cifra de inmediato (seguro siempre que confíes en el certificado del servidor).
André Borie
77
Una filosofía de diseño es tener todas las soluciones posibles integradas (generalmente típicas de los desarrolladores de MS), y la otra es juntar lo que necesita (generalmente típico de los desarrolladores de Linux). Con respecto a VNC: cuando se necesita seguridad en una red ssh no confiable, se requiere una cuenta y proporcionar cifrado. Cuando la seguridad no es una preocupación, compartir los escritorios no requiere una cuenta del sistema o la sobrecarga del cifrado.
Keith Reynolds
2
@KeithReynolds otro problema de VNC es que envía mapas de bits puros en lugar de comandos de dibujo que se dibujan en el lado del cliente como RDP. Esto hace que VNC sea horrible de usar en cualquier cosa que no sea una red local, mientras que RDP permanece bien incluso en redes móviles deficientes.
André Borie
9

Obviamente estás abriendo otro puerto para un atacante; refutación: estamos detrás de dos firewalls universitarios (el firewall principal de la red de la universidad, así como el firewall especial de nuestra subred). VNC solo se podría lograr dentro de nuestra subred, así que estoy perdido ...

Nunca asuma que debido a que su sistema está detrás de un firewall, en una red privada, no necesita preocuparse por la seguridad. Muchas, si no la mayoría, las intrusiones exitosas son realizadas por personas internas (empleados, estudiantes, etc.) que tienen acceso a dichas redes.

Gene
fuente
-8

Pruebe esto para mantener contento al director técnico:

  • Instala VNC y el escritorio que quieras

  • NO instale un protector de pantalla de ningún tipo. ¿Por qué? No tiene una pantalla, y un escritorio sentado allí no consume muchos recursos.

  • NO reenvíe el puerto VNC. Si necesita usarlo, haga un túnel en el puerto VNC (5900) a través de SSH (puerto 22) y conéctese de esa manera.

Este proceso le proporciona cifrado y toda la seguridad de SSH, que ya está abierta. No agrega ningún problema de seguridad que no tenía antes.

Ya hago esto en mi propio servidor, no hay un retraso adicional notable en el proceso de VNC en comparación con una conexión directa.

Paul
fuente
99
" No agregas ningún problema de seguridad que no tenías antes " ni siquiera está cerca de ser cierto. La instalación de código adicional, y Andre B anterior le da una idea de cuánto código adicional estamos hablando, brinda más oportunidades para la escalada de privilegios por parte de los usuarios locales (ssh'ed-in).
MadHatter apoya a Monica el
44
Estoy de acuerdo en que la seguridad es un acto de equilibrio, pero afirmar que los actos (instalar software adicional) que son parte de la compensación no tienen inconvenientes es falso. Decir que hay pocos usuarios compartidos es igualmente engañoso: el autor de la pregunta dice que está ingresando en este momento, y no tenemos forma de saber cuántos otros lo hacen.
MadHatter apoya a Monica el
44
" OP ha determinado que SSH es lo suficientemente seguro ". La seguridad no es una propiedad que tienes o no tienes; es un grado de preparación contra un modelo de amenaza dado. Si el modelo de amenaza es " acceso no autorizado por usuario remoto ", entonces sí, sshes una buena defensa. Si el modelo de amenaza es " escalada de privilegios por usuario local autorizado" , entonces sshno es una defensa, e instalar toneladas de código adicional en el servidor aumenta significativamente la superficie de ataque. Womble es un administrador de sistemas experimentado con aproximadamente setenta mil veces su reputación en este sitio, por lo que es posible que desee ser fácil con los insultos.
MadHatter apoya a Monica el
1
@paul No, mi principal preocupación no era la falta de encriptación de VNC (puede mitigarse usando el túnel SSH), el problema principal es la enorme superficie de ataque de cualquier entorno de escritorio.
André Borie
3
@paul: tienes razón, no tengo absolutamente ningún sentido del equilibrio. No soy Fox News: no necesito ser "justo y equilibrado". Soy un administrador de sistemas: tengo que estar en lo cierto .
womble