1- TCP.VALIDNODE_CHECKING kullanıp sadece izin verdiğimiz ip adreslerinin database ulaşmasını sağlayalım
INVITED_NODES bağlanmasına izin verilenler
EXCLUDED_NODES bağlanmasına karşı çıkılanlar
edit sqlnet.ora
tcp.validnode_checking = yes
tcp.invited_nodes = (192.168.2.2, 192.168.2.3)
# tcp.excluded_nodes = (192.168.2.4)
2- Database logon trigerı yazalım.
CREATE OR REPLACE TRIGGER check_session_connection
AFTER LOGON ON DATABASE
DECLARE
cursor c_session is
select sys_context('userenv','session_user') username,
s.module, s.program
from v$session s
where sys_context('userenv','sessionid')=s.audsid;
r_session c_session%rowtype;
BEGIN
OPEN c_session;
FETCH c_session into r_session;
IF upper(r_session.module) like ('%EXCEL%') THEN
raise_application_error (20901,'Excel - go away.');
END IF;
IF upper(r_session.module) like ('%ACCESS%') THEN
raise_application_error (20902,'Access - go away.');
END IF;
CLOSE c_session;
END;
3- password verify function ile profile değiştirip passwordleri komplex hale getirelim.
SQL> @?/rdbms/admin/utlpwdmg.sql
SQL> alter profile default limit password_verify_function verify_function;
4- Database linklerin 10g R2 ile güvenliğini artıralım. Sys.link$ sorgulandığında database linkini fix user ile create ederseniz passwordu görebilirsiniz.
5- Audit user logon bilgileri
set newpage 2
set heading off
select count(*) Num,
substr(username,1,10) username,
substr(terminal,1,12) terminal,
substr(os_username,1,15) os_username,
substr(to_char(timestamp,'DD-MON-YY'), 1,9) timestamp
from dba_audit_session
where returncode<>0
and timestamp > sysdate-7
group by username,
terminal,
os_username,
to_char(timestamp,'DD-MON-YY');
Hiç yorum yok:
Yorum Gönder