viernes, 9 de mayo de 2008

Xen

1. Ajustando el contexto de seguridad para las imágenes Xen
La política de SELinux dirigida a Xen requiere que los discos con las imágenes de Xen tengan el contexto xen_image_t. Si una imagen no está en este contexto, el acceso a la imagen será negado para el sistema domU (instaladores basados en Anaconda, como el instalador de CentOS fallará al buscar el disco duro que esta imagen debiera suministrar). Por defecto, dos directorios están definidos con este contexto:

/var/lib/xen/images(/.*)? system_u:object_r:xen_image_t:s0
/xen(/.*)? system_u:object_r:xen_image_t:s0
Además, el contexto se puede especificar explícitamente a los ficheros o directorios con el comando chcon, o adicionar un contexto de fichero local personalizado si es que necesita mantener el contexto correcto cuando estos sean restaurados por alguna razón. Por ejemplo, en el caso que quiciéramos mantener las imágenes en /srv/xen, los comandos siguientes preparan este directorio para el uso de las imágenes Xen:

# mkdir -p /srv/xen
# semanage fcontext -a -t xen_image_t "/srv/xen(/.*)?"
El segundo comando adiciona las líneas siguientes a /etc/selinux/targeted/contexts/files/file_contexts.local:

/srv/xen(/.*)? system_u:object_r:xen_image_t:s0
y recarga la política de SELinux. Ahora que el contexto correcto del fichero es conocido para la política, usted puede usar el comando restorecon para dar el contexto correcto al directorio, de forma recursiva:

# restorecon -R /srv/xen
Si lo considera necesario, puede verificar, con el comando ls, si el contexto fue ajustado correctamente:

# ls -dZ /srv/xen
drwxr-xr-x root root system_u:object_r:xen_image_t /srv/xen

2. Manipulación de la consola

El dispositivo de consola por defecto en un sistema domU es xvc0. Esto es a lo que xm console se adjunta. Para poder entrar en esta consola, una instancia agetty tiene que escuchar a xvc0. Si este no es el caso, usted verá solamente los mensajes de syslog que fueron redireccionados a esta consola específica o a todas las consolas. Kudzu automáticamente adiciona una entrada para xvc0 al fichero /etc/inittab si /dev/console y /dev/xvc0 hacen referencia al mismo dispositivo (tal es el caso si xvc0 es el dispositivo de consola primario o único). Si usted utiliza un dispositivo framebuffer, este no será el caso, y una entrada xvc0 no será adicionada a /etc/inittab. Virt-manager utiliza el framebuffer virtual, lo que puede determinarse buscando la opción vfb a través del fichero de configuración dominio: Ej.:

vfb = ["type=vnc,vncunused=1"]
Si aun a usted le gustaría poder entrar via xvc0, adicione la línea siguiente a /etc/inittab en el domU:

co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav

ImportanteAdemás, adicione xvc0 a /etc/securetty.

Usted puede permitirle a init releer el fichero /etc/inittab como root, con:

# telinit q

3. Definición de otra disposición de teclado a través de virt-manager

Probablemente haya visto que la disposición del teclado en un sistema DomU para-virtualizado siempre actúa como la de un teclado qwerty a través de virt-manager y no usa la disposición del teclado declarada durante la configuración (en /etc/sysconfig/keyboard). Este comportamiento solo sucede si usted usa vfb (a través de virt-manager o directamente con vncviewer). Si usted usa xm console, el sistema utilizará la disposición correcta del teclado.

Pero comenzando desde CentOS 5.1 (y de esta forma con los paquetes xen-3.0.3-41.el5, xen-libs-3.0.3-41.el5, libvirt-0.2.3-9.el5 y virt-manager-0.4.0-3.el5) usted puede usar otra disposición de teclado diferente a qwerty dentro de un DomU a través de virt-manager. Desafortunadamente, esto no puede ser realizado en el mismo virt-manager, pero sí sobre un invitado ('guest') en el fichero de configuración.

Aquí está un ejemplo de un DomU usando un teclado con una disposición Belga (be-latin1):

vfb = [ "type=vnc,vncunused=1,keymap=fr-be" ]
Desde luego, usted tiene que fijar la disposición correcta. Los posibles mapas de caracteres están ubicados en: /usr/share/xen/qemu/keymaps.

Además, usted puede configurar algunas disposiciones de teclados como predeterminadas para todos los domU. Para hacer esto, edite el fichero /etc/xen/xend-config.sxp, y luego adicione una línea como la siguiente (ej para teclados en francés):

(keymap 'fr')
Para que este cambio en la configuración se active, el demonio Xen necesita ser reiniciado:

service xend restart

No hay comentarios: