Configuración del servidor NFS con autenticación basada en Kerberos para clientes de Linux - Parte 7

Configuración del servidor NFS con autenticación basada en Kerberos para clientes de Linux - Parte 7

En el último artículo de esta serie, revisamos cómo configurar una Samba Share sobre una red que puede consistir en múltiples tipos de sistemas operativos. Ahora, si necesita configurar el intercambio de archivos para un grupo de clientes de unix, pensar automáticamente en el Sistema de archivos de red, o NFS para abreviar.

Serie RHCE: Configuración del servidor NFS con la autenticación Kerberos - Parte 7

En este artículo lo guiaremos a través del proceso de uso Con sede en Kerberos autenticación para NFS Comparte. Se supone que ya ha configurado un servidor NFS y un cliente. De lo contrario, consulte Instalar y configurar el servidor NFS, que enumerará los paquetes necesarios que deben instalarse y explicar cómo realizar configuraciones iniciales en el servidor antes de continuar.

Además, querrá configurar Selinux y Firewalld para permitir el intercambio de archivos a través de NFS.

El siguiente ejemplo supone que su NFS Share se encuentra en /NFS en caja:

# semanage fcontext -a -t public_content_rw_t "/nfs (/.*)?" # restaurecon -r /nfs # setsebool -p nfs_export_all_rw en # setseBool -p nfs_export_all_ro on 

(donde el -PAG La bandera indica persistencia a través de reinicios).

Finalmente, no olvides:

Crear grupo NFS y configurar el directorio de compartir NFS

1. Crea un grupo llamado NFS y agregar el nfsnobody usuarle, luego cambiar los permisos del /NFS directorio 0770 y el dueño de su grupo para NFS. De este modo, nfsnobody (que se asigna a las solicitudes del cliente) tendrá permisos de escritura en la acción) y no necesitará usar no_root_squash en el /etc/exportaciones archivo.

# GroupAdd NFS # usermod -a -g nfs nfsnobody # chmod 0770 /nfs # chgrp nfs /nfs 

2. Modificar el archivo de exportaciones (/etc/exportaciones) como sigue solo para permitir el acceso desde caja usando Kerberos seguridad (Sec = KRB5).

Nota: que el valor de anongid se ha establecido en el Aturdir del NFS grupo que creamos anteriormente:

Exportaciones - Agregar compartir NFS
/NFS Box1 (RW, Sec = KRB5, Anongid = 1004) 

3. Reexportar (-r) todo (-a) las acciones de NFS. Agregar verbosidad a la salida (-V) es una buena idea, ya que proporcionará información útil para solucionar el servidor si algo sale mal:

# exportfs -arv 

4. Reiniciar y habilitar el servidor NFS y los servicios relacionados. Tenga en cuenta que no tiene que habilitar Lock NFS y NFS-IDMAPD Porque los otros servicios iniciarán automáticamente: Boot:

# SystemCTL reiniciar rpcbind nfs-server nfs-lock nfs-idmap # systemCTL habilitar rpcbind nfs-server 

Entorno de prueba y otros requisitos previos

En esta guía usaremos el siguiente entorno de prueba:

  1. Máquina de cliente [Box1: 192.168.0.18]
  2. Servidor NFS / Kerberos [Box2: 192.168.0.20] (también conocido como Centro de distribución de llave, o KDC para abreviar).

Nota: eso Kerberos El servicio es crucial para el esquema de autenticación.

Como puedes ver, el NFS servidor y el KDC están alojados en la misma máquina por simplicidad, aunque puede configurarlas en máquinas separadas si tiene más disponibles. Ambas máquinas son miembros del mi dominio.comunicarse dominio.

Por último, pero no menos importante, Kerberos requiere al menos un esquema básico de resolución de nombres y el servicio de protocolo de tiempo de red para estar presente tanto en el cliente como en el servidor, ya que la seguridad de la autenticación de Kerberos se basa en parte en las marcas de tiempo de los boletos.

Para configurar la resolución de nombre, usaremos el /etc/huéspedes Archivo tanto en el cliente como en el servidor:

Archivo de host: agregar DNS para el dominio
192.168.0.18 Box1.mi dominio.com box1 192.168.0.20 Box2.mi dominio.x2 combo 

En Rhel 7, cronía es el software predeterminado que se utiliza para NTP sincronización:

# yum instalación Chrony # SystemCTL Start Chronyd # SystemCTL Habilitar Chronyd 

Asegurarse cronía en realidad es sincronizar el tiempo de su sistema con servidores de tiempo, es posible que desee emitir el siguiente comando dos o tres veces y asegurarse de que el desplazamiento se esté acercando a cero:

# seguimiento cronyc 
Sincronice el tiempo del servidor con Chrony

Instalación y configuración de Kerberos

Para configurar el KDC, Instale los siguientes paquetes en ambos servidor y cliente (omita el paquete del servidor en el cliente):

# Yum Update && Yum install Krb5-server KRB5-WorkStation PAM_KRB5 

Una vez que esté instalado, edite los archivos de configuración (/etc/krb5.confusión y /var/kerberos/krb5kdc/kadm5.LCA) y reemplace todas las instancias de ejemplo.comunicarse (minúsculas y mayúsculas) con mi dominio.comunicarse como sigue.

Ahora crea el Kerberos base de datos (tenga en cuenta que esto puede llevar un tiempo, ya que requiere un nivel de entropía en su sistema. Para acelerar las cosas, abrí otra terminal y corrí ping -f localhost por 30-45 segundos):

# kdb5_util create -s 
Crear base de datos Kerberos

A continuación, habilitar Kerberos a través de cortafuegos e iniciar / habilitar los servicios relacionados.

Importante: NFS-SECURA Debe ser iniciado y habilitado en el cliente también:

# firewall-cmd --Permanent --Add-service = Kerberos # SystemCTL Inicio KRB5KDC Kadmin NFS-SECURE # SystemCTL Habilitar KRB5KDC Kadmin NFS-SECURE 

A continuación, usando el kadmin.local herramienta, cree un principal administrador para la raíz:

# Kadmin.local # addprinc root/admin 

Y agregar el Kerberos servidor a la base de datos:

# addprinc -randkey host/box2.mi dominio.comunicarse 

Lo mismo con el NFS servicio para ambos clientes (caja) y servidor (caja). Tenga en cuenta que en la captura de pantalla a continuación olvidé hacerlo caja Antes de dejar de fumar:

# addprinc -randkey nfs/box2.mi dominio.com # addprinc -randkey nfs/box1.mi dominio.comunicarse 

Y salida escribiendo abandonar y presionando Enter:

Agregue Kerberos al servidor NFS

Luego obtenga y cache Kerberos Ticket Bicking para root/admin:

# Kinit Root/Admin # Klist 
Caché kerberos

El último paso antes de usar realmente Kerberos está almacenando en un keytab Archivo (en el servidor) los principales que están autorizados para usar la autenticación Kerberos:

# Kadmin.local # ktadd host/box2.mi dominio.com # ktadd nfs/box2.mi dominio.com # ktadd nfs/box1.mi dominio.comunicarse 

Finalmente, monte la acción y realice una prueba de escritura:

# monte -t ​​nfs4 -o sec = krb5 box2: /nfs /mnt # echo "Hola desde tecmint.com "> /mnt /saludo.TXT 
MONTACIÓN DE MOUNT NFS

Vamos ahora desmontar la parte, cambie el nombre del keytab Archivo en el cliente (para simularlo no está presente) e intente volver a montar el compartir:

# Umount /Mnt # MV /etc /KRB5.keytab /etc /krb5.keytab.oriente 
Mount Unmount Kerberos NFS Share

Ahora puedes usar el NFS compartir con Con sede en Kerberos autenticación.

Resumen

En este artículo hemos explicado cómo configurar NFS con Kerberos autenticación. Dado que hay mucho más en el tema de lo que podemos cubrir en una sola guía, no dude en consultar la documentación de Kerberos en línea y, dado que Kerberos es un poco difícil por decir lo menos, no dude en dejarnos una nota usando el formulario a continuación Si se encuentra con algún problema o necesita ayuda con su prueba o implementación.