熱門分類
載入中…
目錄0%

🔐 PowerShell 建立企業檔案分享環境:ACL、群組化管理、存取稽核與防止資料外洩

    🔐 PowerShell 建立企業檔案分享環境:ACL、群組化管理、存取稽核與防止資料外洩

    在企業中建置檔案伺服器(File Server),最核心的技術在於分享設定(SMB Share)NTFS 權限(ACL)群組化管理、以及存取稽核(Audit)。 若能透過 PowerShell 自動化這些流程,不僅能消除手動設定錯誤,也讓多台伺服器的部署更一致化。

    本篇深度完整解析 Windows 檔案伺服器建置流程,包含:

    • 📌 安裝 File Server 角色
    • 📌 建立資料夾架構:部門 / 專案 / 公用
    • 📌 使用 PowerShell 建立 SMB Share
    • 📌 以群組為中心的 NTFS ACL 權限模型
    • 📌 啟用稽核與 Log 分析
    • 📌 防止資料外洩的設定(Access-Based Enumeration、阻擋危險檔案)

    🧱 Part 1:安裝 File Server 角色

    在 Windows Server 中,File Server 角色可以透過 GUI 或 PowerShell 安裝。若要腳本自動化,請使用:

    
    # 安裝 File Server 角色
    Install-WindowsFeature -Name FS-FileServer -IncludeManagementTools
      

    確認角色已安裝:

    
    Get-WindowsFeature FS-FileServer
      

    🗂 Part 2:企業資料夾架構(建議)

    
    D:\FileShares\
     ├── Public\
     ├── HR\
     ├── Finance\
     ├── IT\
     └── Project\
          ├── P001\
          ├── P002\
          └── P003\
      

    建立資料夾:

    
    New-Item -Path "D:\FileShares\Public" -ItemType Directory
    New-Item -Path "D:\FileShares\HR" -ItemType Directory
    New-Item -Path "D:\FileShares\Finance" -ItemType Directory
      

    👥 Part 3:企業級 AD 群組權限模型

    大型企業採用「AGDLP 模型」:

    • Accounts(人員)
    • Global Groups(部門群組)
    • Domain Local Groups(權限群組)
    • Permissions(ACL 套用)

    建立群組(範例):

    
    # 建立部門群組
    New-ADGroup -Name "GG-HR" -GroupScope Global -Path "OU=Groups,DC=corp,DC=local"
    New-ADGroup -Name "GG-Finance" -GroupScope Global -Path "OU=Groups,DC=corp,DC=local"
    
    # 建立權限群組
    New-ADGroup -Name "DL-HR-Modify" -GroupScope DomainLocal -Path "OU=Groups,DC=corp,DC=local"
    New-ADGroup -Name "DL-FIN-Read" -GroupScope DomainLocal -Path "OU=Groups,DC=corp,DC=local"
    
    # 將 GG 加入 DL
    Add-ADGroupMember -Identity "DL-HR-Modify" -Members "GG-HR"
    Add-ADGroupMember -Identity "DL-FIN-Read" -Members "GG-Finance"
      

    📁 Part 4:建立 SMB Share(含 Access-Based Enumeration)

    建立 HR 資料夾的共享:

    
    New-SmbShare -Name "HR" -Path "D:\FileShares\HR" -FullAccess "DL-HR-Modify" -ReadAccess "DL-HR-Read" -EncryptData $true
      

    啟用 Access-Based Enumeration(未授權者看不到資料夾名稱):

    
    Set-SmbShare -Name "HR" -FolderEnumerationMode AccessBased
      

    確認設定成功:

    
    Get-SmbShare -Name "HR" | fl *
      

    🔐 Part 5:設定 NTFS 權限(ACL)

    將權限授予 DL 群組:

    
    # 取得目前 ACL
    $acl = Get-Acl "D:\FileShares\HR"
    
    # 設定存取規則(Modify 權限)
    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("DL-HR-Modify","Modify","ContainerInherit,ObjectInherit","None","Allow")
    
    # 套用
    $acl.AddAccessRule($rule)
    Set-Acl -Path "D:\FileShares\HR" -AclObject $acl
      

    給予 Read 權限:

    
    $acl = Get-Acl "D:\FileShares\Finance"
    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("DL-FIN-Read","ReadAndExecute","ContainerInherit,ObjectInherit","None","Allow")
    $acl.AddAccessRule($rule)
    Set-Acl "D:\FileShares\Finance" $acl
      

    🕵️ Part 6:啟用稽核(Audit)追蹤誰讀/寫資料

    第一步:啟用本機稽核策略 Auditing:

    
    auditpol /set /subcategory:"File System" /success:enable /failure:enable
      

    第二步:在 HR 資料夾上加上稽核規則:

    
    $acl = Get-Acl "D:\FileShares\HR"
    $auditRule = New-Object System.Security.AccessControl.FileSystemAuditRule("GG-HR","Write","ContainerInherit,ObjectInherit","None","Success")
    $acl.AddAuditRule($auditRule)
    Set-Acl "D:\FileShares\HR" $acl
      

    這樣即可在 Security Log 看到:誰新增、修改、刪除檔案。


    🚫 Part 7:防止資料外洩(DLP 基礎)

    • Access-Based Enumeration:未授權的資料夾直接隱藏。
    • 阻擋危險副檔名下載(如 exe、bat、ps1)
    • 強制 SMB 加密(避免網路封包竊聽)
    • 使用 File Screening(FSRM)阻擋特定檔案類型

    啟用 SMB 加密:

    
    Set-SmbServerConfiguration -EncryptData $true -Force
      

    阻擋可執行檔(FSRM):

    
    Import-Module FileServerResourceManager
    
    New-FsrmFileGroup -Name "BlockExe" -IncludePattern @("*.exe","*.bat","*.ps1")
    New-FsrmFileScreen -Path "D:\FileShares\Public" -FileGroup "BlockExe" -Active:$true
      

    🏁 結語

    PowerShell 能將整個企業檔案伺服器的建置流程自動化,避免手動設定錯誤,也讓權限管理更一致與安全。 本篇涵蓋SMB Share、NTFS ACL、群組化管理、稽核、外洩防護等企業最常使用的配置方法, 可作為企業 IT、MIS 與系統管理員部署 Windows File Server 的標準藍圖。

    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級