Szerver üzenetblokk

SMB (rövidítve az angolból.  Szerver üzenetblokk ) - alkalmazási rétegű hálózati protokoll a fájlok , nyomtatók és egyéb hálózati erőforrások távoli eléréséhez , valamint a folyamatok közötti kommunikációhoz . A közös internetes fájlrendszer (CIFS) néven is ismert protokoll első verzióját az IBM , a Microsoft , az Intel és a 3Com fejlesztette ki az 1980-as években; a másodikat (SMB 2.0) a Microsoft hozta létre, és a Windows Vista rendszerrel jelent meg . Jelenleg az SMB elsősorban a Microsoft Windows operációs rendszerekhez kapcsolódik , ahol a "Microsoft Windows Network" ( magyar Microsoft Windows hálózat ) és a "fájlok és nyomtatók megosztása" ( fájl- és nyomtatómegosztás ) megvalósítására szolgál.   

Történelem

A protokoll első változatát az IBM alkalmazottja , Barry Feigenbaum fejlesztette ki 1983 -ban [1] [2] .  Az SMB-t eredetileg NetBIOS - on keresztül valósították meg ( NBF -en , IPX/SPX -en vagy NetBIOS-on TCP/IP -n keresztül), és az MS-NET hálózatokban és a LAN Manager for DOS -ban, valamint a Windows for Workgroups -ban használták . A Microsoft rendszeresen új funkciókkal bővítette a protokollt; például a Microsoft Networks SMB File Sharing Protocol Extensions második verziója 1988-ban, a 3. verzió - 1989 -ben , a 3.4-es verzió - 1992-ben jelent meg [3] .

1992- ben megjelent a Samba  - az SMB protokoll ingyenes megvalósítása UNIX - szerű operációs rendszerekhez (eredetileg a SunOS számára ). Mivel a Microsoft nem publikálta a dokumentációt az SMB kiegészítései közül, a Samba fejlesztőinek vissza kellett fejteniük a protokollt.

1996- ban a Microsoft új nevet kezdett használni a Windows NT 4.0 rendszerben használt protokoll kiterjesztett verziójára  – CIFS ( angol  közös internetes fájlrendszer ); az új név megragadt, az SMB és a CIFS gyakorlatilag szinonimák lettek [2] . A Microsoft egy ideig az IETF -en keresztül próbálta a CIFS-t nemzetközi szabvánnyá alakítani , de 2000 után leállította a szabványosítási munkát .

A Windows 2000 először közvetlenül TCP -n keresztül vezette be az SMB-t (netBIOS nélkül); Ehhez a 445 -ös portot használják (az SMB az NBT -n keresztül a 139-es portot használta).

A Windows Vista bemutatta a protokoll új verzióját – az SMB 2.0 -t . A protokoll jelentősen leegyszerűsödött (az SMB-nek több mint 100 parancsa volt, míg az SMB 2-nek csak 19); ezzel párhuzamosan javult a teljesítmény (a gyorsítótárazási mechanizmusnak köszönhetően több SMB 2 parancs kombinálható egy hálózati kérésben és megnövelt olvasási és írási puffer), különösen a magas késleltetésű hálózatokban javult a skálázhatóság és a képesség a munkamenet automatikus folytatása a szerverrel való ideiglenes megszakadás esetén [4 ] . Az SMB 2 ugyanazt a portot (445) használja, mint az SMB, de más a csomagfejléc ( 0xFF 'S' 'M' 'B'SMB-ben 0xFE 'S' 'M' 'B', SMB 2-ben) [5] .

A Windows 8 a protokoll új verziójával rendelkezik – az SMB 3.0 . Az új funkciókat a fejlesztői webhely ismerteti .

2008-ban az Európai Bizottság nyomására a Microsoft közzétette magánprotokolljainak leírását, beleértve az SMB-t is, az MSDN webhelyén [6] .

Hogyan működik

Az SMB egy kliens-szerver technológián alapuló protokoll , amely egyszerű módot biztosít az ügyfélalkalmazások számára fájlok olvasására és írására, valamint szolgáltatások kérésére a szerverprogramoktól különböző típusú hálózati környezetekben. A kiszolgálók fájlrendszereket és egyéb erőforrásokat (nyomtatókat, levélszegmenseket, elnevezett csöveket és így tovább) biztosítanak a hálózaton való megosztáshoz. Az ügyfélszámítógépek rendelkezhetnek saját adathordozóval, de hozzáférhetnek a szerver által megosztott erőforrásokhoz is.

Az ügyfelek TCP/IP (pontosabban NetBIOS over TCP/IP ), NetBEUI vagy IPX/SPX használatával csatlakoznak a szerverhez . A kapcsolat létrejötte után az ügyfelek parancsokat küldhetnek a szervernek (ezeket a parancsokat SMB-parancsoknak vagy SMB-knek nevezik), amelyek hozzáférést biztosítanak számukra az erőforrásokhoz, lehetővé teszik számukra a fájlok megnyitását, olvasását, fájlok írását, és általában a teljes lista végrehajtását. fájlrendszerrel végrehajtható műveletek. SMB használata esetén azonban ezeket a műveleteket a hálózaton keresztül hajtják végre.

Mint fentebb említettük, az SMB különféle protokollok használatával működik . Az OSI hálózati modellben az SMB protokoll alkalmazás/bemutató réteg protokollként használatos, és az alacsony szintű szállítási protokolloktól függ. Az SMB használható TCP/IP , NetBEUI és IPX/SPX felett . Ha a TCP/IP vagy a NetBEUI foglalt, a NetBIOS API kerül felhasználásra. Az SMB a DECnet protokollon keresztül is küldhető . A Digital (jelenleg Compaq ) ezt kifejezetten a PATHWORKS termékükhöz tette. A NetBIOS-nak, ha TCP/IP-n keresztül használják, többféle neve van. A Microsoft bizonyos esetekben NBT -nek, bizonyos esetekben NetBT - nek nevezi . Az RFCNB név is előfordul .

Az SMB létezésének kezdete óta számos különböző protokollváltozatot fejlesztettek ki annak a számítástechnikai környezetnek a kezelésére, amelyben használták. Megállapodtunk, hogy a kliens és a szerver által használt protokoll tényleges verzióját a negprot (negotiate protocol) parancs határozza meg. A kapcsolat létrehozása előtt ezt az SMB-t kell elküldeni. A protokoll első verziója a Core Protocol volt, amely a PC NETWORK PROGRAM 1.0 SMB implementációjaként ismert. Megfelelően támogatja az alapvető műveletek teljes készletét, amely magában foglalja:

SMB fejlécformátum

nyolc 16 24 32 bites
parancs RCLS Fenntartott TÉVED
ERR(folyt.) REB/FLG Fenntartott
Fenntartott
Fenntartott
Fenntartott
fa azonosítója Folyamatazonosító
Felhasználói azonosító multiplex azonosító
WCT VWV
BCC BUF
SMB fejléc szerkezet

Az SMB fejlécszerkezet fő elemei a következők:
   • Parancs  – protokoll parancs.
   • Az RCLS  a hibaosztály kódja.
   • ERR  - hibakód.
   • Faazonosító (TID)  — a hálózati erőforráshoz való csatlakozás azonosítója.
   • Folyamatazonosító (PID)  – Az aktuális kapcsolat kliens folyamatazonosítója.
   • Felhasználói azonosító (UID)  — felhasználói azonosító; amelyet a szerver a felhasználó hozzáférési jogainak ellenőrzésére használ.
   • Multiplex ID (MID)  — felhasználói csoport azonosító; amelyet a szerver a felhasználói csoport engedélyeinek ellenőrzésére használ.
   • A WCT  a fejlécet követő paraméterek száma.
   • A BCC  a paramétereket követő adatbájtok száma.

A Microsoft SMB Protocol által használt biztonsági mechanizmus modellje alapvetően megegyezik az SMB protokoll bármely más változatának modelljével. Két biztonsági szintből áll: felhasználói szintből (felhasználói szint) és megosztási szintből (megosztott erőforrás szintje). A megosztás (közzétett erőforrás) egy fájlra, könyvtárra, nyomtatóra, minden olyan szolgáltatásra vonatkozik, amelyhez az ügyfelek hálózaton keresztül hozzáférhetnek.

A felhasználói szintű hitelesítés azt jelenti, hogy az ügyfélnek, amely megpróbál hozzáférni egy erőforráshoz a kiszolgálón, rendelkeznie kell felhasználónévvel (felhasználónévvel) és jelszóval (jelszóval). Ha ez a hitelesítés sikeres, az ügyfél hozzáfér az összes rendelkezésre álló kiszolgálói erőforráshoz, kivéve a megosztási szintű védelemmel rendelkezőket. Ez a védelmi szint lehetővé teszi a rendszergazdák számára, hogy meghatározzák, mely felhasználók és felhasználói csoportok férhetnek hozzá bizonyos adatokhoz. Windows NT , Windows 2000 , Windows XP rendszerben használatos .

A megosztási szintű hitelesítés azt jelenti, hogy az erőforrásokhoz való hozzáférést egy kifejezetten az adott erőforráshoz beállított jelszó szabályozza. A felhasználói szinttől eltérően ez a biztonsági szint nem igényel felhasználónevet a hitelesítéshez, és nem hoz létre semmilyen egyediséget az aktuális felhasználó számára. Ezt a szintet a Windows NT, a Windows 2000 és a Windows XP rendszerben használják, hogy a felhasználói szinten túlmutató biztonsági felügyeletet biztosítsanak. A Windows 95 , Windows 98 és Windows ME operációs rendszerek csak ezt a védelmi szintet valósítják meg.

Mindkét biztonsági szint titkosítást használ. A jelszó titkosításra kerül, mielőtt elküldené a szervernek. A protokoll támogatja az NTLM , NTLMv2 titkosítási típusokat és a LAN Manager (LM) régebbi verzióit . Mindkét titkosítási módszer Response-Revoke hitelesítést használ, amelyben a szerver egy véletlenszerűen generált karakterláncot küld a kliensnek, a kliens pedig egy elemzett karakterláncot ad vissza visszavonásként, amely bizonyítja, hogy az ügyfél elegendő hitelesítő adatokkal rendelkezik az adatok eléréséhez.

Biztonság

A Microsoft protokoll referencia-implementációjának teljes élettartama során az információbiztonsági szakértők olyan sebezhetőségeket azonosítottak, amelyek lehetővé teszik a távoli gazdagép elleni sikeres hálózati támadást. [7] [8] [9] A nem védett SMB szerverek elleni támadás megszervezése az egyik legvonzóbb a támadók körében [10] . Például az SMB protokoll sérülékenységei segítségével feltörték a Sony Pictures Entertainment [11] szervereit, és terjesztették a DoublePulsar , a WannaCry [12] (sebezhetőség EternalBlue ) és a Petya [13] kártevőt .

Lásd még

Jegyzetek

  1. Christopher R. Hertel. SMB fájlmegosztó URL-séma  (angol)  (lefelé mutató hivatkozás) (2003. január 8.). Letöltve: 2009. október 21. Az eredetiből archiválva : 2012. június 3..
  2. 1 2 Andrew Tridll. Mítoszok a Sambáról  (angol)  (a hivatkozás nem elérhető) . Letöltve: 2011. június 2. Az eredetiből archiválva : 2012. június 3..
  3. Dan Shearer. Az SMB története  (angol)  (nem elérhető link) (1996. november 16.). Letöltve: 2009. október 21. Az eredetiből archiválva : 2012. június 3..
  4. Joseph Barreto. SMB2, a Windows fő távoli fájlprotokolljának teljes újratervezése  (angol nyelven)  (lefelé irányuló kapcsolat) (2008. december 9.). Letöltve: 2009. október 22. Az eredetiből archiválva : 2012. június 3.
  5. SMB2 (lefelé irányuló kapcsolat) . Wireshark. Letöltve: 2009. október 22. Az eredetiből archiválva : 2012. június 3. 
  6. [MS-CIFS : Common Internet File System (CIFS) Protocol]  (eng.) . Letöltve: 2015. augusztus 11. Az eredetiből archiválva : 2015. november 5..
  7. MS02-070: Hiba az SMB-aláírásban lehetővé teheti a csoportházirend módosítását . Microsoft (2007. december 1.). Letöltve: 2009. november 1. Az eredetiből archiválva : 2017. július 25.
  8. MS09-001: Az SMB biztonsági rései távoli kódfuttatást tehetnek lehetővé . Microsoft (2009. január 13.). Letöltve: 2009. november 1. Az eredetiből archiválva : 2009. október 5..
  9. Microsoft biztonsági közlemény MS17-010 – Kritikus . technet.microsoft.com . Letöltve: 2017. május 13. Az eredetiből archiválva : 2017. május 21.
  10. Figyelmeztetés (TA14-353A) Célzott pusztító kártevők . US-CERT . Letöltve: 2017. május 16. Az eredetiből archiválva : 2014. december 20.
  11. A Sony Hackerek szerverüzenetblokkoló (SMB) féregeszközt használtak . Letöltve: 2017. május 16. Az eredetiből archiválva : 2014. december 20.
  12. WannaCry Ransomware Attack sújtja áldozatait a Microsoft SMB Exploit segítségével, eWeek . Letöltve: 2017. május 13.
  13. A Petya ransomware vírus visszatért egy kibertámadás közepette: svájci ügynökség , Reuters  (2017. június 27. kedd, 14:50:10 UTC). Archiválva az eredetiből 2017. június 27-én. Letöltve: 2017. június 27.

Linkek