Database Aktivite Monitoring

01
Mart
2013
Database Aktivite Monitoring

Log yönetimi projeleriminin en önemli fazlarından biri de veritabanı aktivitelerinin loglanması ve kurum politikaları gereği ilgili uyarı mekanizmalarının kurulmasıdır. Özellikle orta ve büyük ölçekli firmalarda veritabanı aktivitelerinin izlenmesi hem kritik verilere erişimin takibi, hemde iş akış süreçlerinin iyileştirilmesi adına faydalı olmaktadır.

Bunun yanında yaşanacak  fraud olaylarının tespit edilmesi ve kanıt dökümanı olarak sunulması açısından vazgeçilmez bir ihtiyaçtır. Peki bütün bu ve buna benzer ihtiyaçlar doğrultusunda konumlandırmamız gereken DAM (Database Activite Monitoring) çözümlerinden beklentiler, kriterler neler olmalı? Mevcut çözümler ne derece ihtiyacımız karşılıyor adım adım bahsetmeye çalışacağım. bu makalede çok fazla ayrıntıya girmeden yüzeysel bir giriş yapılacak olup alt kırılımlar ilerleyen zamanlarda farklı konu başlıkları ile anlatılacaktır.

 

  1. Amaç: Veritabanı loglarının izlenmesi konusunda kurum politikalarımız doğrutusunda amaçlarımızın şekilleneceği aşikar olmakla birlikte temelde projenin amaçları şu şekildedir;

  • Yetkili /yetkisiz erişimlerin tespit edilmesi,
  • Veritabanı üzerinde yapılan insert,update,alter v.b. komut satırlarının kayıt altına alınması,
  • Belirlenen kriterler doğrultusunda istenmeyen aktivitelerin bloklanması,
  • Veritabanı aktivitelerinin günülük,haftalık veya anlık olarak sistem sorumlularına raporlanması,

     2Mimari: Veritabanı loglarının alınması ve izlenmesi noktasında karşımıza çıkan çözümlerde faklı teknolojiler       çıkmaktadır. Çözümlerin, veritabanı loglarının alınmasında kullandığı yöntemler şu şekildedir;

 

  • Ajanlı: Veritabanı sunucularına ajan kurulumu ile logların alınması sağlanır. Kernel modunda veya Ethernet kartında bu aktivitelerin loglanması veya kurum politikaları gereği bloklanması mümkündür. Ajan kullanımında cpu değerinin sınırlandırılabilmesi veya kullanılacak buffer boyutunun değiştirilmesi konusu önem arzetmektedir.

 

  • Ajansız: Herhangi bir ajan kurulmaksızın readonly bir hesap ile veritabanına erişim sağlar ve buradaki aktiviteleri uzaktan(remote) loglanması sağlanabilir. Burada sunucu tarafına az da olsa yük getirmemekle birlikte yaşanacak network kesintilerinde veri kaybının yaşanmasına sebep olacaktır.

  

  • Inline: Bu mimaride çözüm, uygulama ve kullanıcıların veritabanı erişimlerinde  gateway olarak konumlandırılır. Yani veritabanı sunucularına olan tüm erişimler DAM (database activite monitoring) çözümü üzerinden geçer ve logların alınması, engellenmesi gateway üzerinden yapılır. Bu yöntemde ajan kurulmamış veritabanlarına olan erişimlerin ve aktivitelerin de kayıt altına alınmasını sağlar. Fakat fbu DAM gateway cihazlarında oluşacak bir problemin de tüm veritabanı sunucularına olan erişimin kesintiye uğraması manasına gelecektir. Bu probleme karşı bazı DAM çözümleri cihaz down olsa bile (elektriksel kesinti) trafiği üzerinden problemsiz bir şekilde aktarılmasını sağlayan teknolojiye sahip olduklarını belirtmektedir.Lokalden yapılan aktiviteleri tespit edemeyecektir. Eğer sunucu lokal (interactive) erişimlerini tamamen kapatmadıysanız veya kontrol altına almadıysanız ajan kurulumu yapmanız riskleri minimize etmek adına faydalı olacaktır.

 

  • Mirroring: Tamamen pasif moda logların alınmasını sağlamaktadır. Herhangibir şekilde ne aray girersiniz ne de ajan kurulumu yapılır. Veritabanı sunucularına giden trafiğin bir kopyası ilgili çözümün dinlediği porta mirror yapılır ve burada logların alınması sağlanır. Trafiğin şifreli olması durumunda bazı çözümler şifresiz gönderilmesini isterken bazıları key/sertifika import ile bu trafiği açabileceklerini söylemektedir. Lokal erişim aktiviteleri loglanmayacaktır.

  

3. Kapsam: Veritabanı aktivitelerinin izlenmesi konusunda veritabanı anvanter listesinin çıkarılması ve hangi veritabanları kullanılıyor ise ona göre ilgiliçözüm arayışına girilmelidir. Örneğin;

 

  • Oracle 10g, 11g
  • MS SQL Server 05/08
  • IBM DB2 UDB
  • IBM DB2 z/OS 8.1, 9.1
  • IBM DB2 UDB for iSeries
  • IBM Informix 10,11
  • Oracle MySQL 4.1,5,5.X
  • Sybase ASE, IQ
  • Teradata 6.01, 6.02
  • Oracle Exadata

Bununla birlikte hangi veritabanı/instince/tablo v.s. monitor edileceği belirlenmelidir.

DAM projelerinde iki farklı senaryo karşımıza çıkar bunlardan ilki veritabanı aktivitelerinin zilenmesi, ikincisi ise kurum politikaları gereği istenmeyen aktivitelerin bloklanması. Genelde kullanılan birinci yöntemdir. Veritabanı aktivitelerinin bloklanması konusunda ciddi bir çalışma yapılması ve öncesinde ortalama 1 yıllıkbir öğrenme modunda çalışılması faydalı olacaktır. Aksi taktirde hizmet kesintileri ve iş kaybı yaşarsınız . bu da projenin fail olmasına sebep olabilir. Öncesinde kim hangi veritababnına hangi kullanıcı hesabı ilegidiyor, inser/update ne yapıyor bunları çıkarmalı ve tüm bu çalışmalar yapıldıktan sonra erişimin veya aktivitenin bloklanmasını sağlayabilirsiniz. Dediğim gibi bu kaynak isteyen bir durumdur.

İzlenmesi gereken aktiviteler/komutlar şu şekildedir;

 

–     SELECT

–     DDL (Data Definition Language)

–     DML(Data Manuplation Language)

–     DCL (Data Control Language)

–     TCL(Transaction Control)

–     KILL

–     Restore / Backup / Clone

–     DBCC (Database Console Commands)

 

Bunlarla birlikte kullancı ekleme, eklenen kullanıcının hangi role atandığı, kullanılmaynan kullanıcı hesapları, dbadmin kullanıcı hesabı ile yapılabilecek aktiviteleri kimlerin yapıldığının v.s. kayıt altına alınması ve izlenmesi gerekmektedir.

Kritik objelerin belirlenmesi ve bu objelere göre politikaların belirlenmesi salanmaladır. Örneğin TCKN bilgisi bulunan veri tabanları tespit edilmeli buraya olan erişimler ayrıca loglanmalı farklı politikalara tabi tutulmalıdır. Ayrıca kritik obje formatının belirlenerek yazılacak regex ile bu objenin geçtiği veritabanları tespit edilir ve sisteme tanıtılması sağlanabilir. Ayrıca veritabanında kritik bilgilerin olduğu (TCKN, IBAN, Anne Kızlık Soyadı) alanlara ait log kayıtlarının tutulurken bu bilgilerin maskeli olarak saklanmasını sağlayabilir 3. Tarafların veya log admin personelinin görmesini engelleyebilirsiniz.

 

 

Veritabanı erişimlerinin ayrıntılarında hangi uygulama ile eriştiğine ait log kaydının da tutulması önem arzetmektedir. Kendi izin verilen uygulama listenizi oluşturarark bunun dışında bir uygulama veritababnına erişti ise alert uret diyebilirsiniz veya ilgili erişimi sonlandırabilirsiniz. Örnek izin verilen uygulama listesi şu şekildedir;

  • Toad
  • SQL Navigator
  • SQL PLUS
  • MSSQL Studio Manager
  • MSSQL Query Analyzer
  • Aqua Data Studio

 

Herhangi bir aktiviteye ait log kaydında aşağıdaki alanların bulunması önceliklidir;

  • Timestamp
  • Client IP adresi
  • DB Server IP adresi
  • DB User Name
  • OS User Name
  • Source Program
  • Full SQL statement
  • Network ve DB Protokolü

 

 

MAKALEYE YORUM YAZ

İsminiz
E-posta adresiniz
Yorumunuz
Doğrulama kodu ?

Copyright © 2006 - 2013  DESTEKYERI.COM

Embedded by  ® SANALOG Tüm Hakları Saklıdır . Yayınlanan yazıların izin alınmadan kopyalanması ve kullanılması  5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur. Makalelerin "alıntı" olduğunu belirterek yayınlayabilir ve kaynağı belirtmeniz önemlidir !!!