[記錄服務] 有數個特定功能,可加以啟用以執行額外的功能。包括啟用「安全記錄」、「指令行記錄」和「遠端記錄」。
此選擇性的功能可將額外安全性加入記錄功能中。啟用「安全記錄」後,可以偵測對安全記錄進行的未授權變更或竄改。使用此功能不需用特殊編碼。「安全記錄」是藉由使用由系統管理員配置的預先註冊憑證來達成。會為每個記錄檔記錄產生和儲存此「清單分析和憑證 (MAC)」。會定期插入特定「簽名」記錄檔記錄,表示寫入該點之記錄內容的簽名。兩種記錄的組合可確保記錄沒有被竄改。
以 Logger 名稱建立憑證,然後將其安裝在執行 Access Manager 的部署容器中。詳細資訊請參閱部署容器的文件。
在 Access Manager 主控台中,開啟 [記錄服務] 配置中的 [安全記錄],並儲存此變更。管理員亦可修改 [記錄服務] 中其他屬性的預設值。
若記錄目錄預設值 (/var/opt/SUMWam/logs) 有所變更,請確定將其權限設為 0700。若此目錄不存在,記錄服務會建立此目錄,但它會建立權限設為 0755 的目錄。
此外,若您指定和預設不同的目錄,必須變更以下參數至新目錄中 Web 容器的 server.policy 檔:
permission java.io.FilePermission “/var/opt/SUNWam/logs/*”,”delete,write”
在包含憑證資料庫密碼的 AccessManager-base/SUNWam/config 目錄中建立檔案,並將之命名為 .wtpass。
其檔名和路徑可在 AMConfig.properties 檔中配置。如需更多資訊,請參閱附錄 AAMConfig.properties 檔案中的「憑證資料庫」。
請確定部署容器使用者為因安全性理由對此檔案有讀取權限的管理員。
重新啟動伺服器。
應清除安全記錄目錄,因為當啟動安全記錄時,部份易引起誤解的驗證錯誤可能會被寫入 /var/opt/SUNWam/debug/amLog 檔案。
若要偵測安全記錄中有無未認證的變更或竄改, 請查看驗證程序寫入 /var/opt/SUNWam/debug/amLog 的錯誤訊息。若要手動檢查竄改,請執行 VerifyArchive 公用程式。如需更多資訊,請參閱第 19 章, VerifyArchive 指令行工具。
amadmin 指令行工具可建立、修改和刪除 Directory Server 中的識別物件 (例如組織、使用者、角色)。此工具也可載入、建立和註冊服務範本。[記錄服務] 可啟用 -t 選項來記錄這些動作。若啟用 (ACTIVE) AMConfig.properties 中的 com.iplanet.am.logstatus 特性,則會建立記錄檔記錄。(依預設會啟用此特性。)指令行記錄檔的前綴是 amAdmin。如需更多資訊,請參閱第 14 章, amadmin 指令行工具。
AMConfig.properties 檔中有一些特性會影響記錄的輸出:
此特性可啟用或停用記錄。預設為 ACTIVE。
service 為服務的正常除錯檔檔名。level 為 java.util.logging.Level 值的其中一個,表示記錄於記錄檔中之詳細資訊的等級。等級可為 SEVERE、WARNING、INFO、CONFIG、FINE、FINER 和 FINEST。大多數服務所記錄的詳細資訊不會高於 INFO 記錄等級。
Access Manager 支援遠端記錄。使用安裝 Access Manager SDK 之主機的用戶端應用程式可在部署於遠端機器上的 Access Manager 實例上建立記錄檔記錄。遠端記錄可在以下情況下被啟動:
當 Access Manager 實例的 [記錄服務] 中的記錄 URL 指向遠端實例,且二者之間配置為信任關係,記錄將寫入遠端 Access Manager 實例。
當 Access Manager SDK 是針對遠端 Access Manager 實例而安裝,且在 SDK 伺服器上執行的用戶端 (或簡單 Java 類別) 使用記錄 API,記錄將寫入遠端 Access Manager 機器。
當記錄 API 是由 Access Manager 代理程式所使用。
若使用 Sun Java System Web Server,server.xml 配置檔中需設定以下環境變數:
java.util.logging.manager=com.sun.identity.log.LogManager
java.util.logging.config.file=/ AccessManager-base /SUNwam/lib/LogConfig.properties
若使用的 Java™ 2 Platform, Standard Edition 為 1.4 或更高版本,在指令行中執行以下指令將完成此步驟:
java -cp /AccessManager-base /SUNWam/lib/am_logging.jar:/ AccessManager-base /SUNWam/lib/xercesImpl.jar:/ AccessManager-base /SUNWam/lib/xmlParserAPIs.jar:/ AccessManager-base /SUNWam/lib/jaas.jar:/ AccessManager-base /SUNWam/lib/xmlParserAPIs.jar:/ AccessManager-base /SUNWam/lib/servlet.jar:/ AccessManager-base /SUNWam/locale:/ AccessManager-base/SUNWam/lib/am_services.jar:/ AccessManager-base/SUNWam/lib/am_sdk.jar:/ AccessManager-base/SUNWam/lib/jss311.jar:/ AccessManager-base/SUNWam/lib:.
-Djava.util.logging.manager=com.sun.identity.log.LogManager
-Djava.util.logging.config.file=/ AccessManager-base /SUNwam/lib/LogConfig.properties <logTestClass>
若使用的 Java 2 Platform, Standard Edition 版本低於 1.4,在指令行中執行以下指令將完成此步驟:
java -Xbootclasspath/a:/AccessManager-base /SUNWam/lib/jdk_logging.jar -cp / AccessManager-base /SUNWam/lib/am_logging.jar:/ AccessManager-base /SUNWam/lib/xercesImpl.jar:/ AccessManager-base /SUNWam/lib/xmlParserAPIs.jar:/ AccessManager-base /SUNWam/lib/jaas.jar:/ AccessManager-base /SUNWam/lib/xmlParserAPIs.jar:/ AccessManager-base /SUNWam/lib/servlet.jar:/ AccessManager-base /SUNWam/locale:/ AccessManager-base/SUNWam/lib/am_services.jar:/ AccessManager-base/SUNWam/lib/am_sdk.jar:/ AccessManager-base/SUNWam/lib/jss311.jar:/ AccessManager-base/SUNWam/lib:.
-Djava.util.logging.manager=com.sun.identity.log.LogManager
-Djava.util.logging.config.file=/ AccessManager-base /SUNwam/lib/LogConfig.properties <logTestClass>
請確定位於 AccessManager-base/SUNWam/lib 的 LogConfig.properties 中有配置以下參數:
iplanet-am-logging-remote-handler=com.sun.identity。
log.handlers.RemoteHandler
iplanet-am-logging-remote-formatter=com.sun。
identity.log.handlers.RemoteFormatter
iplanet-am-logging-remote-buffer-size=1
遠端記錄支援緩衝,以記錄檔記錄的數目為基準。此值定義了記錄緩衝區大小,以記錄的數目為單位。一旦緩衝區空間已滿,所有在緩衝區中的記錄都會被清空至伺服器。
iplanet-am-logging-buffer-time-in-seconds=3600
此值定義要呼叫緩衝區清除器執行緒的逾時期間。
iplanet-am-logging-time-buffering-status=OFF
此值定義是否要啟用記錄緩衝 (和緩衝區清除器執行緒)。依預設此功能為關閉。
每當記錄檔是空白時,安全記錄可能會顯示「驗證失敗」。這是因為當已建立檔案的數目與歸檔檔案大小相等時,安全記錄會將其歸檔並重新開始。於大部分的實例中,您可忽略此錯誤。一旦記錄的數目與歸檔檔案大小相等時,將不會顯示錯誤。