1 votes

nfs kerberos : plusieurs clients, différents répertoires

J'ai mis en place kerberos avec NFS et cela fonctionne bien.

Cependant, il semble y avoir un problème avec la façon dont cela fonctionne, n'importe quel client kerberos semble être capable d'accéder à n'importe quel répertoire (s'il prend la bonne adresse IP).

Sur le serveur NFS (192.168.1.12) :

$ exportfs -v
/data/mail 192.168.1.13(rw,wdelay,root_squash,no_subtree_check,mountpoint,sec=krb5,rw,secure,no_all_squash)
/data/web  192.168.1.14(rw,wdelay,root_squash,no_subtree_check,mountpoint,sec=krb5,rw,secure,no_all_squash)

J'héberge le courrier et le site web sur des serveurs différents. L'idée est que si l'un d'entre eux est compromis, un attaquant n'aura pas accès à l'autre.

J'ai donc configuré nfs et kerberos, de sorte que mail.example.com (.13) peut monter /data/mail et web.example.com (.14) peut monter /data/web et qu'aucun des deux ne peut monter l'autre. Jusqu'à présent, tout va bien. Cependant, j'ai ensuite changé l'IP de web.example.com en .13 et j'ai pu monter /data/mail.

Voici à quoi cela ressemble sur le site web.example.com :

ktutil:  rkt /etc/krb5.keytab
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2      nfs/web.example.com@example.com
   2    2      nfs/web.example.com@example.com

Et sur mail.example.com :

ktutil:  rkt /etc/krb5.keytab
ktutil:  list
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    2     nfs/mail.example.com@example.com
   2    2     nfs/mail.example.com@example.com

Voici à quoi ressemble le fichier /etc/hosts sur le serveur NFS :

192.168.1.11 kdc.example.com
192.168.1.13 mail.example.com
192.168.1.14 web.example.com

Je m'attendais à ce que, puisque web.example.com a un ticket qui l'identifie comme web.example.com, il ne puisse pas monter /data/mail même s'il prenait l'ip de mail.example.com. Il semble cependant que tant que vous avez un ticket kerberos valide et la bonne adresse IP, vous pouvez monter n'importe quel répertoire. Pour moi, cela va à l'encontre de l'intérêt de kerberos, car il ne s'agit pas d'un réseau sur lequel je m'attends à ce que quelqu'un se connecte. Est-ce que c'est vraiment la seule menace contre laquelle kerberos avec NFS protège ou est-ce que j'ai mal configuré quelque chose ?

0voto

84104 Points 12538

sec=krb5 n'empêche pas un système avec un ticket valide de monter, mais ce n'est pas son rôle.

Il empêchera l'accès aux fichiers des clients non autorisés (basé sur l'uid/gid plutôt que sur l'ip). En supposant que vous ayez fait une chose stupide comme faire un root@EXAMPLE.COM Il se peut que vous deviez simplement resserrer les autorisations d'accès à vos fichiers.

Même avec root_squash un root distant pourrait changer son euid en quelque chose avec un accès correct en ce qui concerne les sec=sys est concerné. Il n'en va pas de même pour les options de krb5. Bien sûr, tout cela ne vaut pas si les fichiers/répertoires ont des permissions permettant d'autres choses, par exemple 775 autorisera la lecture, mais pas 770.


Note complémentaire : Vous devriez au moins utiliser sec=krb5i Si ce n'est pas le cas sec=krb5p .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X