Llevo un tiempo con un proyecto para cambiar el estilo de seguridad de nuestros exports NFS a kerberos. En Data ONTAP, al crear un nuevo export, el estilo de seguridad por defecto, si no especificamos uno, es SYS que se basa únicamente en el user-id y los groups-id a los que pertenece el usuario.
Como referencia, para usar Kerberos como método de autenticación al montar recursos NFS remotos, podemos usar tres tipos de modos de seguridad diferentes:
- krb5, es el más simple y solo se basa en la autenticación del usuario, que intenta acceder al punto de montaje, mediate el protocolo Kerberos V5.
- krb5i, añade al antetrior comprobaciones de integridad para asegurar que no se han alterado los datos en la red, con algún tipo de ataque MITM.
- krb5p, el más seguro de los tres y que, a los dos modos anteriores, añade la encriptación a todo el tráfico de red entre el cliente y el servidor NFS. Como es lógico este estilo de seguridad puede impactar en el rendimiento de los equipos implicados en la comunicación.
Y todo esto, ¿como lo usamos en Data ONTAP?, pues para no variar de una manera muy simple, siempre y cuando hayamos configurado el servicio nfs para usar un KDC, ya sea un AD o un KDC Unix, al lanzar el comando nfs setup.
Suponiendo que ya lo tengamos correctamente configurado, exportar cualquier qtree usando cualquiera de los tres modos de seguridad kerberos, es tan sencillo como usar un comando como el mostrado en la siguiente imagen.
|
Exportando un qtree con seguridad kerberos. |
|
|
De esta manera forzamos a que el cliente solo pueda usar el modo krb5p con lo que, si no lo soporta, no será capaz de montar dicho export. Una forma más correcta y compatible de hacerlo es especificar varios modos al realizar el export, lo cual hacemos separando cada estilo de seguridad disponible del siguiente modo:
|
Exportando un qtree con varios modos de seguridad kerberos. |
|
|
De esta manera, cuando un cliente NFS intente montar dicho recurso negociará con el servidor el modo de seguridad a utilizar entre los que tenga disponibles.
Bueno, pues esta es la parte fácil, luego hay que ir a cada cliente y configurarlo adecuadamente. En el caso de Solaris 10, un sistema operativo de verdad, es tan fácil como descomentar las líneas de cada uno de los modos de seguridad que queremos que soporte el cliente NFS del archivo /etc/nfssec.conf y lanzar el comando mount:
|
Montando un recurso NFS usando seguridad krb5p en Solaris 10. |
|
Pero espera, ¿que root no puede acceder a esa ruta? totalmente lógico, porque dicho usuario no debería tener un ticket de kerberos, fácil de comprobar con el comando klist. Para poder acceder a dicho punto de montaje, necesitaré que root tenga un ticket de kerberos válido y para eso, usando el comando kinit y el nombre de un usuario válido en el reino kerberos conseguiremos el acceso que necesitamos:
|
Accediendo a un puntode montaje con un ticket kerberos. |
Pues otro día continúo un poco más con esto, pero lo cierto es que ya es más configurar los clientes que hacer cambios en el almacenamiento ya que, en ONTAP, el proceso es bastante rápido y simple como hemos visto.