ในบทความนี้ เราจะพิจารณาวิธีการใช้คุณสมบัติ File Server Resource Manager (FSRM) บนเซิร์ฟเวอร์ไฟล์ที่ใช้ Windows Server 2012 R2 เพื่อตรวจหาและบล็อกแรนซัมแวร์ โดยเฉพาะอย่างยิ่ง เราจะบอกวิธีติดตั้งบริการ FSRM บนเซิร์ฟเวอร์ไฟล์ กำหนดค่าการคัดกรองไฟล์ และในกรณีที่การตรวจจับแรนซัมแวร์ จะบล็อกไม่ให้ผู้ใช้เข้าถึงการแชร์
วิธีการตรวจหาแรนซัมแวร์โดยใช้ FSRM
หากไม่ได้ติดตั้งฟีเจอร์ File Server Resource Manager (FSRM) บนเซิร์ฟเวอร์ไฟล์ของคุณ ให้ติดตั้งโดยใช้คอนโซลกราฟิกของ Server Manager หรือพร้อมท์คำสั่ง PowerShell:
Install-WindowsFeature FS-Resource-Manager -IncludeManagementTools
ตรวจสอบให้แน่ใจว่าได้ติดตั้งบทบาทแล้ว:
Get-WindowsFeature -Name FS-Resource-Manager
หลังจากติดตั้งคุณสมบัติแล้ว ให้รีสตาร์ทเซิร์ฟเวอร์
วิธีกำหนดการตั้งค่า SMTP ของ FSRM เพื่อส่งการแจ้งเตือนทางอีเมล
ขั้นตอนต่อไปคือการกำหนดการตั้งค่า SMTP ของ FSRM เพื่อส่งการแจ้งเตือนทางอีเมลไปยังผู้ดูแลระบบ ในการดำเนินการ ให้เริ่ม fsrm.msc ให้คลิกขวาที่รูทของคอนโซล File Server Resource Manager แล้วเลือก กำหนดค่าตัวเลือก .
ระบุชื่อเซิร์ฟเวอร์ SMTP หรือที่อยู่ IP ที่อยู่อีเมลของผู้ดูแลระบบและผู้ส่ง
เคล็ดลับ . หากคุณไม่มีเซิร์ฟเวอร์อีเมลภายใน คุณสามารถกำหนดค่าการส่งอีเมลโดยใช้การส่งต่อ SMTP
เพื่อให้แน่ใจว่ามีการกำหนดค่าเซิร์ฟเวอร์ SMTP อย่างถูกต้อง ให้ส่งอีเมลทดสอบโดยใช้ ปุ่มส่งอีเมลทดสอบ
นอกจากนี้ยังสามารถกำหนดค่าการตั้งค่า SMTP ของ FSRM จาก PowerShell:
Set-FsrmSetting -AdminEmailAddress "[email protected]" –smtpserver smtp.adatum.com –FromEmailAddress "[email protected]"
วิธีสร้างกลุ่มนามสกุลไฟล์สำหรับแรนซัมแวร์
ขั้นตอนต่อไปคือการสร้างกลุ่มไฟล์ที่มีนามสกุลและชื่อไฟล์ที่รู้จัก ซึ่งสร้างโดยมัลแวร์เข้ารหัสระหว่างการทำงาน
รายการนี้สามารถสร้างได้ในคอนโซล FSRM ในการดำเนินการ ให้ขยาย การจัดการการคัดกรองไฟล์ -> กลุ่มไฟล์ แล้วเลือก สร้างกลุ่มไฟล์ .
คุณต้องระบุชื่อกลุ่ม (เช่น Crypto-files ) และป้อนนามสกุลที่รู้จักทั้งหมดในรายการโดยใช้ ไฟล์ที่จะรวม สนาม
รายการนามสกุลไฟล์ที่รู้จักซึ่งสร้างขึ้นโดยแรนซัมแวร์นั้นค่อนข้างยาว ดังนั้นจึงสร้างได้ง่ายกว่าโดยใช้ PowerShell
ใน Windows Server 2012 คุณสามารถสร้างกลุ่มไฟล์โดยใช้ PowerShell ได้ดังนี้:
New-FsrmFileGroup -Name "Crypto-files" –IncludePattern @("_Locky_recover_instructions.txt","DECRYPT_INSTRUCTIONS.TXT", "DECRYPT_INSTRUCTION.TXT", "HELP_DECRYPT.TXT", "HELP_DECRYPT.HTML", "DecryptAllFiles.txt", "enc_files.txt", "HowDecrypt.txt", "How_Decrypt.txt", "How_Decrypt.html", "HELP_RESTORE_FILES.txt", , "restore_files*.txt", "restore_files.txt", "RECOVERY_KEY.TXT", "how to decrypt aes files.lnk", "HELP_DECRYPT.PNG", "HELP_DECRYPT.lnk", "DecryptAllFiles*.txt", "Decrypt.exe", "AllFilesAreLocked*.bmp", "MESSAGE.txt","*.locky","*.ezz", "*.ecc", "*.exx", "*.7z.encrypted", "*.ctbl", "*.encrypted", "*.aaa", "*.xtbl", "*.abc", "*.JUST", "*.EnCiPhErEd", "*.cryptolocker","*.micro","*.vvv")
ใน Windows Server 2008 R2 คุณจะต้องใช้ filescrn.exe:
filescrn.exe filegroup add /filegroup:"Crypto-files" /members:"DECRYPT_INSTRUCTIONS.TXT|DECRYPT_INSTRUCTION.TXT| DecryptAllFiles.txt|enc_files.txt|HowDecrypt.txt|How_Decrypt.txt| How_Decrypt.html|HELP_TO_DECRYPT_YOUR_FILES.txt|HELP_RESTORE_FILES.txt| HELP_TO_SAVE_FILES.txt|restore_files*.txt| restore_files.txt|RECOVERY_KEY.TXT|HELP_DECRYPT.PNG|HELP_DECRYPT.lnk| DecryptAllFiles*.txt|Decrypt.exe|ATTENTION!!!.txt|AllFilesAreLocked*.bmp| MESSAGE.txt|*.locky|*.ezz|*.ecc|*.exx|*.7z.encrypted|*.ctbl| *.encrypted|*.aaa|*.xtbl|*.EnCiPhErEd|*.cryptolocker|*.micro|*.vvv| *.ecc|*.ezz|*.exx|*.zzz|*.xyz|*.aaa|*.abc|*.ccc|*.vvv|*.xxx| *.ttt|*.micro|*.encrypted|*.locked|*.crypto|*_crypt|*.crinf| *.r5a|*.XRNT|*.XTBL|*.crypt|*.R16M01D05|*.pzdc|*.good| *.LOL!|*.OMG!|*.RDM|*.RRK|*.encryptedRSA|*.crjoker| *.LeChiffre|*.keybtc@inbox_com|*.0x0|*.bleep|*.1999| *.vault|*.HA3|*.toxcrypt|*.magic|*.SUPERCRYPT|*.CTBL|*.CTB2|*.locky"
https://www.bleib-virenfrei.de/ransomware/
https://fsrm.experiant.ca/api/v1/combined
ในกรณีที่สอง คุณสามารถดาวน์โหลดรายการนามสกุลไฟล์ล่าสุดสำหรับ FSRM ได้โดยตรงจากเว็บเซิร์ฟเวอร์โดยใช้ Invoke-WebRequest
new-FsrmFileGroup -name "Anti-Ransomware File Groups" -IncludePattern @((Invoke-WebRequest -Uri "https://fsrm.experiant.ca/api/v1/combined").content | convertfrom-json | % {$_.filters})
หรือใช้ไฟล์พร้อมเข้ารหัส crypto_extensions.txt คุณสามารถบันทึกไฟล์นี้ลงในดิสก์และอัปเดตกลุ่มไฟล์ FSRM ที่สร้างขึ้นด้วย:
$ext_list = Get-Content .\ransomware_extensions.txt
Set-FsrmFileGroup -Name "Crypto-files" -IncludePattern ($ext_list)
การกำหนดค่าเทมเพลตหน้าจอไฟล์
สร้างเทมเพลตหน้าจอไฟล์ใหม่เพื่อกำหนดการดำเนินการที่ FSRM ต้องดำเนินการหากตรวจพบไฟล์เหล่านี้ โดยไปที่คอนโซล FSRM การจัดการหน้าจอไฟล์ -> เทมเพลตหน้าจอไฟล์ . สร้างเทมเพลตใหม่โดยเลือก สร้างเทมเพลตหน้าจอไฟล์ .
ในแท็บการตั้งค่า ระบุชื่อเทมเพลต “Block_crypto_files ” ประเภทการคัดกรอง การคัดกรองที่ใช้งานอยู่ (ไม่อนุญาตให้บันทึกประเภทไฟล์เหล่านี้) และเลือก Crypto-Files ในรายการกลุ่มไฟล์
ใน ข้อความอีเมล แท็บ เปิดใช้งานการส่งการแจ้งเตือนทางอีเมล และระบุข้อความของหัวเรื่องและเนื้อหาของข้อความ
ใน กิจกรรม บันทึก ให้ตรวจสอบการเข้าสู่บันทึกของระบบด้วยหมายเหตุเพื่อระบุเฉพาะชื่อผู้ใช้:[Source Io Owner]
ใน คำสั่ง คุณสามารถเลือกว่าจะทำอย่างไรหากตรวจพบไฟล์ประเภทใดประเภทหนึ่งเหล่านี้ เราจะหารือกันในภายหลัง
บันทึกการเปลี่ยนแปลง อีกหนึ่งเทมเพลตจะปรากฏในรายการ
วิธีการใช้เทมเพลตหน้าจอไฟล์กับดิสก์หรือโฟลเดอร์
ตอนนี้ คุณต้องกำหนดเทมเพลตที่สร้างขึ้นให้กับดิสก์หรือเครือข่ายที่แชร์บนเซิร์ฟเวอร์ของคุณเท่านั้น ในคอนโซล FSRM ให้สร้างกฎใหม่ สร้างหน้าจอไฟล์ .
ในช่อง File screen path ให้ระบุโลคัลดิสก์หรือพาธไปยังไดเร็กทอรีที่คุณต้องการป้องกันจากแรนซัมแวร์ และเลือกเทมเพลต Block_crypto_files ที่สร้างไว้ก่อนหน้าในรายการเทมเพลต
บล็อกอัตโนมัติของผู้ใช้ที่ติดแรนซัมแวร์
ตอนนี้คุณต้องกำหนดค่าการดำเนินการที่ FSRM จะดำเนินการหากตรวจพบไฟล์ที่สร้างโดยมัลแวร์เข้ารหัส เราจะใช้สคริปต์ที่พร้อมใช้งาน:ปกป้องเซิร์ฟเวอร์ไฟล์ของคุณจากแรนซัมแวร์โดยใช้ FSRM และ Powershell (https://gallery.technet.microsoft.com/scriptcenter/Protect-your-File-Server-f3722fce) สคริปต์นี้ทำอะไร? เมื่อพยายามเขียนประเภทไฟล์ต้องห้ามในการแชร์เครือข่าย FSRM จะเรียกใช้สคริปต์นี้ ซึ่งจะวิเคราะห์บันทึกเหตุการณ์และห้ามไม่ให้ผู้ใช้เขียนไฟล์ลงในโฟลเดอร์ที่ใช้ร่วมกัน ดังนั้นการเข้าถึงของผู้ใช้ที่ติดไวรัสเพื่อแบ่งปันเครือข่ายจะถูกบล็อก
ดาวน์โหลดสคริปต์นี้และแตกไฟล์ไปที่รูทของไดเร็กทอรี C:\ บนเซิร์ฟเวอร์ไฟล์ของคุณ คัดลอก SubInACL (เครื่องมือที่อนุญาตให้เปลี่ยนการอนุญาตสำหรับการแชร์เครือข่าย) ลงในไดเร็กทอรีเดียวกัน ไฟล์ต่อไปนี้จะต้องอยู่ในไดเร็กทอรี:
- RansomwareBlockSmb.ps1
- StartRansomwareBlockSmb.cmd
- subinacl.exe
หมายเหตุ . ฉันต้องเปลี่ยนสตริงเหล่านี้ในสคริปต์ PS:
$SubinaclCmd = "C:\subinacl /verbose=1 /share \\127.0.0.1\" + "$SharePart" + " /deny=" + "$BadUser"
และ
if ($Rule -match "Crypto-Files")
ในแท็บคำสั่งของการตั้งค่าเทมเพลต "Block crypto files" ระบุว่าพรอมต์คำสั่งที่มีอาร์กิวเมนต์ StartRansomwareBlockSmb.cmd จะต้องเริ่มทำงาน:
เรียกใช้คำสั่งหรือสคริปต์นี้: c:\windows\system32\cmd.exe
อาร์กิวเมนต์คำสั่ง :/c “c:\StartRansomwareBlockSmb.cmd”
ต้องรันคำสั่งเป็น Local System
การทดสอบการป้องกัน FSRM
มาทดสอบกันว่า FSRM ป้องกันแรนซัมแวร์ได้อย่างไร หากต้องการทำสิ่งนี้ ให้สร้างไฟล์ที่มีนามสกุลใดๆ ในไดเร็กทอรีที่ได้รับการป้องกัน และลองเปลี่ยนนามสกุลนี้เป็นนามสกุลต้องห้าม .locky
เมื่อพยายามบันทึกไฟล์ต้องห้าม FSRM จะสร้างรายการในบันทึก:
Event ID: 8215
Source: SRMSVC
จากข้อมูลจากบันทึก สคริปต์ RansomwareBlockSmb.ps1 จะห้ามไม่ให้ผู้ใช้ปัจจุบันเข้าถึงไดเร็กทอรีนี้ โดยเปลี่ยนสิทธิ์การเข้าถึงการแชร์
การป้องกันได้ผล! ในบันทึกที่อยู่ในรูทของดิสก์ คุณสามารถดูไดเร็กทอรีและบัญชีผู้ใช้ที่พยายามเรียกใช้แรนซัมแวร์
หากคุณต้องการระดับการป้องกันที่สูงขึ้น คุณสามารถเปลี่ยนจากบัญชีดำของไฟล์เป็นบัญชีขาว จากนั้นคุณจะสามารถบันทึกได้เฉพาะประเภทไฟล์ที่อนุญาต
ดังนั้นเราจึงได้พิจารณาวิธีการบล็อกการเข้าถึงเครือข่ายโดยอัตโนมัติสำหรับผู้ใช้ที่คอมพิวเตอร์ติดไวรัสแรนซัมแวร์ โดยธรรมชาติแล้ว การใช้ FSRM ในลักษณะนี้ไม่สามารถป้องกันไฟล์บนเซิร์ฟเวอร์ของคุณจากมัลแวร์ประเภทนี้ได้อย่างเต็มที่ แต่มันเหมาะที่จะเป็นหนึ่งในระดับการป้องกัน ในบทความต่อไป เราจะพิจารณาอีกรูปแบบหนึ่งของการป้องกันการเข้ารหัสแรนซัมแวร์:
- วิธีกู้คืนไฟล์ผู้ใช้จาก VSS Snapshots หลังจากติดแรนซัมแวร์
- นโยบายการจำกัดซอฟต์แวร์เพื่อป้องกันแรนซัมแวร์