Database’ deki kullanıcı sayısı fazla
olan şirketler de bir süre sonra şöyle bir problem ortaya çıkıyor. İşe başlayan
personele bir database accountu açılıyor. Sonra zaman içerisinde kimi personel
ayrılıyor, kimisi yeni işe başlıyor derken ipin ucu bir noktada kaçabiliyor
dolayısıyla işten ayrılmış olan personelin accountu sistemde açık olarak
kalabiliyor. Buda aslında sisteminiz için bir güvenlik açığı oluşturuyor. Peki
bunu nasıl giderebiliriz? Birebir çözümü olmasa da (en azından ben öyle
düşünüyorum) şöyle bir tespitte bulunabiliriz. Database’ e connect olan
kullanıcıları sisteme giriş yaptığı anda tespit edip, bizim istemiş olduğumuz
bazı bilgileri bir tabloya yazdırıp sonrasında sistemdeki tüm kullanıcılar ile
karşılaştırıp baktığımız zaman aralığında sisteme hiç giriş yapmamış olan
kullanıcıları bulabiliriz. Tabi bu kullanıcıları hemen drop etmek çok akıllıca
olmayabilir, burada şu yapılabilir bu kullanıcıların accountları
locklanıp en azından araştırmak için zaman kazanılabilir. Şimdi bunun için
neler yapmamız gerektiğine bakalım;
Önce v$sessionın tüm kolonlarını içeren
bir tablo create edip, trigger da bunu kullanacğım. Aslında bu iş için
v$session tablosundaki tüm kolonlara ihtiyacımız yok, siz isterseniz insert ve
create table scriptini özelliştirip nesnelerinizi kolon bazında tanımlayıp
create edebilirsiniz.
-- tablomuzu create edelim ;
create table kamil.logon_user as select
* from v$session where 0=1
-- triggerımızı create edelim ;
create or replace trigger
kamil.logon_user_control
AFTER LOGON ON DATABASE
BEGIN
insert into kamil.logon_user select *
from v$session ;
END;
/
Şimdi tablomuzu kontrol edelim, yeni
gelen sessionlara ait tüm bilgileri bizim tablomuzada insert ediyor olması
gerekiyor.
select count(*) from
kamil.logon_user ;
COUNT(*)
----------
1078
1 row selected
Evet tablo doluyor, problem yok.
Şimdi yaptığımız işlemleri geri alalım.
Temizlik zamanı;
drop trigger
kamil.logon_user_control ;
Trigger dropped
drop table kamil.logon_user ;
Table dropped
Umarım işinize yarar zaman zaman bu tarz bilgileri kimi uygulama sahipleri
isteyebiliyor. Aslında dba’ ler olarak kimi noktalarda bizim de işimize
yarıyor.
Kamil TÜRKYILMAZ
Hiç yorum yok:
Yorum Gönder