Difference between revisions of "SMB/CIFS"

From EIK wiki
Line 22: Line 22:
 
* Lisaatribuutide (Extended Attributes) tugi
 
* Lisaatribuutide (Extended Attributes) tugi
  
* Oplocks
+
* [https://msdn.microsoft.com/en-us/library/windows/desktop/aa365433(v=vs.85).aspx Oplocks]
  
 
* [https://en.wikipedia.org/wiki/Inter-process_communication Üldine kaugsuhtlus]: nimega torud, postkastid
 
* [https://en.wikipedia.org/wiki/Inter-process_communication Üldine kaugsuhtlus]: nimega torud, postkastid
Line 42: Line 42:
 
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.
 
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.<ref name = "security">[https://blogs.technet.microsoft.com/josebda/2015/05/05/whats-new-in-smb-3-1-1-in-the-windows-server-2016-technical-preview-2/x What’s new in SMB 3.1.1 in the Windows Server 2016 Technical Preview 2]</ref>
+
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. [https://origin-symwisedownload.symantec.com/resources/webguides/proxysg/65/acceleration/Content/01Concepts/smb_signing_co.htm ''SMB signing''] on kasutusel kaitsmaks pakettide muutmise ja võltsimise eest ning krüptograafia pealtkuulamise vastu.<ref name = "security">[https://blogs.technet.microsoft.com/josebda/2015/05/05/whats-new-in-smb-3-1-1-in-the-windows-server-2016-technical-preview-2/x What’s new in SMB 3.1.1 in the Windows Server 2016 Technical Preview 2]</ref>
  
  
 
==UNIX ühilduvus==
 
==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.<ref name = "whatissamba">[https://www.samba.org/samba/docs/SambaIntro.html Samba: An Introduction]</ref>
+
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 ka Active Directory.<ref name = "whatissamba">[https://www.samba.org/samba/docs/SambaIntro.html Samba: An Introduction]</ref>
  
 
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.<ref name = "sambawiki">[https://en.wikipedia.org/wiki/Samba_(software) Samba (software)]</ref>
 
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.<ref name = "sambawiki">[https://en.wikipedia.org/wiki/Samba_(software) Samba (software)]</ref>
Line 58: Line 58:
  
  
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.
+
==SMB-ga seotud tööriistad==
==Erijuhud (halb sõna)==
+
[https://en.wikipedia.org/wiki/Distributed_File_System_(Microsoft) DFS (Distributed File System)] seob erinevad SMB jaod kasutaja jaoks üheks süsteemiks
https://jcifs.samba.org/
+
[https://jcifs.samba.org/ jCIFS] on Java teek, mis implementeerib SMB protokolli.
 
 
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
 
 
 
 
 
 
 
 
 
 
 
  
  

Revision as of 16:25, 22 April 2018

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
  • 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 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 ka 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]


SMB-ga seotud tööriistad

DFS (Distributed File System) seob erinevad SMB jaod kasutaja jaoks üheks süsteemiks jCIFS on Java teek, mis implementeerib SMB protokolli.


Allikad