Se publica un parche experimental para Linux que permite el particionado
del sistema operativo en entidades separadas e independientes,
posibilitando la creación de un número ilimitado de «servidores
virtuales» dentro de la misma máquina.
Cada servidor virtual puede tener una visión propia del sistema de
ficheros (vía «chroot» y «mount»), una IP separada (vía la nueva llamada
al sistema «set_ipv4root») y una lista de procesos independiente (vía la
nueva llamada al sistema «new_s_context»), para que los diferentes
servidores virtuales no puedan listar o acceder a procesos externos.
Con estas nuevas funcionalidades es posible crear servidores virtuales
arbitrarios, cada uno de ellos independiente de los demás y sin que se
produzcan interferencias entre ellos, incluso para los «superusuarios» o
«root», o ejecutables SETUID.
Todas las máquinas virtuales se ejecutan bajo la misma imagen de sistema
operativo, por lo que su rendimiento es óptimo, y no se requiere ningún
cambio en las herramientas para hacer uso de esta nueva funcionalidad.
Otros Unix disponen de funcionalidades similares, como la función «jail»
de *BSD, pero el parche propuesto para Linux es más flexible y permite
posibilidades extra, como que el «super super usuario» (el usuario
«root» del dominio de seguridad «root») pueda añadir nuevos procesos a
un servidor virtual ya creado y en funcionamiento.
Además «new_s_context» es una llamada a sistema no privilegiada,
pudiendo ser utilizada por cualquier usuario. Por ejemplo, para
«encerrar» un proceso no fiable y que éste no pueda interactuar con
otros procesos del sistema, incluso del mismo usuario. «set_ipv4root»
tampoco es una llamada privilegiada.
Se trata de un parche experimental pero bastante robusto. Cualquier
administrador de sistemas Linux debería echarle un vistazo, sobre
todo si su trabajo está relacionado con el hospedaje de máquinas
y/o servicios. Personalmente vería muy interesante que este parche
se acabase integrando con el kernel Linux estándar.
jcea@hispasec.com
Más información:
Announce: many virtual servers on a single box
http://lwn.net/2001/1018/a/virtual-servers.php3
Virtual private servers and security contexts
http://www.solucorp.qc.ca/miscprj/s_context.hc
One-Machine Linux Cluster
http://slashdot.org/article.pl?sid=01/11/06/2034233&mode=thread
Deja una respuesta