Change Font Size

Change Screens

Change Profile

Change Layouts

Change Direction

Change Menu Styles

Cpanel
Çarşamba, 09 Şubat 2011 10:36

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

Yazan&Gönderen  Kamil TURKYILMAZ
Bu Öğeyi Derecelendir
(2 Oylar)
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. 
Son Düzenleme Çarşamba, 09 Şubat 2011 12:48
Kamil TURKYILMAZ

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, son 6 yıl ise oracle veritabanı yöneticiliği olmak üzere yaklaşık 11 yıldır sektör içerisindeyim. Oracle’ ın hemen hemen tüm ürünlerinin kurulumu, konfigurasyonu, yönetimi konusundaki çalışmalarıma devam etmekteyim. Son 2 yıldır da özel bir bankada oracle dba olarak çalışmaktayım. Aynı zamanda kimi bilişim sitelerinde yazarlık yapıyorum, bunun yanısıra bu alandaki deneyim ve tecrübelerimi daha fazla kişiyle paylaşabilmek adına bir de oracle blog  yazarıyım.

Website: kamilturkyilmaz.blogspot.com E-posta: Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir

Yorum yaz

Yorumlarınızı aşağıdaki alana belirtebilirsiniz.

You are here Kategoriler ORACLE Sisteme Connect Olan – Olmayan Kullanıcıları Tespit Etme