Los servicios NFS utilizan los UID de UNIX para identificar al usuario y no pueden usar los principales de forma directa. Para traducir el principal a un UID, debe crearse una tabla de credenciales que reasigne los principales de usuario a UID de UNIX. Los procedimientos siguientes se centran en las tareas necesarias para configurar un servidor NFS SEAM, para administrar la tabla de credenciales y para iniciar las modalidades de seguridad de Kerberos para los sistemas de archivos montados mediante NFS. La tabla siguiente describe las tareas analizados en este apartado.
Tabla 3-3 Mapa de tareas de la configuración del servidor NFS SEAM
Tarea |
Descripción |
Para obtener instrucciones, vaya a ... |
---|---|---|
Configurar un servidor NFS SEAM | Pasos para habilitar un servidor para que comparta un sistema de archivos que requiere la autenticación Kerberos. | "Configuración de los servidores NFS SEAM" |
Cambiar el mecanismo de componente trasero para la tabla de credenciales | Pasos para definir el mecanismo de componente trasero que utiliza gsscred. | "Cambio del mecanismo de componente trasero para la tabla gsscred" |
Crear una tabla de credenciales | Pasos para generar una tabla de credenciales. | "Creación de una tabla de credenciales" |
Cambiar la tabla de credenciales que reasigna los principales de usuario a UID de UNIX. | Pasos para actualizar la información de la tabla de credenciales. | "Adición de una única entrada a la tabla de credenciales" |
Compartir un sistema de archivos con autenticación Kerberos | Pasos para compartir un sistema de archivos con modalidades de seguridad para que sea necesaria la autenticación Kerberos. | "Configuración de un entorno de NFS seguro con varias modalidades de seguridad de Kerberos" |
Este procedimiento requiere que se haya configurado el KDC maestro. Para probar el proceso totalmente, necesita varios servidores. Se utilizan los parámetros de configuración siguientes:
nombre de ámbito = ACME.COM
nombre de dominio de DNS = acme.com
servidor NFS = puebla.acme.com
principal admin = kws/admin
Requisitos previos para configurar un servidor NFS SEAM.
El software de cliente de SEAM debe estar instalado.
Opcional: instale el cliente de NTP u otro mecanismo de sincronización de reloj.
Véase "Sincronización de relojes entre los KDC y los clientes SEAM" para obtener información sobre NTP.
Inicie kadmin.
El uso de la Herramienta de administración SEAM para agregar un principal se explica en "Creación de un principal nuevo". El ejemplo siguiente muestra cómo agregar los principales necesarios mediante la línea de comandos. Debe iniciar una sesión con uno de los nombres de principal admin que creó al configurar el KDC maestro.
puebla # /usr/krb5/sbin/kadmin -p kws/admin Escriba la contraseña: <Escriba la contraseña de kws/admin> kadmin: |
Cree el principal de servicio NFS del servidor.
kadmin: addprinc -randkey nfs/puebla.acme.com Principal "nfs/puebla.acme.com" creado. kadmin: |
Opcional: cree un principal root para el servidor NFS.
kadmin: addprinc root/puebla.acme.com Escriba la contraseña para el principal root/puebla.acme.com@ACME.COM: <escriba la contraseña> Vuelva a escribir la contraseña para el principal root/puebla.acme.com@ACME.COM: <escríbala de nuevo> Principal "root/puebla.acme.com@ACME.COM" creado. kadmin: |
Agregue el principal de servicio NFS del servidor a la tabla de claves de éste.
kadmin: ktadd nfs/puebla.acme.com kadmin: Entrada para el principal nfs/puebla.acme.com con kvno 3, tipo de codificación DES-CBC-CRC agregado a la tabla de claves WRFILE:/etc/krb5/krb5.keytab. kadmin: quit |
Salga de kadmin
kadmin: quit |
Cree la tabla gsscred.
Para obtener más información, véase "Creación de una tabla de credenciales".
Comparta el sistema de archivos NFS mediante las modalidades de seguridad de Kerberos.
Para obtener más información, véase "Configuración de un entorno de NFS seguro con varias modalidades de seguridad de Kerberos".
En cada cliente: autentique a los principales de usuario y de root.
Para más información, véase "Configuración de la autenticación de root para montar los sistemas de archivos NFS".
Conviértase en superusuario en el servidor NFS.
Edite /etc/gss/gsscred.conf y cambie el mecanismo.
Puede utilizarse uno de los mecanismos de componente trasero siguientes: files, xfn_files, xfn_nis, xfn_nisplus o xfn. En "Uso de la tabla gsscred" se comentan las ventajas de cada uno de estos mecanismos.
Los servidores NFS utilizan la tabla de credenciales gsscred para reasignar los principales de SEAM a un UID. Para que los clientes NFS puedan montar los sistemas de archivos de un servidor NFS mediante la autenticación Kerberos, debe crearse esta tabla o hacerla disponible.
Conviértase en superusuario en el servidor apropiado.
Desde qué servidor se ejecuta este comando o bajo qué ID, depende del mecanismo de componente trasero que se haya seleccionado para que admita la tabla gsscred. Para todos los mecanismos excepto xfn_nisplus, debe convertirse en root.
Si su mecanismo de componente trasero es ... |
entonces ... |
---|---|
files |
Se ejecuta en el servidor NFS |
xfn |
Se selecciona un sistema basado en el valor predeterminado de los archivos xfn |
xfn_files |
Se ejecuta en el servidor NFS |
xfn_nis |
Se ejecuta en el servidor NIS |
xfn_nisplus |
Se ejecuta en cualquier parte mientras estén listos los permisos para cambiar los datos de NIS+. |
Opcional: si no existe /var/fn y desea utilizar una de las opciones de xfn, cree una base de datos XFN inicial.
# archivos fnselect # fncreate -t org -o org// |
Cree la tabla de credenciales mediante gsscred.
El comando recopila información de todas las fuentes enumeradas con la entrada passwd de /etc/nsswitch.conf. Si no desea que las entradas de contraseña locales se incluyan en la tabla de credenciales, quizás deba eliminar temporalmente la entrada files. Para obtener más información, véase la página del comando man gsscred(1M).
# gsscred -m kerberos_v5 -a |
Este procedimiento requiere que ya se haya instalado la tabla gsscred en el servidor NFS.
Conviértase en superusuario en un servidor NFS.
Agregue una entrada a la tabla mediante gsscred.
# gsscred -m [mechanismo] -n [nombre] -u [uid] -a |
mecanismo |
El mecanismo de seguridad que se utilizará. |
nombre |
El nombre de principal del usuario, según está definido en el KDC. |
uid |
El UID del usuario, según está definido en la base de datos de contraseñas. |
-a |
Agrega el UID a la reasignación de nombres de principal. |
El ejemplo siguiente agrega una entrada para el usuario llamado sandra, que está reasignado al UID 3736. Si no se incluye el UID en la línea de comandos, se obtendrá en el archivo de contraseñas.
# gsscred -m kerberos_v5 -n sandra -u 3736 -a |
Conviértase en superusuario en el servidor NFS.
Edite el archivo /etc/dfs/dfstab y agregue la opción sec= con las modalidades de seguridad necesarias a las entradas apropiadas.
# share -F nfs -o [modalidad] [sistema_archivos] |
modalidad |
Las modalidades de seguridad que se utilizarán durante la compartición. Cuando se utilicen varias modalidades de seguridad, autofs utilizará la primera de la lista como la predeterminada. |
sistema_archivos |
La ruta del sistema de archivos que compartirá. |
Todos los clientes que intenten acceder a los archivos del sistema de archivos nombrado requieren la autenticación Kerberos. Para terminar el acceso a los archivos, deben estar autenticados el principal de usuario y el principal root del cliente NFS.
Compruebe que el servicio NFS se está ejecutando en el servidor.
Si es el primer comando o conjunto de comandos de compartición que ha iniciado, es probable que no se estén ejecutando los daemons de NFS. El conjunto de comandos siguiente finaliza los daemons y los reinicia.
# /etc/init.d/nfs.server stop # /etc/init.d/nfs.server start |
Opcional: si utiliza autofs, edite los datos de auto_master
para seleccionar una modalidad de seguridad distinta a la predeterminada.
Si no utiliza autofs para acceder al sistema de archivos o si es aceptable la selección predeterminada de la modalidad de seguridad, no es necesario que siga este procedimiento.
/home auto_home -nosuid,sec=krbi |
Opcional: envíe manualmente el comando mount para acceder al sistema de archivos mediante una modalidad no predeterminada.
Otra solución es utilizar el comando mount para especificar la modalidad de seguridad, pero esto no aprovecha las ventajas del montador automático:
# mount -F nfs -o sec=krb5p /export/home |
Este ejemplo requerirá la autenticación Kerberos para poder acceder a los archivos.
# share -F nfs -o sec=krb5 /export/home |
En este ejemplo, se han seleccionado las tres modalidades de seguridad de Kerberos. Si no se especifica ninguna modalidad de seguridad cuando se realiza una solicitud de montaje, se utilizará la primera modalidad enumerada en todos los clientes NFS V3 (en este caso, krb5). Puede encontrarse información adicional en "Cambios en el comando share".
# share -F nfs -o sec=krb5:krb5i:krb5p /export/home |