【AUDIT】審計並記錄使用者連線資料庫資訊
為防止惡意使用者對系統進行攻擊,我們可以監控系統的連線情況。與此同時結合定期檢查和分析,便可以迅速的發現那些異常和非法的資料庫連線。
實現對Oracle系統登入的審計的方法不是唯一的,這裡給出使用觸發器記錄使用者登入資訊。希望能起到拋磚引玉的目的。
1.建立記錄審計資訊的表
conn sec/sec
create table audit_user_connect
(
user_id varchar2 (32),
session_id number (8),
host varchar2 (32),
connection_ip varchar2 (32),
logon_day date,
logon_time varchar2 (10)
);
2.建立審計連線資訊的觸發器
create or replace trigger user_connect_audit_trigger
after logon
on database
declare
v_connection_ip varchar2 (20);
v_host varchar2 (20);
begin
select sys_context ('userenv', 'ip_address') into v_connection_ip from dual;
select sys_context ('userenv', 'host') into v_host from dual;
insert into audit_user_connect
values (user,
sys_context ('userenv', 'sessionid'),
v_host,
v_connection_ip,
sysdate,
to_char (sysdate, 'hh24:mi:ss'));
commit;
end;
/
3.測試效果
1)客戶端測試連線資料庫
SQL> conn secooler/secooler@172.17.193.211ora10g
已連線。
SQL> conn sec/sec@172.17.193.211ora10g
已連線。
2)檢視審計資訊
sec@ora10g> select * from audit_user_connect;
USER_ID SESSION_ID HOST CONNECTION_IP LOGON_DAY LOGON_TIME
---------- ---------- -------------------- --------------- ------------------- ----------
SECOOLER 2510618 BJSSECO\HOUSW-LT 10.142.8.199 2010-12-16 21:10:48 21:10:48
SEC 2510619 BJSSECO\HOUSW-LT 10.142.8.199 2010-12-16 21:11:06 21:11:06
4.注意事項
因為是使用觸發器實現的審計,因此如果trigger本身出現問題的話,會導致使用者無法訪問。因此在使用該方法進行審計時,一定要確保trigger的有效性和可用性。
具體的報錯資訊如下:
sys@ora10g> conn sec/sec
ERROR:
ORA-04098: trigger 'SEC.USER_DISCONNECT_AUDIT_TRIGGER' is invalid and failed re-validation
ERROR:
ORA-24315: illegal attribute type
Warning: You are no longer connected to ORACLE.
5.小結
本文給出的是透過觸發器實現使用者登入審計的需求。可以在此基礎上進行豐富和定製來滿足具體的審計需求。
歡迎大家提出自己的寶貴意見。
Good luck.
secooler
10.12.16
-- The End --
實現對Oracle系統登入的審計的方法不是唯一的,這裡給出使用觸發器記錄使用者登入資訊。希望能起到拋磚引玉的目的。
1.建立記錄審計資訊的表
conn sec/sec
create table audit_user_connect
(
user_id varchar2 (32),
session_id number (8),
host varchar2 (32),
connection_ip varchar2 (32),
logon_day date,
logon_time varchar2 (10)
);
2.建立審計連線資訊的觸發器
create or replace trigger user_connect_audit_trigger
after logon
on database
declare
v_connection_ip varchar2 (20);
v_host varchar2 (20);
begin
select sys_context ('userenv', 'ip_address') into v_connection_ip from dual;
select sys_context ('userenv', 'host') into v_host from dual;
insert into audit_user_connect
values (user,
sys_context ('userenv', 'sessionid'),
v_host,
v_connection_ip,
sysdate,
to_char (sysdate, 'hh24:mi:ss'));
commit;
end;
/
3.測試效果
1)客戶端測試連線資料庫
SQL> conn secooler/secooler@172.17.193.211ora10g
已連線。
SQL> conn sec/sec@172.17.193.211ora10g
已連線。
2)檢視審計資訊
sec@ora10g> select * from audit_user_connect;
USER_ID SESSION_ID HOST CONNECTION_IP LOGON_DAY LOGON_TIME
---------- ---------- -------------------- --------------- ------------------- ----------
SECOOLER 2510618 BJSSECO\HOUSW-LT 10.142.8.199 2010-12-16 21:10:48 21:10:48
SEC 2510619 BJSSECO\HOUSW-LT 10.142.8.199 2010-12-16 21:11:06 21:11:06
4.注意事項
因為是使用觸發器實現的審計,因此如果trigger本身出現問題的話,會導致使用者無法訪問。因此在使用該方法進行審計時,一定要確保trigger的有效性和可用性。
具體的報錯資訊如下:
sys@ora10g> conn sec/sec
ERROR:
ORA-04098: trigger 'SEC.USER_DISCONNECT_AUDIT_TRIGGER' is invalid and failed re-validation
ERROR:
ORA-24315: illegal attribute type
Warning: You are no longer connected to ORACLE.
5.小結
本文給出的是透過觸發器實現使用者登入審計的需求。可以在此基礎上進行豐富和定製來滿足具體的審計需求。
歡迎大家提出自己的寶貴意見。
Good luck.
secooler
10.12.16
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-682053/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL 記錄資料庫連線數資訊SQL資料庫
- 通過觸發器記錄資料庫連線資訊觸發器資料庫
- audit審計
- 審計--audit
- oracle資料庫sys使用者的審計(網文摘錄)Oracle資料庫
- MySQL審計auditMySql
- AUDIT審計(2)
- Oracle 審計 auditOracle
- oracle 審計(Audit)Oracle
- Masonite 熟悉步驟小記錄 (二、連線資料庫)資料庫
- 【FGA】將FGA細粒度審計功能的審計結果記錄在資料庫中資料庫
- 請關掉你的資料庫連線!並且請使用資料庫連線池資料庫
- DBSync如何連線並同步MySQL資料庫MySql資料庫
- SQL Server 審計(Audit)SQLServer
- ORACLE AUDIT審計(1)Oracle
- 用觸發器記錄資料庫使用者登陸資訊觸發器資料庫
- 【審計】標準資料庫審計資料庫
- 資料庫會話記錄使用者登陸的密碼資訊資料庫會話密碼
- oracle開啟audit(審計)Oracle
- Oracle Audit 審計 說明Oracle
- RHEL審計內容/etc/audit/audit.rules
- 不能連線資料庫收集Systemstate Dumps資訊資料庫
- 資料庫審計-hexorbase資料庫HexoORB
- 用Navicat連線資料庫-資料庫連線(MySQL演示)資料庫MySql
- 連線資料庫並實現增、刪、改、查資料庫
- 連線資料庫資料庫
- 資料庫連線資料庫
- 使用Java 14的新記錄型別連線資料庫表 - MinborgJava型別資料庫
- Oracle audit 審計功能說明Oracle
- 通過Java程式測試資料庫連線資訊Java資料庫
- 通過連線檢視資料庫相關資訊資料庫
- 刪除當前資料庫連線使用者資料庫
- 拍拍貸資料庫審計資料庫
- 資料庫DDL操作審計資料庫
- linux下使用者操作記錄審計環境的部署記錄Linux
- 輕鬆找到並檢視織夢CMS的資料庫配置檔案,從而獲取資料庫連線資訊資料庫
- mysql--通過cmd連線mysql,並建立資料庫MySql資料庫
- 劫持微信聊天記錄並分析還原 —— 訪問資料庫並檢視聊天記錄(五)資料庫