Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Windows 파일 서버에서 FSRM을 활용한 랜섬웨어 탐지 및 자동 차단 완벽 가이드

이 글에서는 Windows Server 2012 R2 기반의 파일 서버에서 FSRM(File Server Resource Manager) 기능을 활용하여 랜섬웨어를 탐지하고 차단하는 방법을 알아봅니다. FSRM 서비스 설치부터 파일 스크리닝 설정, 그리고 랜섬웨어 탐지 시 해당 사용자의 공유 폴더 접근을 자동으로 차단하는 방법까지 단계별로 살펴보겠습니다.

FSRM을 이용한 랜섬웨어 탐지 방법

파일 서버에 FSRM 기능이 설치되어 있지 않다면, 서버 관리자(Server Manager) 그래픽 콘솔 또는 PowerShell 명령어를 통해 설치할 수 있습니다.

Install-WindowsFeature FS-Resource-Manager -IncludeManagementTools

설치가 정상적으로 완료되었는지 확인하려면 다음 명령어를 실행합니다.

Get-WindowsFeature -Name FS-Resource-Manager

기능 설치 후에는 변경 사항 적용을 위해 서버를 재시작하는 것이 좋습니다.

관리자 알림을 위한 FSRM SMTP 설정

다음 단계는 관리자에게 이메일 알림을 전송하기 위한 FSRM의 SMTP 설정입니다. fsrm.msc를 실행하고, File Server Resource Manager 콘솔의 루트 노드에서 마우스 오른쪽 버튼을 클릭한 후 Configure Options(옵션 구성)을 선택합니다.

SMTP 서버 이름 또는 IP 주소, 관리자 이메일 주소, 발신자 이메일 주소를 지정합니다.

팁: 내부 메일 서버가 없는 경우, SMTP 릴레이(SMTP Relay)를 통해 메일 발송을 구성할 수 있습니다.

SMTP 서버가 올바르게 구성되었는지 확인하려면 Send Test E-mail(테스트 메일 보내기) 버튼을 눌러 테스트 메일을 발송해 보세요.

SMTP 설정은 PowerShell로도 구성할 수 있습니다.

Set-FsrmSetting -AdminEmailAddress "FileServerAdmins@adatum.com" –smtpserver smtp.adatum.com –FromEmailAddress "FSRM@LON-FS02.adatum.com"

랜섬웨어 파일 확장자 그룹 만들기

암호화 악성코드가 생성하는 것으로 알려진 확장자와 파일 이름들을 묶은 파일 그룹을 만들어야 합니다.

FSRM 콘솔에서 File Screening Management → File Groups를 확장한 후 Create File Group(파일 그룹 만들기)을 선택합니다.

그룹 이름(예: Crypto-files)을 지정하고, Files to include(포함할 파일) 필드에 알려진 모든 확장자를 입력합니다.

랜섬웨어가 생성하는 파일 확장자 목록은 매우 방대하므로, 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|*.zzz|*.xyz|*.abc|*.ccc|*.xxx|*.ttt|*.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"

팁: 확장자 목록을 직접 작성할 수도 있지만, 아래 사이트처럼 주기적으로 업데이트되는 최신 목록을 활용하는 것이 더 좋습니다.

  • https://www.bleib-virenfrei.de/ransomware/
  • https://fsrm.experiant.ca/api/v1/combined

두 번째 API를 사용하면 Invoke-WebRequest cmdlet으로 웹 서버에서 최신 랜섬웨어 확장자 목록을 직접 받아와 FSRM 파일 그룹을 생성할 수 있습니다.

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 콘솔에서 File Screen Management → File Screen Templates로 이동한 후 Create File Screen Template을 선택합니다.

Settings(설정) 탭에서 템플릿 이름을 “Block_crypto_files”로 지정하고, 스크리닝 유형을 Active screening(능동 스크리닝)(해당 파일 유형의 저장을 허용하지 않음)으로 선택합니다. 그리고 파일 그룹 목록에서 Crypto-Files를 체크합니다.

E-mail Message(전자 메일 메시지) 탭에서는 이메일 알림 전송을 활성화하고, 제목 및 본문 내용을 지정합니다.

Event Log(이벤트 로그) 탭에서는 시스템 로그에 기록되는 항목을 설정합니다. 사용자 이름만 남기려면 [Source Io Owner] 변수를 사용하세요.

Command(명령) 탭에서는 해당 파일 유형이 탐지되었을 때 실행할 명령을 지정할 수 있습니다. 이 부분은 아래에서 자세히 다룹니다.

변경 사항을 저장하면 템플릿 목록에 새 템플릿이 추가됩니다.

디스크 또는 폴더에 파일 스크리닝 템플릿 적용하기

이제 생성한 템플릿을 서버의 디스크 또는 네트워크 공유에 할당하면 됩니다. FSRM 콘솔에서 Create File Screen(파일 스크린 만들기)을 선택하여 새 규칙을 생성합니다.

File screen path 필드에 랜섬웨어로부터 보호하려는 로컬 디스크 또는 폴더 경로를 지정하고, 템플릿 목록에서 앞서 만든 Block_crypto_files 템플릿을 선택합니다.

랜섬웨어에 감염된 사용자 자동 차단하기

이제 암호화 악성코드가 생성한 파일이 탐지되었을 때 FSRM이 수행할 동작을 구성해야 합니다. 여기서는 검증된 스크립트인 Protect your File Server against Ransomware by using FSRM and Powershell을 활용합니다.

이 스크립트의 작동 원리: 네트워크 공유에 금지된 파일 형식을 쓰려는 시도가 발생하면, FSRM이 이 스크립트를 실행하여 이벤트 로그를 분석하고 해당 사용자가 공유 폴더에 파일을 쓰지 못하도록 권한을 조정합니다. 결과적으로 감염된 사용자의 공유 폴더 접근이 자동으로 차단됩니다.

스크립트를 다운로드하여 파일 서버의 C:\ 드라이브 루트에 압축을 해제합니다. 그리고 네트워크 공유 권한을 변경할 수 있는 도구인 SubInACL(subinacl.exe)을 같은 디렉터리에 복사합니다. 디렉터리에는 다음 세 개의 파일이 있어야 합니다.

  • RansomwareBlockSmb.ps1
  • StartRansomwareBlockSmb.cmd
  • subinacl.exe

참고: PowerShell 스크립트에서 아래 두 줄을 환경에 맞게 수정해야 할 수 있습니다.

$SubinaclCmd = "C:\subinacl /verbose=1 /share \\127.0.0.1\" + "$SharePart" + " /deny=" + "$BadUser"

if ($Rule -match "Crypto-Files")

“Block_crypto_files” 템플릿 설정의 Command 탭에서 StartRansomwareBlockSmb.cmd를 인수로 포함하여 실행하도록 지정합니다.

  • Run this command or script(실행할 명령 또는 스크립트): c:\windows\system32\cmd.exe
  • Command arguments(명령 인수): /c “c:\StartRansomwareBlockSmb.cmd”

명령은 Local System 계정으로 실행되어야 합니다.

FSRM 랜섬웨어 보호 테스트

설정이 끝났으니 실제로 보호 기능이 작동하는지 테스트해 보겠습니다. 보호 대상 디렉터리에 임의의 확장자를 가진 파일을 하나 생성한 후, 확장자를 금지된 형식인 .locky로 변경해 봅니다.

금지된 파일을 저장하려는 시도가 발생하면 FSRM이 다음과 같은 이벤트를 기록합니다.

Event ID: 8215
Source: SRMSVC

RansomwareBlockSmb.ps1 스크립트는 이 로그 정보를 바탕으로 공유 권한을 변경하여 해당 사용자가 이 디렉터리에 접근하지 못하도록 차단합니다.

보호 기능이 정상 작동합니다! 디스크 루트에 생성된 로그 파일에서 랜섬웨어가 실행되려던 디렉터리 경로와 사용자 계정을 확인할 수 있습니다.

더 높은 수준의 보호가 필요하다면 블랙리스트 방식 대신 화이트리스트 방식으로 전환하여, 허용된 파일 형식만 저장할 수 있도록 설정할 수도 있습니다.

마무리

지금까지 랜섬웨어에 감염된 사용자 컴퓨터의 네트워크 공유 접근을 자동으로 차단하는 방법을 살펴보았습니다. 물론 FSRM만으로 서버의 파일을 랜섬웨어로부터 완벽하게 보호할 수는 없지만, 다계층 방어 전략의 한 축으로 충분히 유용합니다. 다음 글에서는 랜섬웨어 대응을 위한 또 다른 보호 방법들을 소개할 예정입니다.

  • 랜섬웨어 감염 후 VSS 스냅샷으로 사용자 파일 복구하기
  • 소프트웨어 제한 정책(SRP)을 활용한 랜섬웨어 예방