¿Es más seguro usar una cárcel chroot, un caparazón de cárcel o una combinación?

9

Una amiga mía tiene una netbook Acer basada en xandros, y ha estado buscando un poco de administración remota y ayuda mía mientras viaja por el mundo.
He configurado una cuenta en su netbook para que pueda ingresar, y configuré un script para invertir el túnel ssh desde su netbook a mi servidor; esto me permite solucionar los problemas con los firewalls, etc. en varios hostales y hoteles. Una vez que ella ha ingresado a mi servidor, puedo enviarla a su netbook.

Tengo un script bash que se ejecuta como su shell cuando ingresa a mi servidor, lo que solo le da una especie de pantalla de 'por favor espere', y la única opción es salir del script y, por lo tanto, iniciarse del servidor

El usuario que he creado para ella en mi servidor tiene pocos derechos, pero es probable que haya alguna vulnerabilidad que signifique que ella tendría acceso ssh a mi servidor.

Estoy considerando también usar una cárcel chroot, por lo que si escapa, solo tendría acceso a su directorio de inicio.
¿Es una buena idea, y hay algún otro consejo de seguridad que pueda haber pasado por alto para mantener mi servidor seguro y al mismo tiempo permitirme acceder a su netbook de forma remota?

Para aclarar, no creo que intente escapar de la cárcel o del chroot, pero me gustaría saber cómo podría evitar esto por si acaso.

Actualización: ¿
Y tiene alguna otra sugerencia sobre cómo podría acceder al netbook u otras capas que podría colocar entre el usuario y mi hardware?

Andy
fuente

Respuestas:

3

¿Ha considerado configurar VNC u otra aplicación de control remoto en un puerto que normalmente no es filtrado por un firewall por reglas?

Una configuración de ejemplo de esto tendría VNC (u otra aplicación similar) cargada en el portátil. Luego, ejecute el script lateral de su computadora portátil para llegar a su servidor en un puerto específico que el firewall no filtrará para establecer su ruta de retorno al sistema. 443 es probablemente el mejor puerto para usar para esto, pero otros también son adecuados. Luego, desde su sistema, simplemente se conecta a VNC directamente o replica un puerto en su servidor a otro número de puerto y simplemente se conecta a la interfaz en el puerto local y la redirección del puerto se encargará de llevarlo al otro sistema en el extremo remoto.

Espero que esto ayude.

Axxmasterr
fuente
Gracias por la sugerencia. No lo había considerado porque realmente no he visto muchos clientes vnc en Linux que hacen obvia la conexión inversa en Linux. ¿Sabes de alguno?
Andy
Una forma de hacerlo es utilizar un programa TCP / IP que sea capaz de establecer el puerto de una manera. Automatizar esto con una conexión de estilo telnet desde un script de shell funcionaría bien. La mayoría de las implementaciones de telnet le permiten especificar el puerto al que está intentando conectarse.
Axxmasterr
2

La cárcel chroot ayudará, pero con un exploit que permite que alguien entre en un shell, aún podrían ver la tabla de procesos y tal, y ejecutar programas, posiblemente más exploits. Si usted quiere realmente ser agresivo sobre el aislamiento del usuario externo, que es una especie de la utilización de un obús en una hormiga, pero se puede configurar un servidor privado virtual para todo el mecanismo de túnel SSH. Entonces, lo peor que pueden hacer es destruir el VPS, salvo la capacidad de salir de uno, que es una barra bastante alta.

caos
fuente
Me gusta la idea, pero sí, un rodillo de vapor para romper una nuez :) Por otra parte, si ejecuto algo realmente pequeño como un cachorro linux solo como terminal como el servidor, no sería tan grande como un rodillo de vapor.
Andy
2

Soy un fanático de una buena estrategia de defensa en profundidad cuando se trata de asegurar un sistema informático, por lo que recomendaría que use una cuenta de bajo privilegio en un sistema de archivos chrooteado, e incluso entonces no es una garantía, solo mire el iPhone, hace ambas cosas y todavía no ayuda.

Bruce McLeod
fuente
2

Otra forma de desollar este animal ahora que lo estoy pensando es hacer un túnel de tráfico de sesión dentro de un túnel SSH como alternativa al uso de VNC. Ya estás a medio camino con tu configuración actual.

Configure la capacidad X en un puerto específico localmente a esa máquina, luego reenvíe ese puerto a usted a través del túnel y luego repítalo a un puerto de su lado para que pueda conectarse a la sesión en el puerto local de su servidor.

Otra cosa que he encontrado que es completamente útil para este tipo de cosas es el DNS dinámico. Esto le permitirá establecer un FQDN resoluble que puede consultar cuando sea necesario. DyDns se ejecuta como un servicio ligero en el sistema en el que lo tiene instalado y actualiza el registro cada vez que cambia la información de la dirección IP.

Axxmasterr
fuente