Cette section présente les tests de montage et les captures de trafic qui ont été réalisés avant la sécurisation des échanges NFS. Il s'agit à présent de caractériser les effets du durcissement de la configuration sur l'interception et l'usurpation.
L'automontage du répertoire utilisateur doit se faire lors de la
connexion au compte utilisateur etu-nfs
que l'on a créé manuellement sur le
serveur et sur le client NFS.
Nous avons la confirmation que les fonctions de sécurisation des transactions NFS sont actives.
Nous reprenons ici la capture du trafic entre le client et le
serveur NFS lors de
l'utilisation des commandes qui utilisent le port sunrpc/111
comme rpcinfo ou showmount.
Lorsque NFS est configuré
pour utiliser TLS via
tlshd
, tout service s'exécutant
derrière tlshd
voit son trafic
RPC protégé par TLS.
Comme rpcinfo ne
peut pas se connecter au point de terminaison RPC encapsulé dans TLS, il communique en clair avec les points de
terminaison traditionnels non TLS (comme portmap/rpcbind
s'exécutant sans tlshd
).
On reprend la même capture de trafic que celle réalisée lors de la question Q : Q89.
Les résultats de cette section illustrent l'efficacité du renforcement de la sécurité NFS. Grâce à la mise en œuvre de Kerberos et de TLS, les échanges entre le client et le serveur sont désormais chiffrés et protégés, ce qui réduit considérablement les risques d'interception des données échangées et d'usurpation d'identité.
Il convient toutefois de noter une exception concernant le service portmapper, pour lequel le chiffrement de bout en bout n'est pas assuré. Ce défaut peut être compensé par une politique de filtrage qui restreint l'utilisation de ce service aux seuls hôtes habilités à diagnostiquer le fonctionnement des services NFS.
Lors de la connexion avec l'identité etu-nfs
sur le client NFS, kerberos
doit vérifier les identités de l'hôte client et de
l'utilisateur.
Pour valider le fonctionnement de l'authentification Kerberos, on peut consulter les journaux systèmes.
Q111. |
Comment valider le fonctionnement du protocole Kerberos et l'utilisation correcte des principaux ? Consultez les journaux du services KDC et vérifiez la correspondance avec les principaux définis dans la Section 8, « Sécuriser les transactions NFS ». |
Commencez par une consultation directe du journal du service
journalctl -u krb5-kdc Repérez les messages d'échanges dans lesquels les principaux sont référencés et isolez les dans un fichier texte. Voici un exemple qui englobe le démarrage du service dans les 28 dernières lignes du journal : journalctl -u krb5-kdc -n 28 > krb5-journal.txt cat krb5-journal.txt | sed 's/^.\{16\}//' srvr (krb5kdc)[700]: krb5-kdc.service: Referenced but unset environment variable evaluates to an empty string: DAEMON_ARGS srvr krb5kdc[700]: preauth spake failed to initialize: No SPAKE preauth groups configured srvr krb5kdc[700]: setting up network... srvr krb5kdc[700]: Setting up UDP socket for address 0.0.0.0.750 srvr krb5kdc[700]: Setting pktinfo on socket 0.0.0.0.750 srvr krb5kdc[700]: Setting up UDP socket for address ::.750 srvr krb5kdc[700]: setsockopt(9,IPV6_V6ONLY,1) worked srvr krb5kdc[700]: Setting pktinfo on socket ::.750 srvr krb5kdc[700]: Setting up UDP socket for address 0.0.0.0.88 srvr krb5kdc[700]: Setting pktinfo on socket 0.0.0.0.88 srvr krb5kdc[700]: Setting up UDP socket for address ::.88 srvr krb5kdc[700]: setsockopt(11,IPV6_V6ONLY,1) worked srvr krb5kdc[700]: Setting pktinfo on socket ::.88 srvr krb5kdc[700]: Setting up TCP socket for address 0.0.0.0.88 srvr krb5kdc[700]: Setting up TCP socket for address ::.88 srvr krb5kdc[700]: setsockopt(13,IPV6_V6ONLY,1) worked srvr krb5kdc[700]: set up 6 sockets srvr krb5kdc[734]: commencing operation srvr systemd[1]: Started krb5-kdc.service - Kerberos 5 Key Distribution Center. srvr krb5kdc[734]: AS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: NEEDED_PREAUTH: etu-nfs@LAB.LOCAL for krbtgt/LAB.LOCAL@LAB.LOCAL, Additional pre-authentication required srvr krb5kdc[734]: AS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: ISSUE: authtime 1759559434, etypes {rep=aes256-cts-hmac-sha1-96(18), tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)}, etu-nfs@LAB.LOCAL for krbtgt/LAB.LOCAL@LAB.LOCAL srvr krb5kdc[734]: AS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: NEEDED_PREAUTH: nfs/nfs-client.lab.local@LAB.LOCAL for krbtgt/LAB.LOCAL@LAB.LOCAL, Additional pre-authentication required srvr krb5kdc[734]: AS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: ISSUE: authtime 1759559434, etypes {rep=aes256-cts-hmac-sha1-96(18), tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)}, nfs/nfs-client.lab.local@LAB.LOCAL for krbtgt/LAB.LOCAL@LAB.LOCAL srvr krb5kdc[734]: TGS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: ISSUE: authtime 1759559434, etypes {rep=aes256-cts-hmac-sha1-96(18), tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)}, nfs/nfs-client.lab.local@LAB.LOCAL for nfs/nfs-server@LAB.LOCAL srvr krb5kdc[734]: TGS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: ISSUE: authtime 1759559434, etypes {rep=aes256-cts-hmac-sha1-96(18), tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)}, etu-nfs@LAB.LOCAL for nfs/nfs-server@LAB.LOCAL srvr krb5kdc[734]: AS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: CLIENT_NOT_FOUND: etu@LAB.LOCAL for krbtgt/LAB.LOCAL@LAB.LOCAL, Client not found in Kerberos database srvr krb5kdc[734]: AS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: NEEDED_PREAUTH: etu-nfs@LAB.LOCAL for krbtgt/LAB.LOCAL@LAB.LOCAL, Additional pre-authentication required srvr krb5kdc[734]: AS_REQ (2 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17)}) 2001:678:3fc:65:baad:caff:fefe:6: ISSUE: authtime 1759559760, etypes {rep=aes256-cts-hmac-sha1-96(18), tkt=aes256-cts-hmac-sha1-96(18), ses=aes256-cts-hmac-sha1-96(18)}, etu-nfs@LAB.LOCAL for krbtgt/LAB.LOCAL@LAB.LOCAL |
|
Q112. |
Comment interpréter les messages kerberos relevés dans le journal du service KDC ? Analysez les demandes et les réponses de la séquence
d’authentification pour le compte |
Décrivez la séquence d'authentification observée :
|