SMB — tarmoq orqali file, directory, printer va boshqa resurslarni ulashish uchun ishlatiladigan application-layer protocol. To‘liq nomi Server Message Block. U Windows muhitida keng tarqalgan, biroq Linux, macOS, NAS va boshqa tizimlar ham SMB client yoki server bo‘lishi mumkin.
SMB share clientda network drive yoki mount point sifatida ko‘rinadi.
Client va server
SMB server share e’lon qiladi.
Client quyidagi ko‘rinishga yaqin manzil orqali ulanadi:
\\server\share
yoki Unix tizimida mount qiladi.
Authenticationdan keyin user ruxsat etilgan file va directorylar bilan ishlaydi.
Share
Share serverdagi directory yoki storage’ga mantiqiy nom beradi.
Har share:
- path;
- read/write;
- user yoki group;
- guest;
- encryption;
- caching;
- quota
policy’siga ega.
Share permission va file system ACL birgalikda effective accessni belgilaydi.
SMB avlodlari
SMB protocol vaqt davomida rivojlangan.
Yangi avlodlar:
- yaxshiroq performance;
- signing;
- encryption;
- multichannel;
- failover;
- large MTU;
- security
imkoniyatlarini beradi.
Eski xavfsiz bo‘lmagan avlodlar o‘chirib qo‘yilishi mumkin.
Session
Client server bilan authenticated session yaratadi.
Bir session ichida bir nechta share’ga tree connection ochilishi mumkin.
Session key signing va encryption uchun ishlatilishi ehtimoli bor.
Credential cache va reconnect behaviori muhim.
Authentication
Windows domain muhitida Kerberos keng ishlatiladi.
Fallback yoki boshqa holatda NTLMga oid mechanism uchrashi mumkin.
Kerberos uchun:
to‘g‘ri bo‘lishi kerak.
IP orqali ulanish Kerberosni cheklashi mumkin.
Active Directory
SMB share user va group permissionlarini Active Directory identity bilan boshqarishi mumkin.
Central account, group policy va audit enterprise file serverni soddalashtiradi.
Local va domain user SIDlari bir xil username bo‘lsa ham boshqa identity.
ACL
File va directory access control list bilan himoyalanadi.
- read;
- write;
- execute;
- delete;
- change permission;
- owner
kabi granular huquqlarni beradi.
Inheritance child objectlarga qoidani uzatadi.
Deny va allow tartibi ehtiyotkor boshqariladi.
Share va NTFS permission
Windows serverda effective permission share permission va file system permission kombinatsiyasidan keladi.
Ko‘pincha eng cheklovchi natija amal qiladi.
Share’da keng, NTFS’da aniq permission berish yoki tashkilot standardi ishlatiladi.
Ikkala qatlamni alohida tekshirish kerak.
File locking
SMB file’ni ochish vaqtida share mode va lockni boshqaradi.
Application boshqa clientga read yoki write’ni cheklashi mumkin.
Office hujjatlari temporary lock file yaratishi ehtimoli bor.
Network uzilishida stale lock recovery kerak.
Oplock
Opportunistic lock clientga file’ni lokal cache qilish huquqini beradi.
Boshqa client shu file’ga murojaat qilsa server oplockni break qiladi.
Bu performance’ni oshiradi.
Database yoki tez-tez shared write workloadida caching behaviori muhim.
Lease
Yangi SMB avlodlarida lease caching va reconnectni rivojlantiradi.
Client read, write yoki handle caching huquqiga ega bo‘lishi mumkin.
Server state conflict paytida lease’ni qaytarishni so‘raydi.
Application cluster semanticsiga mos bo‘ladi.
Signing
SMB signing message’ning o‘zgarmaganini va sessionga tegishli ekanini tekshiradi.
Man-in-the-middle hujumini qiyinlashtiradi.
CPU xarajati mavjud, ammo zamonaviy hardware’da ko‘pincha qabul qilinadi.
Policy server va clientda mos bo‘ladi.
Encryption
SMB traffic protocol darajasida shifrlanishi mumkin.
Bu ishonchsiz network yoki data center segmentlari orasida muhim.
Encryption TLS emas, SMB sessioniga oid mexanizm bo‘lishi mumkin.
VPN yoki IPsec bilan birga ham ishlatilishi ehtimoli bor.
Multichannel
Bir session bir nechta network connectiondan foydalanadi.
Maqsad:
- throughput;
- redundancy;
- CPU parallelism;
- NIC failurega chidamlilik.
Client va server capability’ni negotiate qiladi.
Network interface va routing to‘g‘ri sozlanadi.
Direct
Ayrim muhitlarda RDMA orqali SMB Direct ishlatilishi mumkin.
Bu past latency va kam CPU bilan yuqori throughput beradi.
Mos NIC, switch va configuration talab qiladi.
Data center storage workloadlarida qo‘llanadi.
Continuous availability
Clustered file server planned va ayrim unplanned failoverlarda file handle’larni saqlashga intiladi.
VM yoki database file workloadlari uchun foydali.
Backend storage va cluster to‘g‘ri sozlanishi kerak.
Oddiy share bu xususiyatni avtomatik bermaydi.
DFS
Distributed File System namespace bir nechta share’ni yagona mantiqiy path ostida ko‘rsatishi mumkin.
Replication yoki referral orqali user mos serverga yuboriladi.
DFS namespace va DFS replication boshqa vazifalar.
Open database file’ni oddiy file replication bilan ko‘chirish xavfli.
Samba
Samba Linux va Unix tizimlarida SMB server hamda client implementationini beradi.
U standalone, member server yoki domain controllerga oid rollarda ishlashi mumkin.
POSIX permission va Windows ACL mappingi configurationga bog‘liq.
Case sensitivity va filename qoidalari farq qiladi.
Port
Zamonaviy SMB odatda TCP orqali ma’lum well-known portdan foydalanadi.
Eski NetBIOSga oid transportlar boshqa portlarni ishlatishi mumkin.
Internetga SMB portini ochish juda xavfli.
VPN, Zero Trust access yoki private network ishlatiladi.
Ransomware
SMB share user credentiali bilan katta file to‘plamiga write access beradi.
Compromised account ko‘p file’ni shifrlashi yoki o‘chirishi mumkin.
Himoya:
- least privilege;
- snapshot;
- immutable backup;
- segmentation;
- audit;
- anomaly detection;
- MFA orqali account himoyasi.
Bog‘liq tushunchalar
Server Message Block, SMB, File sharing, Windows share, Active Directory, Kerberos, ACL, SMB signing, SMB encryption, Samba, CIFS, Network attached storage