วิธีปิดการใช้งาน SMBv1 บน Windows Server โดยไม่ต้องรีบูตเครื่อง
SMBv1 เปิดตัวเมื่อเกือบ 40 ปีที่แล้วในปี 1984 คุณคงคิดว่าตอนนี้ระบบและบริการส่วนใหญ่ (หากไม่ใช่เกือบทั้งหมด) จะไม่พึ่งพาเทคโนโลยีโบราณอีกต่อไป อย่างไรก็ตาม หากคุณคิดอย่างนั้น คุณจะคิดผิด แม้ว่าโครงสร้างพื้นฐาน Windows ของคุณอาจเป็นปัจจุบันและทันสมัย แต่บริการ แอป และระบบอื่นๆ อาจไม่ล้ำหน้าเท่าที่คุณคิดเสมอไป
ในบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถเปิดใช้งานการตรวจสอบ SMBv1 บนเซิร์ฟเวอร์ของคุณได้อย่างไร จากนั้นเมื่อคุณพอใจแล้ว คุณจะเห็นวิธีปิดการใช้งาน SMBv1 อย่างรวดเร็วโดยใช้ PowerShell โดยไม่ต้องรีบูตเซิร์ฟเวอร์ของคุณ
เปิดใช้งานการตรวจสอบ SMBv1 เพื่อตรวจสอบว่ายังมีการใช้งานอยู่หรือไม่
ก่อนที่คุณจะดำเนินการใดๆ สิ่งสำคัญคือต้องประเมินว่าการปิดใช้งาน SMBv1 จะมีผลกระทบต่อสภาพแวดล้อมของคุณหรือไม่ และผลกระทบที่อาจตามมาคืออะไร
โชคดีที่มีคุณสมบัติในตัวสำหรับการกำหนดค่าเซิร์ฟเวอร์ SMB ซึ่งเราสามารถเปิดการตรวจสอบได้ ดังนั้นเหตุการณ์ SMBv1 จะถูกบันทึกไว้ในบันทึกเหตุการณ์ของ Windows ของเรา หากต้องการเปิดการตรวจสอบ SMB ให้ใช้คำสั่งต่อไปนี้:
Set-SmbServerConfiguration -AuditSmb1Access $trueคุณสามารถตรวจสอบได้ว่าการตรวจสอบ SMBv1 ได้รับการเปิดใช้งานด้วย Get-SmbServerConfiguration cmdlet
Get-SmbServerConfiguration | Select AuditSmb1Access
หากคุณเปิดใช้งานการตรวจสอบ SMBv1 สำเร็จแล้ว ผลลัพธ์ของคุณจะมีลักษณะดังนี้และแสดง จริง
ค้นหาบันทึกการตรวจสอบ SMBv1 ในบันทึกเหตุการณ์ของ Windows
บันทึกการตรวจสอบสำหรับ SMBv1 จะช่วยคุณระบุว่าโปรโตคอลยังคงถูกใช้งานโดยไคลเอนต์ที่เข้าถึงบริการบนเซิร์ฟเวอร์ที่เป็นปัญหาหรือไม่
หากต้องการค้นหาเหตุการณ์การตรวจสอบ ให้เริ่มต้นด้วยการเปิด Event Viewer ภายในหน้าต่าง จากนั้นไปที่: บันทึกแอปพลิเคชันและบริการ > Microsoft > Windows > SMBServer > การตรวจสอบ
จากนั้น คุณจะสามารถดูเหตุการณ์การตรวจสอบที่มี ID: 3000 แท็บทั่วไปของเหตุการณ์เหล่านี้จะแจ้งให้คุณทราบถึงที่อยู่ไคลเอ็นต์ซึ่งกำลังเริ่มต้นการเชื่อมต่อกับโปรโตคอลนี้
หรือคุณสามารถใช้ PowerShell เพื่อดูเหตุการณ์เหล่านี้:
Get-WinEvent -LogName Microsoft-Windows-SMBServer/Auditหากไม่พบเหตุการณ์ใด ๆ หลังจากช่วงระยะเวลาหนึ่ง คุณน่าจะดำเนินการต่อได้อย่างปลอดภัย
ปิดการใช้งาน SMBv1 ด้วย PowerShell
การปิดใช้งาน SMBv1 บน Windows Server นั้นค่อนข้างง่ายและไม่จำเป็นต้องรีบูตเครื่อง อย่างไรก็ตาม หากใช้ Windows Server 2019 หรือสูงกว่า SMBv1 จะไม่ถูกติดตั้งตามค่าเริ่มต้น ดังนั้นจึงจำเป็นเฉพาะในกรณีที่คุณใช้ Windows Server 2016 หรือเก่ากว่า
เรียกใช้คำสั่งต่อไปนี้เพื่อปิดใช้งาน SMBv1 เป็นเซสชัน PowerShell ที่ยกระดับ:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
คุณสามารถตรวจสอบว่าคำสั่งทำงานได้สำเร็จโดยตรวจสอบการกำหนดค่า:
Get-SmbServerConfiguration | Select EnableSMB1Protocolหากสำเร็จ ผลลัพธ์ของคุณควรแสดงค่า เท็จ
เปิดใช้งาน SMBv1 อีกครั้งด้วย PowerShell
เมื่อคุณปิดใช้งาน SMBv1 แล้ว หากมีปัญหาใดๆ เกิดขึ้น คุณสามารถเปิดใช้งานได้อย่างรวดเร็วโดยการเรียกใช้ Set-SmbServerConfiguration cmdlet ที่มีค่า $True
Set-SmbServerConfiguration -EnableSMB1Protocol $trueใช้ Get-SmbServerConfiguration cmdlet เพื่อตรวจสอบว่าได้เปิดใช้งานแล้ว และตรวจสอบว่าปัญหาได้รับการแก้ไขแล้ว
ถอนการติดตั้ง SMBv1
การถอนการติดตั้งโปรโตคอล SMBv1 จะต้องรีบูต และทันทีที่คุณรันคำสั่ง เซิร์ฟเวอร์จะรีบูตทันทีเมื่อถูกดำเนินการ
คำสั่งต่อไปนี้พร้อมลบ SMBv1 ออกจากระบบของคุณ
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocolหากคุณต้องการเปิดใช้งานเซิร์ฟเวอร์อีกครั้ง คุณสามารถเรียกใช้คำสั่งต่อไปนี้: (การดำเนินการนี้จะรีบูตเซิร์ฟเวอร์ของคุณทันทีด้วย)
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

