隨著 Windows 2000 普及,NTFS 成為企業級安全的基礎。本文系統介紹 NTFS 核心安全架構與關鍵數據結構。
文件系統對比:為何選 NTFS?
| 文件系統 | 最大分區 | 簇大小 (大分區) | 空間浪費 | 安全功能 |
| FAT | 2 GB | 64 KB | 極大 | 無 |
| FAT32 | 32 GB | 4 KB | 中等 | 無 |
| NTFS | 2 TB+ | 4 KB (固定) | 最小 | 完整 ACL、加密、配額、壓縮 |
NTFS 無論分區多大,簇固定 4 KB,極大減少磁碟碎片與空間浪費。
Windows 2000 安全模型雙支柱
- 身份驗證: 確認用戶「是誰」。Win2k 預設使用 Kerberos v5,兼容 NTLM;支援 Crypto API、SSL、PKI。
- 授權: 決定經驗證用戶「能做什麼」。通過存取控制列表 (ACL) 與用戶存取權杖比對,自動裁決允許/拒絕。
核心安全數據結構
- SID (Security Identifier)
- 唯一標識用戶/群組;一次性使用,刪除後不再重用。
- ACE (Access Control Entry)
- 定義單一 SID 對物件的允許/拒絕權限及審核設定。
- ACL (Access Control List)
- ACE 有序集合;可同時包含允許與拒絕 ACE。
- DACL (Discretionary ACL)
- 控制物件存取權限的 ACL;無 DACL 表示完全開放,空 DACL 表示全拒絕。
- SACL (System ACL)
- 定義對物件存取的審核策略(成功/失敗)。
- SECURITY_DESCRIPTOR
- 物件安全描述符,包含擁有者、主要群組、DACL、SACL 指標。
存取檢查流程
- 用戶登入 → 產生存取權杖 (Access Token),含用戶 SID、群組 SID、特權。
- 請求存取物件 → 系統讀取物件 Security Descriptor 中的 DACL。
- 按 ACE 順序逐項比對權杖 SID:
- 遇到「拒絕」匹配 → 立即拒絕。
- 遇到「允許」匹配 → 累加權限。
- 遍歷結束無匹配 → 隱性拒絕。
- 最終累積權限滿足請求 → 允許,否則拒絕。
下篇將結合實戰場景,展示如何利用 NTFS 權限、EFS 加密、磁碟配額構建纵深防禦體系。