NFSv4

NFS (Network File System) er protokollen vi bruker for fildeling på tvers av Linux-maskiner på Samfundet. (Windows-maskiner bruker stort sett Samba, aka SMB/CIFS, og vi kunne nok gjort det for Linux også om vi ønsket.) Spesifikt eksporterer cassarossa filsystemene sine via nfsd (i /etc/exports), og arbeidsstasjoner samt cirkus/altersex monterer dem on-demand ved hjelp av autofs (automount).

Vi bruker kun NFSv4 i disse dager, skjønt vi fortsatt i teorien har støtte for NFSv3. I praksis all NFS går over IPv6 for oss.

Autentisering

Så godt som all autentisering skjer ved hjelp av Kerberos. Dette betyr at for å ha tilgang til et filområde som en gitt bruker, må du også ha logget inn som den brukeren nylig, slik at du har en Kerberos-billett. (Alternativet er IP-basert autentisering, som betyr at den som kan ta IP-adressen din har tilgang; det er ikke så gunstig sikkerhetsmessig.)

Imidlertid er dette et problem for servere og cronjobber, som gjerne skal kjøre uten at en bruker logger seg inn en gang i døgnet. cirkus og altersex har derfor fått tilgang i Active Directory for impersonation (også kjent som delegering) overfor «nfs/cassarossa.samfundet.no@AD.SAMFUNDET.NO»; det betyr at når rpc.gssd trenger en nøkkel for f.eks. lisekjemi@AD.SAMFUNDET.NO, vil den forespørselen bli fanget opp av gssproxy, som bruker maskinnøkkelen CIRKUS$@AD.SAMFUNDET.NO til å skaffe seg en brukerbillett og dermed kan autentisere seg som lisekjemi overfor cassarossa. Dette avhenger dog av at lisekjemi@ finnes som bruker i AD; systembrukere på f.eks. cirkus vil ikke få noen rettigheter på cassarossa.

I utgangspunktet er NFS «root-squashet», dvs. at root ikke får være root men heller oppfører seg som nobody/nogroup. cirkus ønsker å være faktisk root slik at f.eks. Apache har full tilgang, så vi har slått av root-squashing for cirkus spesifikt. Men i kerberisert NFS vil i utgangspunktet root@AD.SAMFUNDET.NO skrives om til brukeren CIRKUS$@AD.SAMFUNDET.NO, som ikke har uid/gid per i dag, og den enkleste fiksen er derfor å bare bevare root-squashing men squashe til uid=0,gid=0.

Endringer

Om du eksporterer et nytt filsystem på cassarossa, kjør service nfs-kernel-server reload. Husk å oppdatere auto.home.cassarossa og diste ut med puppet.

Husk at NFS i utgangspunktet eksporterer volumer og ikke kataloger. Hvis du eksporterer en subkatalog av et volum, må du i utgangspunktet anta at en eventuell angriper med tilgang kan klare å bevege seg over den subkatalogen.

Lenker: Start

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2025-02-12 22:26 | Revisjon: 13 (historie, blame) | Totalt: 1910 kB | Rediger