保護資料和日誌檔案的安全
SQL Server為特定帳戶設定了對每個資料庫中的物理資料和日誌檔案的檔案訪問許可權。這些許可權可以防止當檔案駐留在具有開啟許可權的目錄中時被篡改。例如,如果未設定許可權,並且對資料庫目錄的作業系統許可權設定為可由任何人“完全控制”,則可以訪問該目錄的任何帳戶即使沒有修改資料庫本身的 SQL Server 許可權,也可以刪除或修改資料庫檔案。
檔案訪問許可權可在以下任一資料庫操作過程中設定:建立、附加、分離、修改以新增新檔案、備份或還原。
管理注意事項
僅當檔案系統支援 Win32 訪問控制(例如,NTFS 檔案系統)時才可以設定許可權。資料庫引擎無法為儲存在原始分割槽或 FAT 和 FAT32 檔案系統中的檔案設定許可權。
如果作業系統管理員手動修改檔案許可權,資料庫引擎將不會嘗試強制應用原始許可權。
如果通過使用 SQL Server Management Studio 更改了 SQL Server (MSSQLSERVER) 服務帳戶,Management Studio 會嘗試將該帳戶和正確的許可權新增到所有的現有資料庫檔案中。對於更改服務帳戶時無法使用的資料庫,此操作可能失敗。
如果通過使用 Microsoft Windows 服務更改了 MSSQLSERVER 服務帳戶,作業系統管理員必須授予新服務帳戶對所有資料庫和日誌檔案的完全控制許可權。
建立資料庫或新增新檔案
當建立資料庫或修改資料庫以新增新檔案時,會授予 MSSQLSERVER 服務帳戶和本地 Administrators 組成員對資料和日誌檔案的完全控制訪問許可權。所有其他帳戶的檔案訪問許可權將被刪除。
備份和還原資料庫
MSSQLSERVER 服務帳戶和本地 Administrators 組成員對為了還原或備份而建立的檔案具有完全控制許可權。
如果檔案已存在並且 MSSQLSERVER 服務帳戶已具有該檔案的許可權,則備份或還原操作將繼續。否則,資料庫引擎將模擬正在執行操作的連線的 Windows 帳戶並試圖開啟該檔案。開啟該檔案後,會為 MSSQLSERVER 服務帳戶和本地 Administrators 組成員授予許可權。
備用檔案(撤消檔案)的處理方式與此相同。
分離和附加資料庫
分離或附加資料庫時,資料庫引擎嘗試模擬執行該操作的連線的 Windows 帳戶,從而保證該帳戶具有訪問資料庫和日誌檔案的許可權。對於使用 SQL Server 登入名的混合安全帳戶而言,該模擬可能會失敗。
安全說明:
建議您不要附加來自未知或不可信來源的資料庫。此類資料庫可能包含惡意程式碼,這些程式碼可能會執行非預期的 Transact-SQL 程式碼,或者通過修改架構或物理資料庫結構導致錯誤。使用來自未知或不可信來源的資料庫前,請在非生產伺服器中針對資料庫執行 DBCC CHECKDB,然後檢查資料庫中的程式碼,例如儲存過程或其他使用者定義程式碼。
下表顯示了完成附加或分離操作後為資料庫和日誌檔案設定的許可權,以及資料庫引擎是否可以模擬連線帳戶。
操作 可以模擬連線帳戶 檔案許可權授給
分離
是
只有執行操作的帳戶。如果分離資料庫後需要新增帳戶,可由作業系統管理員新增附加帳戶。
分離
否
SQL Server (MSSQLSERVER) 服務帳戶和本地 Windows Administrators 組的成員。
附加
是
SQL Server (MSSQLSERVER) 服務帳戶和本地 Windows Administrators 組的成員。
附加
否
SQL Server (MSSQLSERVER) 服務帳戶。
方案
下列方案說明了建立資料庫時設定的並在分離和附加資料庫時修改的許可權。
User1 是 dbcreator 固定伺服器角色的一個成員,該成員建立了包含檔案 e:\Data\Sales.mdf 和 f:\Log\Sales.ldf 的資料庫 Sales。建立資料庫時,MSSQLSERVER 服務帳戶是 SQLServiceAccount2,一個本地帳戶。資料庫和日誌檔案的完全控制許可權被授給 SQLServiceAccount2 和 Windows Administrators 組成員。
現決定將 Sales 資料庫移動到同一臺伺服器上的另一個 SQL Server 例項上。sysadmin 固定伺服器角色的成員 Admin3 分離了資料庫。資料庫引擎為 Sales.mdf 和 Sales.ldf 檔案設定了許可權,因此只有 Admin3 帳戶有權訪問這些檔案。
Admin3 連線到 SQL Server 的另一例項 SalesServer。SalesServer 例項的 MSSQLSERVER 服務帳戶是 SQLSalesServiceAccount。此例項上的 SQL Server 管理員 Admin3 附加了 Sales 資料庫。完全控制許可權被授給 SQLSalesServiceAccount 和 Windows Administrators 組成員。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DG保護模式與備用聯機日誌檔案模式
- 用日誌系統保護Linux安全Linux
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- 寫在2024年國際資料保護日之際:如何保護資料安全和隱私?
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- 使用開源工具WarShield保護你的檔案和資料開源工具
- 保護資料庫的安全(二)資料庫
- 保護資料庫的安全(一)資料庫
- 保護Oracle資料庫的安全Oracle資料庫
- 日誌檔案和歸檔日誌檔案的關係以及如何切換日誌
- 在Oracle中移動資料檔案、控制檔案和日誌檔案Oracle
- 建立資料庫檔案-日誌檔案-次要資料庫檔案資料庫
- 域環境下如何保護重要資料檔案的安全(三)—BitLocker(上)
- MySQL資料庫中的日誌檔案---(4)配置日誌檔案輸出路徑MySql資料庫
- 如何全面保護AI資料隱私和資料安全?AI
- MySQL資料庫中的日誌檔案---(1)錯誤日誌MySql資料庫
- 國務院:全面加強網路安全和資料安全保護
- Flutter 保護你的APP資料安全FlutterAPP
- 保護資料安全的三種武器
- 對日誌檔案組和日誌檔案組成員的管理
- 域環境下如何保護重要資料檔案的安全(一)—EFS加密(下)加密
- 企業檔案加密:資料保護的實戰策略加密
- MySQL資料庫中的日誌檔案---(3)慢查詢日誌MySql資料庫
- MySQL資料庫中的日誌檔案---(2)普通查詢日誌MySql資料庫
- 資料安全與PostgreSQL:保護策略SQL
- oracle中移動控制檔案、資料檔案、日誌檔案Oracle
- RMAN備份資料檔案+控制檔案+歸檔日誌
- 資料檔案重建,從歸檔日誌中回退資料
- 日誌檔案和歸檔管理
- 更安全的rm命令,保護重要資料
- CRM保護客戶資料安全的方法?
- window下刪除過舊的日誌檔案指令碼(如jboss的日誌檔案 資料庫的trace檔案)指令碼資料庫
- 雲資料安全:SQL Azure資料保護RVSQL
- 分析Oracle資料庫日誌檔案(1)Oracle資料庫
- 分析Oracle資料庫日誌檔案(2)Oracle資料庫
- 分析Oracle資料庫日誌檔案(3)Oracle資料庫
- 大資料安全與隱私保護大資料
- 如何保護PostgreSQL資料庫安全? | goteleportSQL資料庫Go