Salı , 2 Eylül 2014
Anasayfa / MAKALELER / Veri Tabanı / Sisteme Connect Olan – Olmayan Kullanıcıları Tespit Etme

Sisteme Connect Olan – Olmayan Kullanıcıları Tespit Etme

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 Turkyilmaz

1979 Tokat/Zile doğumluyum. Yıldız Teknik Üniversitesi 1997 - 2001 mezunuyum ancak 1998 yılından itibaren IT sektöründe, 2000 yılından bu yanada Oracle üzerine çalışmaktayım. 2005 yılına kadar oracle database'i üzerine yazılmış olan kimi uygulamalara software support hizmeti, sonrasında ise oracle veritabanı yöneticiliği olmak üzere yaklaşık 12 yıldır sektör içerisindeyim. Oracle' ın hemen hemen tüm ürünlerinin kurulumu, konfigurasyonu, yönetimi konusundaki çalışmalarıma özel bir bankada oracle dba olarak devam etmekteyim. Aynı zamanda kimi bilişim sitelerinde yazarlık yapıyorum, bunun yanısıra bu alandaki deneyim ve tecrübelerimi daha fazla kullanıcıyla paylaşabilmek adına bir de oracle blog yazarıyım.

Latest posts by Kamil Turkyilmaz (see all)

Powered by Starbox

Hakkında Kamil Turkyilmaz

1979 Tokat/Zile doğumluyum. Yıldız Teknik Üniversitesi 1997 - 2001 mezunuyum ancak 1998 yılından itibaren IT sektöründe, 2000 yılından bu yanada Oracle üzerine çalışmaktayım. 2005 yılına kadar oracle database'i üzerine yazılmış olan kimi uygulamalara software support hizmeti, sonrasında ise oracle veritabanı yöneticiliği olmak üzere yaklaşık 12 yıldır sektör içerisindeyim. Oracle' ın hemen hemen tüm ürünlerinin kurulumu, konfigurasyonu, yönetimi konusundaki çalışmalarıma özel bir bankada oracle dba olarak devam etmekteyim. Aynı zamanda kimi bilişim sitelerinde yazarlık yapıyorum, bunun yanısıra bu alandaki deneyim ve tecrübelerimi daha fazla kullanıcıyla paylaşabilmek adına bir de oracle blog yazarıyım.

Cevapla

E-posta adresiniz yayınlanmayacak. Required fields are marked *

*


Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>