
SMB ผ่าน QUIC เป็นฟีเจอร์ใหม่ที่มีให้ใช้งานบน Windows Server 2025 ที่ช่วยให้คุณกำหนดค่าการเข้าถึงการแชร์ไฟล์ Windows ผ่านทางอินเทอร์เน็ตได้อย่างปลอดภัยโดยไม่ต้องใช้ VPN (ก่อนหน้านี้ใช้งานได้เฉพาะใน Windows Server 2022 Azure Edition เท่านั้น) ในอดีต การเข้าถึงไฟล์เซิร์ฟเวอร์ SMB จากระยะไกลจำเป็นต้องปรับใช้โซลูชัน VPN หรือ RDS เพิ่มเติม ขณะนี้ ด้วย SMB บน QUIC คุณสามารถเข้าถึงไฟล์เซิร์ฟเวอร์ได้อย่างปลอดภัยโดยตรงจากเครือข่ายสาธารณะที่ไม่น่าเชื่อถือ
SMB ผ่านโปรโตคอล QUIC คือ:
-
การเชื่อมต่อระหว่างเซิร์ฟเวอร์ SMB และผู้ใช้ได้รับการป้องกันด้วยการเข้ารหัส TLS 1.3 พร้อมใบรับรอง การตรวจสอบสิทธิ์ผู้ใช้เกิดขึ้นภายในอุโมงค์ TLS ที่ปลอดภัย
-
UDP/443 ถูกใช้แทนพอร์ต SMB แบบเดิม TCP/445
-
QUIC เป็นโปรโตคอลการรับส่งข้อมูลสมัยใหม่ที่ให้ประสิทธิภาพที่ดีขึ้นและทนทานต่อช่องสัญญาณเครือข่ายที่ไม่ดี นอกจากนี้ยังมีอัลกอริธึมการบีบอัดใหม่อีกด้วย
-
ด้วยการควบคุมการเข้าถึงไคลเอนต์ QUIC คุณสามารถจำกัดการเข้าถึงไฟล์เซิร์ฟเวอร์สำหรับไคลเอนต์ที่ใช้ใบรับรอง
-
SMB 3.1.1 ใช้ภายในอุโมงค์ TLS
คุณสมบัติหลักของโปรโตคอลคือ:
SMB ผ่าน QUIC มักถูกเรียกว่า SMB VPN เนื่องจากช่วยให้ผู้ใช้ระยะไกลสามารถเข้าถึงเซิร์ฟเวอร์ไฟล์ขององค์กรผ่านทางอินเทอร์เน็ตได้อย่างปลอดภัย โดยไม่จำเป็นต้องใช้ VPN เพิ่มเติม
มาดูวิธีแชร์โฟลเดอร์บนเซิร์ฟเวอร์ไฟล์ Windows Server 2025 ผ่าน SMB ผ่าน QUIC และให้การเข้าถึงโฟลเดอร์อย่างปลอดภัยจากไคลเอนต์โดยใช้การตรวจสอบสิทธิ์ใบรับรอง Windows Admin Center (WAC) และ PowerShell สามารถใช้เพื่อกำหนดค่า SMB ผ่าน QUIC
ขั้นแรก ให้กำหนดค่าไฟล์เซิร์ฟเวอร์บน Windows Server 2025 ด้วย SMB ผ่านการสนับสนุน QUIC แม้ว่าโดเมน Active Directory จะเป็นที่ต้องการ แต่ SMB บน QUIC ก็สามารถกำหนดค่าสำหรับสถานการณ์กลุ่มงานด้วยบัญชีผู้ใช้ภายในเครื่องได้
คุณต้องมีใบรับรอง SSL ที่มี FQDN ของไฟล์เซิร์ฟเวอร์ของคุณใน Subject Alternative Name (SAN) คุณสามารถใช้ใบรับรองจากผู้ออกใบรับรองภายนอก รวมถึงใบรับรอง Let’s Encrypt ใบรับรองจาก CA ภายใน หรือใบรับรองที่ลงนามด้วยตนเอง ซึ่งเป็นที่ยอมรับแต่ไม่แนะนำ ช่องการใช้คีย์ขั้นสูง (EKU) ของใบรับรองจะต้องมีการใช้สำหรับการตรวจสอบสิทธิ์เซิร์ฟเวอร์
ในตัวอย่างนี้ ฉันจะใช้สถานการณ์สมมติกับใบรับรองที่ลงนามด้วยตนเองบนเซิร์ฟเวอร์ สร้างใบรับรองที่ลงนามด้วยตนเองสำหรับ FQDN ของเซิร์ฟเวอร์ไฟล์
` $todaydate=รับ-วันที่
$add3year=$todaydate.AddYears(3)
ใหม่ SelfSignedCertificate-dnsname mfs01.woshub.com-notafter $add3year-CertStoreLocation cert:\LocalMachine\My `
เลือกใบรับรองตามลายนิ้วมือ:
$cert=Get-ChildItem-Path “ใบรับรอง:\LocalMachine\My”| โดยที่-Object Thumbprint-eq D4CB32344D21EB9E38168EA04540DBE509BBD650
กำหนดใบรับรองให้กับเซิร์ฟเวอร์ QUIC SMB
ใหม่-SmbServerCertificateMapping-ชื่อ mfs01.woshub.com-Thumbprint $cert.Thumbprint-StoreName ของฉัน

เปิดใช้งานการสนับสนุน SMB ผ่าน QUIC สำหรับไฟล์เซิร์ฟเวอร์
ตั้งค่า SmbServerConfiguration-EnableSMBQUIC $true
ตรวจสอบว่าเซิร์ฟเวอร์ SMB กำลังฟังบนพอร์ต UDP 443
netstat-a | เลือกสตริง 443

หากต้องการอนุญาตการเข้าถึงการแชร์ไฟล์ผ่าน SMB QUIC จะต้องเปิดใช้งานกฎที่เหมาะสมในไฟร์วอลล์ Windows Defender:
Get-NetFirewallRule-DisplayName "การแชร์ไฟล์และเครื่องพิมพ์ (SMB-QUIC-In)" | เลือกชื่อ, เปิดใช้งาน, โปรไฟล์
ตามค่าเริ่มต้น จะมีการอนุญาตให้เข้าถึง SMB QUIC สำหรับโปรไฟล์โดเมน แต่จะถูกปฏิเสธสำหรับประเภทโปรไฟล์เครือข่ายส่วนตัวและสาธารณะ (เปิดใช้งานกฎที่จำเป็นขึ้นอยู่กับสภาพแวดล้อมของคุณ)

โปรดทราบว่าเมื่อเชื่อมต่อกับโฟลเดอร์ที่ใช้ร่วมกัน ไคลเอนต์ SMB จะพยายามใช้พอร์ต TCP มาตรฐาน 445 หากพอร์ตนั้นไม่พร้อมใช้งาน ไคลเอนต์จะเปลี่ยนเป็น QUIC ดังนั้นจึงขอแนะนำให้กำหนดค่ากฎไฟร์วอลล์ของเซิร์ฟเวอร์เพื่อจำกัดการเข้าถึงไคลเอ็นต์ภายนอกไปยัง SMB บนพอร์ตมาตรฐาน 445
ถัดไป กำหนดค่าการเชื่อมต่อกับโฟลเดอร์แชร์ SMB ผ่าน QUIC บนคอมพิวเตอร์ไคลเอนต์ (ไคลเอนต์รองรับระบบปฏิบัติการต่อไปนี้: Windows 11, Windows Server 2025 และ Linux พร้อม Samba เวอร์ชัน 4.23 หรือใหม่กว่า อย่างไรก็ตาม Windows 10 ไม่รองรับโปรโตคอล QUIC
ตรวจสอบว่ารองรับ SMB ผ่าน QUIC บนไคลเอนต์ Windows 11 หรือไม่:
รับ-SmbClientConfiguration | เลือก EnableSMBQUIC

คอมพิวเตอร์ไคลเอนต์ต้องเชื่อถือใบรับรองที่ติดตั้งบนเซิร์ฟเวอร์ไฟล์ เมื่อใช้ CA ขององค์กร คุณสามารถแจกจ่ายใบรับรองหลักและใบรับรองระดับกลางของ CA และเพิ่มลงในที่เก็บใบรับรองที่เชื่อถือได้บนอุปกรณ์ไคลเอนต์ (สามารถติดตั้งใบรับรองผ่าน GPO ได้) หากคุณใช้ใบรับรองที่ลงนามด้วยตนเอง คุณจะต้องนำเข้าใบรับรองดังกล่าวไปยังที่เก็บใบรับรองที่เชื่อถือได้ของไคลเอ็นต์
ตอนนี้คุณสามารถแมปโฟลเดอร์ที่แชร์จากไฟล์เซิร์ฟเวอร์โดยใช้ New-SmbMapping PowerShell cmdlet:
ใหม่-SmbMapping-LocalPath W:-RemotePath \\mfs01.woshub.com\Docs-TransportType QUIC
หรือใช้คำสั่ง net use:
การใช้งานเน็ต W: \\mfs01.woshub.com\Docs/TRANSPORT:QUIC

เพื่อให้แน่ใจว่ามีการใช้การขนส่ง QIUC เพื่อเชื่อมต่อโฟลเดอร์ที่ใช้ร่วมกัน ให้ตรวจสอบบันทึก Event Viewer บนไคลเอนต์สำหรับรหัสเหตุการณ์ 30832 (Event Viewer-> Applications and Services Logs-> Microsoft-> Windows-> SMBClient-> Connectivity)
The initial connection to the share was established.Share name: \xxxxxServer address: xxxxxxx:443Session ID: 0x1900014000079Tree ID: 0xDTransport type: QuicSigning used: true

หากคุณเห็นรหัสเหตุการณ์ 30803 ในบันทึก อาจเป็นไปได้ว่าไม่ได้ติดตั้งใบรับรองเซิร์ฟเวอร์บนไคลเอ็นต์ หรือไคลเอ็นต์ไม่เชื่อถือ
Failed to establish a network connection.Error: The QUIC connection encountered a bad certificate during TLS.

คุณสามารถใช้กฎการควบคุมการเข้าถึงไคลเอ็นต์เพื่ออนุญาตให้เข้าถึงเซิร์ฟเวอร์ที่ใช้ร่วมกันผ่านโปรโตคอล QUIC ได้ก็ต่อเมื่อไคลเอนต์มีใบรับรองที่จำเป็นเท่านั้น เปิดใช้งานการรับรองความถูกต้องใบรับรองไคลเอ็นต์ SMB ที่จำเป็นสำหรับการเชื่อมต่อกับไฟล์เซิร์ฟเวอร์
ชุด-SmbServerCertificateMapping-ชื่อ mfs01.woshub.com-RequireClientAuthentication $true
มาสร้างใบรับรองที่ลงนามเองบนคอมพิวเตอร์ไคลเอนต์ซึ่งมีอายุสามเดือนกันดีกว่า
$clientCert=New-SelfSignedCertificate-DnsName mfs01.woshub.com-CertStoreLocation "ใบรับรอง:\LocalMachine\My"-NotAfter (รับ-วันที่) AddMonths(3)-KeyAlgorithm "RSA"-KeyLength "2048"
ผูกใบรับรองนี้บนอุปกรณ์ไคลเอนต์เพื่อใช้เมื่อเชื่อมต่อกับเซิร์ฟเวอร์ไฟล์ขององค์กร:
ใหม่-SmbClientCertificateMapping-Namespace mfs01.woshub.com-Thumbprint $clientCert.Thumbprint-เก็บของฉัน
รับแฮช SHA-256 ของใบรับรองไคลเอ็นต์
$clientCert.GetCertHashString("SHA256")

อนุญาตการเชื่อมต่อจากไคลเอ็นต์ด้วยใบรับรองนี้บนเซิร์ฟเวอร์ SMB ที่มีการแชร์ QUIC (โดยแฮช SHA-256)
ให้สิทธิ์ SmbClientAccessToServer ชื่อ mfs01.woshub.com-IdentifierType SHA256-Identifier "B05E517D9FCA15BE3A38D95AA97A87003F55D524FE67DB7D7E81BB99B5C1D50B"

หากต้องการแสดงรายการกฎการควบคุมการเข้าถึงไคลเอ็นต์ทั้งหมดบนไฟล์เซิร์ฟเวอร์:
รับ-SmbClientAccessToServer-ชื่อ mfs01.woshub.com
หรือคุณสามารถอนุญาตการเชื่อมต่อจากไคลเอนต์ทั้งหมดด้วยใบรับรองจากผู้เผยแพร่เฉพาะ (ระบุในรูปแบบ X.500) ใบรับรองหลักและใบรับรองระดับกลางของ CA นี้ต้องได้รับความเชื่อถือจากเซิร์ฟเวอร์ SMB:
ให้สิทธิ์-SmbClientAccessToServer-ชื่อ mfs01.woshub.com-IdentifierType ผู้ออก-ตัวระบุ "<หัวเรื่อง>"
เปิดใช้งานการตรวจสอบเหตุการณ์การรับรองความถูกต้องของใบรับรอง (แอปพลิเคชันและบริการ Logs\Microsoft\Windows\SMBServer\Audit):
ตั้งค่า SmbServerConfiguration-AuditClientCertificateAccess $true
ด้วยเหตุนี้ เฉพาะไคลเอ็นต์ที่มีใบรับรองที่ได้รับอนุมัติเท่านั้นจึงจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ไฟล์ SMB ของคุณได้
ด้วย SMB ผ่าน QUIC การรับส่งข้อมูล SMB ทั้งหมด รวมถึงการรับรองความถูกต้อง จะได้รับการเข้ารหัสอย่างสมบูรณ์ หากตัวควบคุมโดเมนไม่พร้อมใช้งานสำหรับการตรวจสอบสิทธิ์ไคลเอ็นต์ การตรวจสอบสิทธิ์ NTLMv2 จะถูกนำมาใช้แทนการตรวจสอบสิทธิ์ Kerberos การเข้ารหัสนี้ปกป้องการรับรองความถูกต้องของ NTLM จากการถูกดักจับหรือเก็บเกี่ยวโดยผู้โจมตี ทำให้มั่นใจได้ว่าแม้ในขณะที่ใช้ NTLM ข้อมูลประจำตัวและกระบวนการตรวจสอบความถูกต้องยังคงได้รับการปกป้องภายในช่องสัญญาณ QUIC ที่เข้ารหัส
หากต้องการเปิดใช้งานไคลเอ็นต์เพื่อตรวจสอบสิทธิ์โดยใช้ Kerberos ให้ปรับใช้พร็อกซี KDC บนไฟล์เซิร์ฟเวอร์ พร็อกซีนี้จะส่งต่อคำขอ Kerberos จากไคลเอ็นต์ภายนอกไปยังตัวควบคุมโดเมนผ่าน HTTPS (ตรวจสอบโพสต์ SMB ผ่าน QUIC: กำหนดค่า KDC Proxy)
ข้อเสียเปรียบประการหนึ่งของ SMB บนโปรโตคอล QUIC คือ มันไม่รองรับไคลเอนต์ SMB รุ่นเก่า รวมถึง Windows 10 และเวอร์ชันก่อนหน้า รวมถึง Samba เวอร์ชันก่อน 4.23
*️⃣ ลิงค์ที่มา:
RDS , ใบรับรอง Let’s Encrypt, ใบรับรองที่ลงนามด้วยตนเอง, Get-NetFirewallRule, ประเภทโปรไฟล์เครือข่าย, , ใบรับรองสามารถปรับใช้ผ่าน GPO, , SMB ผ่าน QUIC: กำหนดค่า KDC Proxy ,