SMB/CIFS

From ICO wiki
Revision as of 21:49, 14 March 2018 by Mvorklae (talk | contribs)
Jump to navigationJump to search

Server Message Block, lühidalt SMB (ühe versioonina tuntud ka kui CIFS), on ISO mudeli 5.kihil töötav võrguprotokoll. SMB-d kasutatakse enamjaolt Microsoft Windowsis (kus see enne Active Directory implementeeimist oli tuntud kui "Microsoft Windows Network") failide, printerite, jadaportide ja erinevate sidevahendite jagamiseks võrgusõlmede vahel. CIFS kui SMB1 dialekt, on jäänud ajalukku. Selle all mõeldakse SMB-protokolli, mis oli kasutusel Microsoft Windows NT4 operatsioonisüsteemis.[1]

Ajalugu

Esmakordselt mainitud IBM-i poolt 1985, kuid hiljem suuresti Microsofti poolt arendatud.[2] Protokolli loojaks võib nimetada Dr. Barry Feigenbaumi, kelle initsiaalidest sai protokolli esimeseks nimeks BAF. Microsoft nimetas 1996.aastal SMB ümber CIFS (Common Internet File System).[3]

  • SMB 1 (1984)
  • CIFS (1996)
  • SMB 2.0 (2008) Esimene suur uuendus algsesse protokolli.
  • SMB 2.1 (2010)
  • SMB 3.0 (2012) Tuli välja koos Windows 8 ja Windows Server 2012. Tõi kaasa uuendused nagu SMB Direct Protocol (SMB üle RDMA), SMB Multichannel (mitu samaaegset ühendust ühe SMB sessiooni kohta), SMB Transparent Failover.
  • SMB 3.0.2 Windows 8.1 ja Windows Server 2012 R2
  • SMB 3.1.1 Ilmus Windows 10 ja Windows Server 2016 koosseisus. Toetab lisaks AES-128 CCM-ile ka AES-128 GCM krüpteeringut, ning autoriseerimisele eelnevat tervikluse kontrolli, kasutades selleks SHA-512 räsi.[4]


Võimalused

  • Faili ja kirje tasemel lukustamine
  • Failide ja kataloogide muutustest teavitamine
  • Unicode tugi
  • Lisaatribuutide (Extended Attributes) tugi
  • Oplocks
  • Autentimine nii kasutaja kui share tasemel, domeenide tugi
  • Printimine
  • Võrgu sirvimine

SMB töötab mitmete madalama kihi protokollide peal, nagu TCP/IP (port 445), NetBEUI ja IPX/SPX. Juhul, kui kasutatakse TCP/IP või NetBEUI, on sessioonikihi protokolliks NetBIOS API.[2]

Kui SMB-d kasutada üle TCP/IP, DECnet või NetBEUI, tuleb pöördumiseks kasutada NetBIOS-nimesid. NetBIOS nimed on kuni 15 sümbolit pikad, harilikult kasutatava arvuti nimed. Microsofti toodete puhul peavad need olema suurtähtedega.

Kui NetBIOS nimed saadetakse võrku, lisatakse lühemale nimele tühikuid, et tekiks 15-sümboli pikkune nimi, pluss 16. sümbol, mis määrab nime tüübi. Microsoft nimetab seda NetBIOS järelliiteks.[2]


Turvalisus

SMB kasutab krüpteeringut (AES-128-CCM) alates versioonist 3.0. Versioonile 3.1.1 lisati AES-128-GCM tugi ning võimalus nende kahe vahel valida. Teatud olukordades, nagu näiteks suurte failide üle krüpteeritud SMB seansi kopeerimine, annab AES-128-GCM kuni 2-kordse kiiruse võidu.

Versioon 3.1.1 tõi ka autentimiseelse tervikluse kontrolli võimaluse, mis kaitseb vahemehe ründe eest ühenduse loomise faasis. Kontrolliks kasutatakse SHA-512 räsi. SMB signing on kasutusel kaitsmaks pakettide muutmise ja võltsimise eest ning krüptograafia pealtkuulamise vastu.[5]


UNIX ühilduvus

Vast kõige tuntum ja levinum SMB realisatsioon UNIX-süsteemidele on SAMBA. Samba algseks loojaks on https://en.wikipedia.org/wiki/Andrew_Tridgell Andrew Tridgell], kes lõi selle 1992.aastal isiklikust vajadusest vahetada faile DOS ja UNIX süsteemide vahel. Samba võimaldab failide ja printerite jagamist Microsoft Windows klientidele, ning ühildub Microsoft Windows Server domeeniga nii domeenikontrolleri kui -liikmena. Alates versioon 4 on toetatud ja Active Directory.[6]

Toetatud on enamik Unix, OpenVMS ning UNIX-laadseid süsteeme, nagu Linux, Solaris, AIX, BSD, aga ka Apple macOS Server ja macOS klient (Mac OS X 10.2 ja edasi). Sambat levitatakse GNU General Public License alusel.[4]

Nimi Samba tuleb väidetavalt Linuxi sõnaraamatu otsingust, kasutades tööriista grep[7]

grep -i '^s.*m.*b' /usr/share/dict/words

Samba tekitab valitud UNIX-i kataloogidest (kaasaarvatud alamkataloogid) võrgujao. Microsoft Windowsi kasutajad näevad neid kui tavalisi võrgusolevaid Windowsi katalooge. UNIX-i kasutajad saavad katalooge haakida kui osana failistruktuurist, kasutades käsku smbmount.[8]

smbmount {service} {mount-point} [-o options]

Alternatiivina võib kasutada utiliiti smbclient, mis loob FTP-sarnase kasutajaliidese. Igal kataloogil saavad olla erinevad kasutajaõigused. Jagu nimega "netlogon" (kirjutuskaitstud jagu /etc/samba/netlogo) on kasutajate sisselogimisskriptide jaoks.[4]

Samba seadistused asuvad failis smb.conf (harilikult /etc/smb.conf või /etc/samba/smb.conf). Samuti on võimalik implementeerida group policy-t.[4]


Samba configuration is achieved by editing a single file (typically installed as /etc/smb.conf or /etc/samba/smb.conf). Samba can also provide user logon scripts and group policy implementation through poledit.

Erijuhud (halb sõna)

https://jcifs.samba.org/

Dfs — "automounter" SMB otsas


SMB serverid

https://www.samba.org/cifs/docs/what-is-smb.html

  • Samba
  • Microsoft Windows for Workgroups 3.x
  • Microsoft Windows 95
  • Microsoft Windows NT
  • The PATHWORKS family of servers from Digital
  • LAN Manager for OS/2, SCO, etc
  • VisionFS from SCO
  • TotalNET Advanced Server from Syntax
  • Advanced Server for UNIX from AT&T (NCR?)
  • LAN Server for OS/2 from IBM


https://www.samba.org/cifs/docs/what-is-smb.html

http://www.ubiqx.org/cifs/index.html

https://www.kernel.org/doc/ols/2007/ols2007v1-pages-131-140.pdf

https://en.wikipedia.org/wiki/Server_Message_Block

http://blog.fosketts.net/2012/02/16/cifs-smb/

http://kuutorvaja.eenet.ee/wiki/Samba_4_kasutamine

https://control.velocityhost.com.au/knowledgebase/84/Mounting-a-Windows-FIle-Share--SMB-CIFS-Share-.html?action=displayarticle&id=84&language=estonian

https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2




Allikad