Nu NFSv4 relatief stabiel is leek het me handig om er eens een proef opstelling mee te maken.
Mijn proef opstelling gaat uit van de volgende situatie:
Voor mania (CentOS) is een Kerberos principal aangemaakt genaamd 'nfs/mania.example.nl@EXAMPLE.NL' en de credentials zijn in een keytab geplaatst onder '/etc/krb5.keytab' op mania. Alle benodigde services (gssd, rpcbind, etc.) zijn gestart en Mania kan het bestandssysteem van Leto importeren met "mount -t nfs4 -o sec=krb5i leto.example.nl:tank2/test /mnt".
So far so good; In mania hangt nu het ZFS bestandssysteem van leto onder '/mnt', ik kan hier in kijken en ik zie bestanden staan.
Maar nu komt het punt waarop ik waarschijnlijk een denk fout maak en wat hulp nodig heb. '/mnt' op mania is op leto geauthenticeerd als een soort machine account ('nfs/mania.example.nl@EXAMPLE.NL'). Mijn concrete vraag is: "Hoe zorg ik ervoor dat enkel specifieke Kerberos principals op het NFSv4 geexporteerde bestandssysteem kunnen zodat ik deze veilig als shared storage kan gebruiken voor een pool van servers ?". In basis kan nu namelijk iedere host op iedere willekeurige NFS export (met zijn nfs/foobar.example.nl@EXAMPLE.NL Kerberos principal).
Overigens heb ik op mania bij wijze van test GSSD ook een keer zo geconfigureerd dat hij de Kerberos tickets van de ingelogde gebruikt in plaats van een keytab. Dit werkt maar is uiteraard geen optie als de client een server is welke nooit zijn tickets renewed en daarom met een keytab werkt.
Mijn proef opstelling gaat uit van de volgende situatie:
- Een OpenIndiana server (Leto) heeft een ZFS dataset welke geexport word door middel van NFSv4.
- Een CentOS 6 client (Mania, een andere server) importeerd het NFSv4 bestandssysteem.
- Er is een werkende Kerberos V (MIT Kerberos) / LDAP (OpenDJ) / DNS (Bind) infrastructuur.
Voor mania (CentOS) is een Kerberos principal aangemaakt genaamd 'nfs/mania.example.nl@EXAMPLE.NL' en de credentials zijn in een keytab geplaatst onder '/etc/krb5.keytab' op mania. Alle benodigde services (gssd, rpcbind, etc.) zijn gestart en Mania kan het bestandssysteem van Leto importeren met "mount -t nfs4 -o sec=krb5i leto.example.nl:tank2/test /mnt".
So far so good; In mania hangt nu het ZFS bestandssysteem van leto onder '/mnt', ik kan hier in kijken en ik zie bestanden staan.
Maar nu komt het punt waarop ik waarschijnlijk een denk fout maak en wat hulp nodig heb. '/mnt' op mania is op leto geauthenticeerd als een soort machine account ('nfs/mania.example.nl@EXAMPLE.NL'). Mijn concrete vraag is: "Hoe zorg ik ervoor dat enkel specifieke Kerberos principals op het NFSv4 geexporteerde bestandssysteem kunnen zodat ik deze veilig als shared storage kan gebruiken voor een pool van servers ?". In basis kan nu namelijk iedere host op iedere willekeurige NFS export (met zijn nfs/foobar.example.nl@EXAMPLE.NL Kerberos principal).
Overigens heb ik op mania bij wijze van test GSSD ook een keer zo geconfigureerd dat hij de Kerberos tickets van de ingelogde gebruikt in plaats van een keytab. Dit werkt maar is uiteraard geen optie als de client een server is welke nooit zijn tickets renewed en daarom met een keytab werkt.