ค้นหาเว็บไซต์

วิธีปิดการใช้งาน 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

บทความที่เกี่ยวข้อง