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