![Restringir el acceso de usuarios SSH a ciertos directorios usando Chrooted Jail](/f/2829239eda8253ddad4d01cb2700279c.png?width=100&height=100)
En el último artículo de esta serie, revisamos cómo configurar un recurso compartido de Samba en una red que puede constar de varios tipos de sistemas operativos. Ahora, si necesita configurar el uso compartido de archivos para un grupo de clientes similares a Unix, automáticamente pensará en la Sistema de archivos de red, o NFS para abreviar.
En este artículo lo guiaremos a través del proceso de uso Basado en Kerberos autenticación para NFS Comparte. Se asume que ya ha configurado un servidor NFS y un cliente. Si no es así, consulte instalar y configurar el servidor NFS - que enumerará los paquetes necesarios que deben instalarse y explicará cómo realizar las configuraciones iniciales en el servidor antes de continuar.
Además, querrá configurar ambos SELinux y Firewalld para permitir el intercambio de archivos a través de NFS.
El siguiente ejemplo asume que su NFS compartir se encuentra en /nfs en caja2:
# semanage fcontext -a -t public_content_rw_t "/nfs(/.*)?" # restorecon -R / nfs. # setsebool -P nfs_export_all_rw on. # setsebool -P nfs_export_all_ro on.
(donde el -PAG la bandera indica la persistencia entre reinicios).
Por último, no olvide:
1. Crea un grupo llamado nfs y agrega el nfsnobody usuario a él, luego cambie los permisos del /nfs directorio a 0770 y su propietario de grupo para nfs. Por lo tanto, nfsnobody (que se asigna a las solicitudes del cliente) tendrá permisos de escritura en el recurso compartido) y no necesitará usar no_root_squash en el /etc/exports expediente.
# groupadd nfs. # usermod -a -G nfs nfsnobody. # chmod 0770 / nfs. # chgrp nfs / nfs.
2. Modifique el archivo de exportaciones (/etc/exports) de la siguiente manera para permitir solo el acceso desde caja1 utilizando Kerberos seguridadsec = krb5).
Nota: que el valor de anongid se ha establecido en el GID del nfs grupo que creamos previamente:
exportaciones - Agregar recurso compartido de NFS
/ nfs box1 (rw, sec = krb5, anongid = 1004)
3. Reexportar (-r) todos (-a) las acciones de NFS. Agregar verbosidad a la salida (-v) es una buena idea, ya que proporcionará información útil para solucionar problemas del servidor si algo sale mal:
# exportfs -arv.
4. Reinicie y habilite el servidor NFS y los servicios relacionados. Tenga en cuenta que no tiene que habilitar nfs-lock y nfs-idmapd porque los otros servicios los iniciarán automáticamente al arrancar:
# systemctl restart rpcbind nfs-server nfs-lock nfs-idmap. # systemctl habilita rpcbind nfs-server.
En esta guía usaremos el siguiente entorno de prueba:
Nota: ese Kerberos El servicio es crucial para el esquema de autenticación.
Como puede ver, el NFS servidor y el KDC están alojados en la misma máquina para simplificar, aunque puede configurarlos en máquinas separadas si tiene más disponibles. Ambas máquinas son miembros de la midominio.com
dominio.
Por último, si bien no menos importante, Kerberos requiere al menos un esquema básico de resolución de nombres y la Protocolo de tiempo de red que el servicio esté presente tanto en el cliente como en el servidor, ya que la seguridad de la autenticación Kerberos se basa en parte en las marcas de tiempo de los tickets.
Para configurar la resolución de nombres, usaremos el /etc/hosts archivo tanto en el cliente como en el servidor:
archivo de host: agregar DNS para el dominio
192.168.0.18 caja1.midominio.com caja1. 192.168.0.20 recuadro2.midominio.com recuadro2.
En RHEL 7, cronicidad es el software predeterminado que se utiliza para NTP sincronización:
# yum instala Chrony. # systemctl iniciar chronyd. # systemctl habilitar chronyd.
Asegurarse cronicidad en realidad está sincronizando la hora de su sistema con los servidores de tiempo, es posible que desee ejecutar el siguiente comando dos o tres veces y asegurarse de que el desplazamiento se acerque a cero:
# seguimiento de chronyc.
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 instalado, edite los archivos de configuración (/etc/krb5.conf y /var/kerberos/krb5kdc/kadm5.acl) y reemplazar todas las instancias de example.com (minúsculas y mayúsculas) con midominio.com
como sigue.
Ahora crea el Kerberos base de datos (tenga en cuenta que esto puede llevar un tiempo ya que requiere un cierto nivel de entropía en su sistema. Para acelerar las cosas, abrí otra terminal y ejecuté ping -f localhost durante 30-45 segundos):
# kdb5_util crea -s.
A continuación, habilite Kerberos a través de cortafuegos e iniciar / habilitar los servicios relacionados.
Importante: nfs-secure también debe iniciarse y habilitarse en el cliente:
# firewall-cmd --permanent --add-service = kerberos. # systemctl start krb5kdc kadmin nfs-secure # systemctl enable krb5kdc kadmin nfs-secure
A continuación, usando el kadmin.local herramienta, cree un administrador principal para root:
# kadmin.local. # addprinc root / admin.
Y agrega el Kerberos servidor a la base de datos:
# addprinc -randkey host / box2.midominio.com.
Lo mismo con el NFS servicio para ambos clientescaja1) y servidor (caja2). Tenga en cuenta que en la captura de pantalla a continuación olvidé hacerlo por caja1 antes de dejar de fumar:
# addprinc -randkey nfs / box2.mydomain.com. # addprinc -randkey nfs / box1.mydomain.com.
Y Salida escribiendo renunciar y presionando Enter:
A continuación, obtenga y almacene en caché el ticket de concesión de tickets de Kerberos para root / admin:
# kinit root / admin. # klist.
El último paso antes de usar realmente Kerberos se almacena en un keytab archivo (en el servidor) los principales que están autorizados a utilizar la autenticación Kerberos:
# kadmin.local. # ktadd host / box2.midominio.com. # ktadd nfs / box2.midominio.com. # ktadd nfs / box1.mydomain.com.
Finalmente, monte el recurso compartido y realice una prueba de escritura:
# montaje -t nfs4 -o sec = krb5 caja2: / nfs / mnt. # echo "Hola desde Tecmint.com"> /mnt/greeting.txt.
Vamos ahora desmontar el recurso compartido, cambie el nombre del keytab archivo en el cliente (para simular que no está presente) e intente montar el recurso compartido nuevamente:
# umount / mnt. # mv /etc/krb5.keytab /etc/krb5.keytab.orig.
Ahora puedes usar el NFS compartir con Basado en Kerberos autenticación.
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 página en línea. Documentación de Kerberos y dado que Kerberos es un poco complicado por decir lo menos, no dude en enviarnos una nota utilizando el formulario a continuación si tiene algún problema o necesita ayuda con su prueba o implementación.