oracle 審計使用者連線

2021-05-24 23:10:08 字數 1570 閱讀 8403

為防止惡意使用者對系統進行攻擊,我們可以監控系統的連線情況。與此同時結合定期檢查和分析,便可以迅速的發現那些異常和非法的資料庫連線。

實現對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;

/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.小結

本文給出的是通過觸發器實現使用者登入審計的需求。可以在此基礎上進行豐富和定製來滿足具體的審計需求。

oracle使用者登入審計

oracle中可以按照如下方式對使用者登陸失敗進行審計 1 確認sys.aud 是否存在?desc sys.aud 2 觀察user 表中lcount為非0的使用者,如果包含被鎖賬戶,則可以判定很有可能是該使用者登陸嘗試失敗過多 造成了賬戶被鎖 select name,lcount from sys...

oracle 審計導數

1 因審計需求,需要將mysql oracle資料庫中需要的表資料匯入到sqlserver進行審計。2 之前的方法 a.oracle組將表dump下來,進行壓縮,傳送到oracle導數伺服器 中轉伺服器 再進行還原,然後修改表結構,通過sqlserver自帶工具從oracle庫中遷移資料。b.mys...

使用者的登入審計

利用使用者的登入審計,可以檢視到有那些使用者遠端登入過伺服器,在一定程度上保證了伺服器的安全。在實驗中,我們在真機上上開啟兩個shell視窗,ctrl shift t可以開啟兩個並列的shell視窗 1.分別遠端登入兩個虛擬機器root 172.25.254.122和root 172.25.254....