CIFS forklart: Alt du trenger å vite om fildeling

Fildeling med Common Internet File System (CIFS)

Common Internet File System (CIFS) er en protokoll som muliggjør tilgang til filer, skrivere og serielle porter mellom forskjellige datamaskiner i et nettverk. Denne protokollen gir brukere muligheten til å samhandle med delte dokumenter, som åpning, lesing og redigering, mens endringene automatisk lagres på de lokale maskinene. I tillegg legger CIFS til rette for kommunikasjon mellom prosesser og administrering av utskriftskøer. CIFS ble opprinnelig utviklet av IBM på begynnelsen av 1980-tallet.

Hvordan fungerer CIFS?

CIFS benytter en klient-tjener-modell, som involverer tre hovedenheter: klienten, applikasjonen og serveren.

  • Klienten er der de fleste meldinger kommer fra, og implementerer CIFS-protokollen.
  • Serveren implementerer protokollen og leverer hovedfunksjonaliteten, eller tjenesten.
  • Applikasjonen er programvaren som utfører ulike oppgaver som for eksempel et grafisk brukergrensesnitt, filbehandling eller tekstbehandling.

Arbeidsflyten til CIFS kan beskrives slik:

  • En NetBIOS-sesjon etableres mellom klienten og serveren for å få tilgang til de delte ressursene.
  • Gjennom en forhandlingsprosess bestemmer klienten og serveren hvilken dialekt som skal benyttes for kommunikasjonen.
  • Klienten sender autentiseringsinformasjonen, som typisk er et brukernavn og passord, til serveren ved hjelp av en unik identifikator.
  • Selv om Active Directory ofte håndterer autentiseringsprosessen, behandler ikke CIFS autentisering direkte.
  • Ved vellykket autentisering returnerer serveren den unike identifikatoren til klienten.
  • Serveren validerer om klienten har de nødvendige tillatelsene og om delingsnavnet er gyldig. Hvis alle betingelser er oppfylt, får klienten tilgang til delte ressurser som filer og mapper.

Karakteristiske trekk ved CIFS-protokollen

Uavhengighet av transportprotokoll

CIFS-protokollen er uavhengig av transportprotokollen som brukes til å sende SMB-meldinger mellom serveren og klienten. CIFS overføres over en tilkoblingsorientert protokoll.

Filtilgang

En klient kan åpne, lese, endre og lukke flere filer på en målserver. Serveren administrerer fildelingen, noe som tillater at flere klienter kan åpne og lese den samme filen samtidig fra forskjellige enheter.

Attributter for filer, kataloger og volumer

CIFS-protokollen kan spørre og, med noen begrensninger, sette attributter for kataloger, filer og volumer. Protokollen støtter også tilgangskontrollister (ACL-er).

Utvidede underprotokoller

CIFS støtter forskjellige underprotokoller som gir direkte tilgang til serverens ekstra funksjonalitet.

Støtte for navngitte rør for kommunikasjon mellom prosesser

Klienten kan åpne, skrive, lese og lukke navngitte rør på serveren. Navngitte rør gir en kommunikasjonskanal mellom serveren og klienttjenestene.

Fleksibel tilkobling

En klient kan etablere forbindelser til flere servere, og kan også opprette en eller flere tilkoblinger til en enkelt server.

Støtte for funksjonsforhandling

Hvilke funksjoner og dialekt som er støttet forhandles for hver tilkobling.

Fil- og postlåsing og sikker mellomlagring

CIFS støtter både registrering og fillåsing. Protokollen tillater også opportunistisk fillåsing, som gir klienter muligheten til å cache data for å oppnå bedre ytelse.

Varslinger om endringer i kataloger og filer

Klienter kan be om varsling hver gang det skjer en endring i en ressurs, som en fil i en katalog eller en katalog på en server.

Støtte for distribuert filsystem (DFS)

DFS oppretter et globalt navneområde som samler ressurser på tvers av flere servere.

Støtte for flere sikkerhetskontekster

En klient kan bruke og opprette flere sikkerhetskontekster over en tilkobling.

Forutsetninger for bruk av CIFS

CIFS krever en underliggende nettverkstransport som er tilkoblingsorientert. I noen tilfeller kan CIFS-meldinger overføres over forbindelsesløs transport med mindre tilpasninger. Før CIFS-meldinger kan utveksles over en tilkoblingsorientert transport, må det opprettes en forbindelse.

For at meldinger skal utveksles i et slikt nettverk, forutsettes det at en eller flere av de følgende ressurser er tilgjengelige:

  • En lokal utskriftskø som sender utskriftsjobber til en skriver.
  • Et lokalt filsystem eller en database som presenteres som et filsystem for å muliggjøre fildeling. Ressursen omtales her som et objektlager.
  • En passende emulering i CIFS-serveren eller et filsystem som støtter navngitte rør for kommunikasjon mellom prosesser.

Serveren må også ha tilgang til en passorddatabase for autentisering. Denne databasen lagrer NT LAN Manager (NTLM) og LAN Manager (LM) passordhasher for å støtte autentisering ved hjelp av utfordring-svar-metoden.

Konfigurering av CIFS for Windows

Funksjonen er som standard deaktivert i Windows 10 og 11, og de fleste brukere vil aldri ha behov for å bruke CIFS. For å aktivere CIFS, følg disse trinnene:

  • Gå til Kontrollpanel og klikk på «Programmer og funksjoner». Klikk deretter på «Slå Windows-funksjoner på eller av» i menyen til venstre.

  • Bla ned til «SMB 1.0/CIFS fildelingsstøtte», merk av i boksen, og klikk på «+»-ikonet for å se alle de valgte alternativene.

Når CIFS er aktivert, må du konfigurere nettverket. Slik gjør du det:

  1. Gå tilbake til Kontrollpanels hjemmeside og klikk på «Nettverk og Internett».
  2. Klikk på «Nettverks- og delingssenter». Deretter, klikk på «Endre avanserte delingsinnstillinger» på venstre side.
  3. I avanserte delingsinnstillinger kan du slå på nettverksoppdaging og fil- og skriverdeling. Klikk «Lagre endringer».

Oppsett av CIFS på en mappe

For demonstrasjonsformål setter vi opp en mappe med navn «Eksempelmappe» på disk E.

  1. Høyreklikk på «Eksempelmappe», velg «Egenskaper» og deretter «Deling».
  2. Klikk på «Del».

Det er viktig å merke seg at de oppførte brukerne kun er de som er konfigurert på din Windows-maskin. Mottakere må også konfigurere nettverket sitt for å kunne få tilgang til delte dokumenter.

CIFS kontra SMB: Forskjeller

Det er nyttig å kjenne til Server Message Block (SMB) før vi ser på forskjellene mellom CIFS og SMB. SMB er designet for å tillate en klient å lese, skrive og redigere en fil på en server i et lokalt nettverk (LAN).

SMB gjennom årene

  • SMB 1.0: Den opprinnelige versjonen av SMB, som tilsvarer CIFS. Denne første varianten ble utviklet for Windows NT 4.0 og brukte NetBIOS-grensesnittet for kommunikasjon.
  • SMB 2.0: Introdusert av Microsoft i 2006 med Windows Vista, inkludert forbedret skalerbarhet, støtte for symbolske lenker og forbedret meldingssignering.
  • SMB 2.1: Lansert samtidig med Windows 7 i 2007, med ytelsesoptimaliseringer og nye låsemekanismer.
  • SMB 3.0: Introdusert med Windows 8 i 2012, opprinnelig kalt SMB 2.2. Denne versjonen introduserte ekstern lagringstilgang gjennom Remote Direct Memory Access (RDMA).
  • SMB 3.1.1: Den nyeste versjonen, utviklet for Windows 10 i 2015, med integritetskontroller før autentisering. Bruker også kryptering med Galois/Counter Mode (GCM).

CIFS og SMB blir ofte forvekslet. SMB ble introdusert tidligere enn CIFS. Microsoft forbedret SMB og utviklet CIFS på 1990-tallet, og CIFS ble en dialekt av SMB. Microsoft har imidlertid fortsatt å forbedre CIFS, og den gjeldende versjonen er SMB 3.1.1.

Dette er de viktigste forskjellene mellom CIFS og SMB 3.1.1:

SMB 3.1.1 CIFS
Opprinnelse Lansert av Microsoft som en forbedring av SMB på begynnelsen av 1990-tallet. Opprettet av IBM på begynnelsen av 1980-tallet.
Ytelse SMB 3.1.1 er laget for å løse de fleste utfordringene som fantes i CIFS og tidligere versjoner av SMB. Det er forhåndsgodkjenningssjekker som bidrar til å sikre filer på en server. Da CIFS ble opprettet var det mange problemer knyttet til filoverføring, sikkerhet osv.
Autentisering SMB 3.1.1 bruker AES-autentisering for å sikre filene som deles på en server. Brukeren må oppgi et brukernavn og passord for å få tilgang til en fil. CIFS mangler autentisering. Dermed er ikke filene sikret over nettverket.
Datalagring SMB 3.1.1 bruker 32- eller 64-biters datalagringsfelt, som muliggjør stor fillagring. Den bruker IP/TCP-protokoller som ligner på HTTP- og FTP-protokoller.
Funksjonalitet En klient-server kommunikasjonsprotokoll for å dele tilgang til ressurser i et nettverk. Klienten ber om en fil på en server som befinner seg på et annet datasystem i det samme nettverket.

Hva er ulempene med CIFS?

  • Mangler autentisering: Den største ulempen med CIFS er at den mangler autentisering, i motsetning til nyere versjoner av SMB.
  • Begrenset filstørrelse: CIFS er ikke optimal for svært store filer, da dette kan forårsake forsinkelser og eventuelt feil under overføringen.

Konklusjon

Selv om skybaserte fildelings- og tilgangstjenester blir mer populære, har tradisjonelle protokoller som CIFS fortsatt sin betydning. Direkte tilkoblinger over TCP-port 445 var et viktig salgsargument for CIFS. Selv om Microsoft nå fokuserer på utviklingen av SMB, kan CIFS ikke glemmes, siden det er en av SMB-dialektene.

Du kan også undersøke hvordan du kjører systemfilkontroll i Windows 11/10.