คำตอบสั้น ๆ: ตั้งค่า Defender บนเซิร์ฟเวอร์ให้เหมาะกับงานจริง ทั้งการสแกนตามเวลา การยกเว้นที่ Microsoft แนะนำ และการเปิดป้องกันแรนซัมแวร์
คู่มือนี้อธิบาย Defender Antivirus ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
Windows Server มี Microsoft Defender Antivirus ติดตั้งและเปิดใช้งานมาให้แล้วตั้งแต่รุ่น 2016 หลายองค์กรจึงไม่จำเป็นต้องซื้อโปรแกรมป้องกันไวรัสเพิ่ม แต่ค่าเริ่มต้นไม่ได้เหมาะกับงานเซิร์ฟเวอร์ทุกแบบ โดยเฉพาะเครื่องที่รันฐานข้อมูลหรือ Domain Controller ซึ่งต้องกำหนดข้อยกเว้นให้ถูกต้อง
คู่มือนี้ตั้งค่าให้เหมาะกับงานจริง พร้อมรายการข้อยกเว้นที่ Microsoft แนะนำสำหรับแต่ละบทบาท และการเปิดฟีเจอร์ป้องกันแรนซัมแวร์ที่มีอยู่แล้วแต่ปิดไว้ตามค่าเริ่มต้น
สิ่งที่ต้องเตรียม (Defender Antivirus)
- Windows Server 2016 ขึ้นไป
- สิทธิ์ Administrator
Get-MpComputerStatus | Select-Object AMServiceEnabled, AntivirusEnabled,
RealTimeProtectionEnabled, AntivirusSignatureLastUpdated, AntivirusSignatureVersion
หากฟีเจอร์ยังไม่ติดตั้งบนรุ่นที่ต้องติดตั้งเอง
Install-WindowsFeature -Name Windows-Defender-Features -IncludeManagementTools
ขั้นตอนที่ 1: เปิดการป้องกันหลัก (Defender Antivirus)
Set-MpPreference -DisableRealtimeMonitoring $false
Set-MpPreference -DisableBehaviorMonitoring $false
Set-MpPreference -DisableIOAVProtection $false
Set-MpPreference -DisableScriptScanning $false
# ส่งตัวอย่างไปวิเคราะห์บนคลาวด์ เพิ่มความสามารถตรวจจับของใหม่
Set-MpPreference -MAPSReporting Advanced
Set-MpPreference -SubmitSamplesConsent SendSafeSamples
Set-MpPreference -CloudBlockLevel High
Set-MpPreference -CloudExtendedTimeout 50
Get-MpPreference | Select-Object DisableRealtimeMonitoring, MAPSReporting, CloudBlockLevel
หากองค์กรมีนโยบายไม่ให้ส่งข้อมูลออกนอกประเทศ ให้ตั้ง -SubmitSamplesConsent NeverSend แทน แต่ความสามารถตรวจจับภัยคุกคามใหม่จะลดลง
ขั้นตอนที่ 2: ตั้งการสแกนตามเวลา
Set-MpPreference -ScanScheduleDay Sunday
Set-MpPreference -ScanScheduleTime 02:00:00
Set-MpPreference -ScanParameters FullScan
Set-MpPreference -RemediationScheduleDay Sunday
# สแกนเร็วทุกวัน
Set-MpPreference -ScanScheduleQuickScanTime 03:00:00
# จำกัดการใช้ CPU ระหว่างสแกน
Set-MpPreference -ScanAvgCPULoadFactor 30
Set-MpPreference -ScanOnlyIfIdleEnabled $false
ค่า ScanAvgCPULoadFactor สำคัญมากบนเซิร์ฟเวอร์ที่ให้บริการตลอดเวลา การจำกัดที่ 30% ทำให้การสแกนไม่กระทบงานจริง แม้จะใช้เวลานานขึ้น
ขั้นตอนที่ 3: ตั้งการอัปเดตฐานข้อมูล
Set-MpPreference -SignatureUpdateInterval 4
Set-MpPreference -SignatureFallbackOrder "MicrosoftUpdateServer|MMPC"
# อัปเดตทันที
Update-MpSignature
Get-MpComputerStatus | Select-Object AntivirusSignatureLastUpdated, NISSignatureLastUpdated
ตรวจว่าฐานข้อมูลไม่เก่าเกินหนึ่งวัน หากเครื่องอยู่หลัง Proxy ต้องตั้งค่าให้เข้าถึงบริการอัปเดตได้
ขั้นตอนที่ 4: กำหนดข้อยกเว้นตามบทบาทของเซิร์ฟเวอร์
นี่คือขั้นตอนที่สำคัญที่สุดและถูกข้ามบ่อยที่สุด การสแกนไฟล์ฐานข้อมูลที่กำลังถูกเขียนอยู่ทำให้ระบบช้าลงอย่างมากและบางครั้งทำให้ไฟล์เสียหาย
Domain Controller
Add-MpPreference -ExclusionPath "C:\Windows\NTDS"
Add-MpPreference -ExclusionPath "C:\Windows\SYSVOL"
Add-MpPreference -ExclusionExtension ".dit", ".pat"
Add-MpPreference -ExclusionProcess "C:\Windows\System32\ntfrs.exe"
Add-MpPreference -ExclusionProcess "C:\Windows\System32\dfsrs.exe"
SQL Server
Add-MpPreference -ExclusionExtension ".mdf", ".ldf", ".ndf", ".bak", ".trn"
Add-MpPreference -ExclusionPath "C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA"
Add-MpPreference -ExclusionProcess "sqlservr.exe"
IIS
Add-MpPreference -ExclusionPath "C:\inetpub\temp"
Add-MpPreference -ExclusionPath "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files"
Hyper-V
Add-MpPreference -ExclusionExtension ".vhd", ".vhdx", ".avhd", ".avhdx", ".vsv"
Add-MpPreference -ExclusionProcess "vmms.exe", "vmwp.exe"
ตรวจรายการข้อยกเว้นทั้งหมด
Get-MpPreference | Select-Object -ExpandProperty ExclusionPath
Get-MpPreference | Select-Object -ExpandProperty ExclusionExtension
Get-MpPreference | Select-Object -ExpandProperty ExclusionProcess
หลักการที่ต้องยึด ระบุให้แคบที่สุดเท่าที่ทำได้ การยกเว้นทั้งไดรฟ์ D เพราะมีฐานข้อมูลอยู่ในนั้นเท่ากับปิดการป้องกันทั้งไดรฟ์