ในเวอร์ชันของ Server Message Block (SMB) 3.0 โปรโตคอลที่นำมาใช้ใน Windows Server 2012 / Windows 8 ทำให้สามารถเข้ารหัสข้อมูลที่ถ่ายโอนผ่านเครือข่ายระหว่างเซิร์ฟเวอร์ไฟล์ SMB และไคลเอนต์ได้ ข้อมูลได้รับการเข้ารหัสอย่างโปร่งใสจากมุมมองของไคลเอ็นต์ และไม่ต้องการองค์กรหรือทรัพยากรที่สำคัญใดๆ ซึ่งแตกต่างจากการใช้งานโครงสร้างพื้นฐาน VPN, IPSec หรือ PKI ในเวอร์ชันล่าสุดของ SMB 3.1.1 (ใช้ใน Windows 10 และ Windows Server 2016) ใช้การเข้ารหัสประเภท AES 128 GCM และประสิทธิภาพของอัลกอริธึมเพิ่มขึ้นอย่างมาก นอกจากนี้ยังมีการลงนามและยืนยันข้อมูลอัตโนมัติ
มาพิจารณาแง่มุมต่าง ๆ ของการนำการเข้ารหัส SMB ไปใช้ใน Windows Server 2012 ก่อนอื่น คุณต้องเข้าใจว่าหากไคลเอนต์และเซิร์ฟเวอร์รองรับ SMB เวอร์ชันต่างๆ กัน เมื่อสร้างการเชื่อมต่อระหว่างไคลเอนต์และเซิร์ฟเวอร์ SMB เวอร์ชันสูงสุดที่รองรับ ทั้งโดยไคลเอนต์และเซิร์ฟเวอร์ถูกเลือก หมายความว่าไคลเอ็นต์ทั้งหมดที่ใช้ Windows เวอร์ชันก่อนหน้ามากกว่า Windows 8 / Server 2012 จะไม่สามารถโต้ตอบกับโฟลเดอร์เครือข่ายที่เปิดใช้งานการเข้ารหัส SMB ได้
บนเซิร์ฟเวอร์ไฟล์ คุณสามารถรับเวอร์ชันของโปรโตคอล SMB ที่ไคลเอ็นต์ใช้ (เวอร์ชันของโปรโตคอลที่ใช้แสดงอยู่ในคอลัมน์ Dialect):
Get-SmbConnection
โดยค่าเริ่มต้น การเข้ารหัสการรับส่งข้อมูล SMB จะถูกปิดใช้งานบนเซิร์ฟเวอร์ไฟล์ Windows Server 2012 คุณสามารถเปิดใช้งานการเข้ารหัสแยกกันสำหรับการแชร์ SMB แต่ละครั้งหรือการเชื่อมต่อ SMB ทั้งหมด
หากคุณต้องเปิดใช้งานการเข้ารหัสสำหรับไดเร็กทอรีเฉพาะ ให้เปิด ตัวจัดการเซิร์ฟเวอร์ คอนโซลบนเซิร์ฟเวอร์ของคุณและไปที่ บริการไฟล์และที่เก็บข้อมูล –> แชร์ . เลือกโฟลเดอร์ที่ใช้ร่วมกันที่ต้องการและเปิดคุณสมบัติ จากนั้นไปที่ การตั้งค่า แท็บและเปิดใช้งาน เข้ารหัสการเข้าถึงข้อมูล . บันทึกการเปลี่ยนแปลง
คุณยังสามารถเปิดใช้งานการเข้ารหัส SMB จากคอนโซล PowerShell เปิดใช้งานการเข้ารหัสสำหรับการแชร์ครั้งเดียว:
Set-SmbShare –Name Install -EncryptData $true
หรือสำหรับการเชื่อมต่อ SMB ทั้งหมดไปยังเซิร์ฟเวอร์ (ไปยังโฟลเดอร์ที่ใช้ร่วมกันหรือทรัพยากรการดูแล):
Set-SmbServerConfiguration –EncryptData $true
หลังจากเปิดใช้งานการเข้ารหัส SMB สำหรับการแชร์เครือข่ายแล้ว ไคลเอ็นต์รุ่นเก่าทั้งหมด (รุ่นก่อนหน้า Windows 8) จะไม่สามารถเชื่อมต่อกับการแชร์นี้ เนื่องจากไม่รองรับ SMB 3.0 เพื่อให้ไคลเอนต์ Windows เหล่านี้เข้าถึงการแชร์ได้ (ตามกฎแล้วจะเป็นการเข้าถึงชั่วคราว มิฉะนั้น จะไม่สมเหตุสมผลที่จะเปิดใช้งานการเข้ารหัส) คุณสามารถอนุญาตให้เชื่อมต่อกับเซิร์ฟเวอร์โดยไม่มีการเข้ารหัส:
Set-SmbServerConfiguration –RejectUnencryptedAccess $false
Set-SmbServerConfiguration –EnableSMB1Protocol $false