安全原則配置
「授信執行 (TE)」特性可為您提供執行時期檔案完整性驗證機制。使用此機制,可以配置系統在每一個存取授信檔案的要求之前,先檢查檔案的完整性,故可有效地只容許系統存取通過完整性檢查的授信檔案。
當檔案標示為授信 (在「授信簽章資料庫」中新增其定義) 時,就可以使用 TE 特性來監視每一次存取的完整性。TE 可以持續監視系統,且可以在執行時期 (例如,在載入時期) 偵測 (由任何惡意使用者或應用程式) 竄改系統上的任何授信檔案。如果發現檔案遭到竄改,則 TE 可以根據預先配置的原則 (如禁止執行、存取檔案,或記載錯誤) 來採取更正動作。如果檔案正在開啟或執行,且在「授信簽章資料庫 (TSD)」中有一個項目,則 TE 會執行,如下所示:
- 載入二進位檔之前,負責載入檔案的元件 (系統載入器) 會呼叫「授信執行」子系統,並使用 SHA-256 演算法 (可配置) 來計算雜湊值。
- 比對這個執行時期計算的雜湊值與 TSD 中所儲存的值。
- 如果值相符,則允許檔案開啟或執行。
- 如果值不相符,則二進位檔已遭竄改或以某種方式洩漏。由使用者來決定要採取的動作。TE 機制會提供選項給使用者來配置他們自己的原則,以決定雜湊值不符時要採取的動作。
- 根據這些配置的原則,採取相關動作。
下面是可以配置的原則:
- CHKEXEC
- 只檢查授信執行檔的雜湊值,然後才載入至記憶體以供執行。
- CHKSHLIBS
- 只檢查授信共用程式庫的雜湊值,然後才載入至記憶體以供執行。
- CHKSCRIPTS
- 只檢查授信 Shell Script 的雜湊值,然後才載入至記憶體。
- CHKKERNEXT
- 只檢查核心擴充的雜湊值,然後才載入至記憶體。
- STOP_UNTRUSTD
- 停止載入非授信的檔案。只載入屬於 TSD 的檔案。此原則只能與上述任何 CHK* 原則一起組合運作。比方說,如果 CHKEXEC=ON 且 STOP_UNTRUSTD=ON,則會封鎖任何不屬於 TSD 的執行二進位檔,使其無法執行。
- STOP_ON_CHKFAIL
- 停止載入雜湊值檢查失敗的授信檔案。此原則也要與 CHK* 原則一起組合運作。比方說,如果 CHKSHLIBS=ON 且 STOP_ON_CHKFAIL=ON,則會封鎖任何不屬於 TSD 的共用程式庫,使其無法載入記憶體以供使用。
- TSD_LOCK
- 鎖定 TSD,使它無法用於編輯。
- TSD_FILES_LOCK
- 鎖定授信檔案。這會禁止在寫入模式中開啟授信檔案。
- TE
- 啟用/停用「授信執行」功能。只有在啟用此功能時,上述原則才有效。
下表提供啟用時,不同 CHK* 原則及 STOP* 原則之間的互動:
| 原則 | STOP_UNTRUSTD | STOP_ON_CHKFAIL |
|---|---|---|
| CHKEXEC | 停止載入不屬於 TSD 的執行檔。 | 停止載入雜湊值不符合 TSD 值的執行檔。 |
| CHKSHLIBS | 停止載入不屬於 TSD 的共用程式庫。 | 停止載入雜湊值不符合 TSD 值的共用程式庫。 |
| CHKSCRIPTS | 停止載入不屬於 TSD 的 Shell Script。 | 停止載入雜湊值不符合 TSD 值的 Shell Script。 |
| CHKKERNEXT | 停止載入不屬於 TSD 的核心擴充。 | 停止載入雜湊值不符合 TSD 值的核心擴充。 |
註: 在啟用 TE 使原則生效之前,可以隨時啟用或停用原則。一旦原則生效,停用該原則就只會對下一個開機循環有效。所有參考訊息均記載至 syslog。