Database Audit ve Log Yönetimi: Kim, Ne Zaman, Hangi Veriye Erişti?
Database audit ve log yonetimi: kim ne zaman hangi veriye erisdi? Login-DDL-DML audit, log butunlugu, SIEM entegrasyonu ve tespit senaryolari.

Veritabanı güvenliğinde erişimi kontrol etmek çok önemlidir.
Ancak yalnızca erişimi sınırlandırmak yeterli değildir.
Bir kullanıcının database'e erişmesine izin verildikten sonra şu sorular da cevaplanabilmelidir:
Kim bağlandı?
Ne zaman bağlandı?
Hangi IP adresinden geldi?
Hangi database'e erişti?
Hangi tabloyu okudu?
Hangi veriyi değiştirdi?
Yeni kullanıcı oluşturdu mu?
Yetki verdi mi?
Toplu veri çekti mi?
Audit ayarlarını değiştirdi mi?
Bu soruların cevabı yoksa kurumun database üzerinde gerçek görünürlüğü sınırlıdır.
Bu nedenle modern database security yaklaşımının en önemli parçalarından biri:
Database Audit ve Log Management
süreçleridir.
Database audit, veritabanı üzerinde gerçekleşen güvenlik açısından önemli aktivitelerin kayıt altına alınmasını sağlar.
Log management ise bu kayıtların;
toplanması,
saklanması,
korunması,
analiz edilmesi
ve gerektiğinde araştırılmasını kapsar.
Temel prensip şudur:
Bir database üzerinde kritik işlem yapılıyorsa bu işlem iz bırakmalıdır.
Ancak güçlü bir audit sistemi yalnızca log üretmekle kalmaz.
Bu logların;
merkezi sisteme taşınması,
silinmeye karşı korunması,
doğru zaman bilgisine sahip olması,
yeterli süre tutulması
ve gerçekten analiz edilmesi gerekir.
Database Audit Nedir?
Database Audit, veritabanında gerçekleştirilen kullanıcı ve sistem aktivitelerinin güvenlik ve izlenebilirlik amacıyla kayıt altına alınmasıdır.
Audit kayıtları;
kullanıcı,
zaman,
işlem,
hedef obje,
sonuç
gibi bilgiler içerebilir.
Database Logging ile Database Audit Aynı Şey mi?
Tam olarak değil.
Database logging daha geniş bir kavramdır.
Örneğin;
startup,
shutdown,
performance,
error,
checkpoint
gibi teknik olayları içerebilir.
Audit ise daha çok:
Kim ne yaptı?
sorusuna odaklanır.
Operational Log Nedir?
Database'in teknik çalışmasına ilişkin kayıtlardır.
Örneğin:
Service started
Backup failed
Replication disconnected
Disk error
gibi olaylar operational log kapsamında olabilir.
Security Audit Log Nedir?
Kullanıcı ve güvenlik aktivitelerini kaydeder.
Örneğin:
Login successful
Login failed
User created
Privilege granted
Sensitive table accessed
Query Log Nedir?
Database üzerinde çalıştırılan sorguların kayıt altına alınmasıdır.
Her database için tüm query'lerin kaydedilmesi performans ve storage açısından uygun olmayabilir.
Bu nedenle risk bazlı logging kullanılmalıdır.
Database Audit Neden Kritiktir?
Bir güvenlik olayı gerçekleştiğinde kurum şu soruya cevap vermek zorundadır:
Ne oldu?
Bunu takip eden sorular:
Kim yaptı?
Hangi kullanıcıyla yapıldı?
Hangi sistemden geldi?
Hangi veri etkilendi?
Ne kadar sürdü?
Audit kayıtları bu soruların cevaplanmasını sağlar.
Audit Olmadan Incident Investigation Mümkün mü?
Çok zor olabilir.
Network veya application logları bazı ipuçları sağlayabilir.
Ancak database içerisindeki gerçek aktiviteler bilinmeyebilir.
Database Audit Hangi Amaçlarla Kullanılır?
Başlıca amaçlar:
Security Monitoring
Incident Response
Forensic Investigation
Compliance
Privileged User Monitoring
Data Access Tracking
Fraud Detection
Kimlerin Database Aktiviteleri Audit Edilmeli?
Risk bazlı olarak;
DBA,
privileged user,
application service account,
developer,
support user,
external consultant
aktiviteleri izlenebilir.
DBA Aktiviteleri Neden Özellikle İzlenmeli?
DBA yüksek yetkilere sahiptir.
Veri okuyabilir.
Yetki değiştirebilir.
Kullanıcı oluşturabilir.
Database objelerini değiştirebilir.
Bu nedenle DBA audit database security'nin temel kontrollerinden biridir.
“DBA Güvenilir, Loglamaya Gerek Yok” Yaklaşımı Doğru mu?
Hayır.
Audit yalnızca kötü niyetli çalışanı yakalamak için yapılmaz.
Human error, yanlış işlem ve incident investigation için de gereklidir.
Privileged User Monitoring Nedir?
Yüksek yetkili kullanıcıların database aktivitelerinin özel olarak izlenmesidir.
Privileged Kullanıcı İçin Hangi Olaylar İzlenmeli?
Örneğin:
Privileged login
Role change
User creation
Database configuration change
Sensitive data query
Audit disable
Backup/restore operation
Database Login Audit Nedir?
Kullanıcıların database'e başarılı veya başarısız bağlantılarının kaydedilmesidir.
Successful Login Neden Loglanmalı?
Kritik kullanıcıların hangi saatlerde ve hangi kaynaklardan bağlandığı görülebilir.
Failed Login Neden Daha Kritik Olabilir?
Birden fazla başarısız login;
brute-force,
credential stuffing,
yanlış password,
application configuration error
göstergesi olabilir.
Failed Login Threshold Nedir?
Belirli zaman aralığında oluşan başarısız login sayısına göre alarm üretilmesidir.
Örneğin normalde günde birkaç hata varken bir dakikada yüzlerce başarısız login oluşması anormaldir.
Dormant Account Login Neden Alarm Üretebilir?
Altı aydır kullanılmayan bir hesabın aniden login olması compromise göstergesi olabilir.
Break-Glass Account Kullanımı İzlenmeli mi?
Kesinlikle.
Break-glass hesabının kullanılması yüksek öncelikli security event olmalıdır.
DBA Mesai Dışı Login Alarmı Faydalı mı?
Evet.
Ancak tek başına malicious davranış anlamına gelmez.
On-call veya maintenance olabilir.
Bu nedenle context ile değerlendirilmelidir.
Source IP Loglanmalı mı?
Evet.
Kullanıcının hangi IP adresinden bağlandığını bilmek incident investigation için değerlidir.
Hostname Loglanmalı mı?
Mümkün olduğunda evet.
Kaynak cihazın belirlenmesine yardımcı olur.
Application Name Loglanabilir mi?
Bazı database platformları client application bilgisini kaydedebilir.
Bu normal ve anormal erişimin ayrıştırılmasına yardımcı olur.
Authentication Method Loglanmalı mı?
Mümkün olduğunda evet.
Örneğin;
password,
certificate,
SSO
gibi authentication türleri araştırma için faydalı olabilir.
Session ID Nedir?
Database bağlantısını benzersiz şekilde tanımlayan değerdir.
Bir oturum içerisindeki aktiviteleri ilişkilendirmeye yardımcı olabilir.
Session Start ve End Time Neden Önemlidir?
Kullanıcının database üzerinde ne kadar süre aktif kaldığını gösterir.
DDL Audit Nedir?
DDL:
Data Definition Language
database yapısını değiştiren işlemleri ifade eder.
Örneğin:
CREATE
ALTER
DROP
işlemleri.
DDL İşlemleri Neden Audit Edilmeli?
Çünkü schema değişiklikleri;
application outage,
data loss,
security change
oluşturabilir.
DROP TABLE Kritik Event midir?
Evet.
Production database'de DROP işlemleri yüksek öncelikli audit event olabilir.
CREATE USER Loglanmalı mı?
Kesinlikle.
Yeni kullanıcı oluşturulması database access yüzeyini değiştirir.
GRANT ve REVOKE Loglanmalı mı?
Evet.
Yetkilendirme değişiklikleri security açısından kritik olaylardır.
Role Assignment Neden İzlenmeli?
Bir kullanıcıya privileged role verilmesi privilege escalation olabilir.
DML Audit Nedir?
DML:
Data Manipulation Language
veri üzerinde yapılan işlemleri ifade eder.
Örneğin:
INSERT
UPDATE
DELETE
SELECT
gibi işlemler.
Tüm DML İşlemleri Loglanmalı mı?
Her zaman değil.
Yüksek transaction sistemlerinde devasa log hacmi oluşabilir.
Bu nedenle kritik tablo ve kullanıcılar için risk bazlı audit uygulanabilir.
SELECT Neden Audit Edilmelidir?
Çünkü veri ihlali yalnızca veri değiştirme değildir.
Bir saldırgan hiçbir kayıt değiştirmeden milyonlarca müşteri kaydını okuyabilir.
Sensitive Table Access Nedir?
Hassas veri içeren tablolara yapılan erişimlerdir.
Örneğin;
Customer_PII
Salary
Payment
Health_Data
tabloları.
Sensitive Table Access Nasıl Belirlenir?
Data classification ve discovery süreçleriyle hangi tabloların hassas olduğu belirlenebilir.
Bulk SELECT Nedir?
Normalden çok daha büyük miktarda veri okuyan sorgudur.
Bulk SELECT Neden Şüpheli Olabilir?
Normal kullanıcı 100 kayıt okurken bir anda 5 milyon kayıt çekiyorsa data exfiltration ihtimali değerlendirilebilir.
Her Büyük Sorgu Saldırı mıdır?
Hayır.
Reporting veya ETL işlemleri de büyük veri okuyabilir.
Bu nedenle kullanıcı ve workload baseline'ı önemlidir.
Query Baseline Nedir?
Database'deki normal query davranışının profili oluşturulur.
Örneğin;
hangi account,
hangi saat,
hangi tablolar,
ortalama satır sayısı
bilinir.
Anomaly Detection Database Audit'te Nasıl Kullanılır?
Normal davranıştan önemli sapmalar tespit edilir.
Örneğin:
DBA ilk kez müşteri tablosunu sorguladı.
Service account farklı IP'den bağlandı.
Rapor kullanıcısı DELETE işlemi yaptı.
Database Audit ile DAM Aynı mı?
Hayır.
Database audit genellikle DBMS'nin kendi logging mekanizmasıdır.
DAM ise aktiviteleri merkezi olarak izleyen ve analiz eden ayrı bir güvenlik katmanıdır.
DAM Database Audit'i Tamamlar mı?
Evet.
Özellikle çok sayıda database'in merkezi izlenmesi için güçlü avantaj sağlar.
Database Audit ile SIEM Arasındaki İlişki
Database audit event'leri SIEM'e gönderilebilir.
SIEM farklı güvenlik kaynaklarıyla korelasyon yapabilir.
Örnek SIEM Korelasyonu
EDR:
Credential theft detected.
↓
Firewall:
Application server'dan unusual database connection.
↓
Database Audit:
Privileged login.
↓
DAM:
Bulk customer table read.
↓
SIEM:
Critical incident.
Bu yapı tek bir log kaynağından çok daha güçlü görünürlük sağlar.
Log Correlation Nedir?
Farklı sistemlerden gelen olayların zaman ve context üzerinden ilişkilendirilmesidir.
Database Audit Logları Nerede Saklanmalı?
Sadece database server üzerinde tutulmamalıdır.
Kritik loglar merkezi log server veya SIEM sistemine aktarılabilir.
Audit Log Neden Database Server Dışına Gönderilmeli?
Database compromise olursa saldırgan local logları silebilir.
Merkezi sistemdeki kopyayı değiştirmesi daha zor olur.
Log Tampering Nedir?
Audit kayıtlarının kötü niyetli şekilde değiştirilmesi veya silinmesidir.
Audit Log Integrity Nasıl Korunur?
Örneğin;
append-only storage,
immutable storage,
restricted access,
hashing
kullanılabilir.
Immutable Audit Log Nedir?
Belirli süre boyunca değiştirilemeyen veya silinemeyen audit kayıtlarıdır.
WORM Storage Audit İçin Kullanılabilir mi?
Evet.
Write Once Read Many yaklaşımı log bütünlüğünü destekleyebilir.
Audit Loglara DBA Erişmeli mi?
Okuma ihtiyacı olabilir.
Ancak logları değiştirme veya silme yetkisi mümkün olduğunca sınırlandırılmalıdır.
DBA Audit'i Kapatabilmeli mi?
Bu kritik bir security control'dür.
Mümkün olduğunda audit configuration değişiklikleri ayrıca loglanmalı ve alert üretmelidir.
Audit Disabled Alarmı Neden Önemlidir?
Saldırgan veya insider iz bırakmamak amacıyla audit'i kapatabilir.
Bu nedenle audit disable yüksek severity olay olabilir.
Audit Policy Change Loglanmalı mı?
Evet.
Audit kapsamının daraltılması da güvenlik olayı olabilir.
Database Log Retention Nedir?
Logların ne kadar süre saklanacağını belirleyen politikadır.
Audit Log Ne Kadar Süre Tutulmalı?
Tek bir süre yoktur.
Kurumun;
risk,
regülasyon,
forensic ihtiyacı,
storage kapasitesi
göz önünde bulundurulmalıdır.
Çok Kısa Retention Neden Risklidir?
Saldırı aylar sonra fark edilirse gerekli loglar silinmiş olabilir.
Çok Uzun Retention Sorun Oluşturabilir mi?
Evet.
Storage maliyeti ve privacy gereksinimleri oluşabilir.
Hot, Warm ve Cold Log Storage Nedir?
Hot
Hızlı sorgulanabilen yakın dönem log.
Warm
Daha düşük maliyetli ancak erişilebilir log.
Cold
Uzun dönem arşiv.
Bu model log maliyetini optimize edebilir.
Database Audit Log Boyutu Neden Büyür?
Her query veya her row loglanırsa çok yüksek hacim oluşabilir.
Audit Flood Nedir?
Çok fazla audit event üretilerek log sisteminin aşırı yüklenmesidir.
Audit Performance'ı Etkiler mi?
Evet.
Yoğun audit işlemleri CPU, IO ve storage tüketebilir.
Audit Performance Problemi Nasıl Çözülür?
Audit'i kapatmak yerine;
risk bazlı event selection,
asynchronous logging,
centralized processing
kullanılabilir.
Risk-Based Logging Nedir?
Her olayı eşit seviyede loglamak yerine kritik aktivitelerin önceliklendirilmesidir.
Hangi Database Olayları Genellikle Yüksek Risklidir?
Örneğin:
Privileged Login
User Creation
Role Grant
Audit Disabled
Sensitive Data Export
Mass Delete
Backup Restore
Configuration Change
Database Configuration Change Audit Edilmeli mi?
Evet.
Authentication veya logging configuration değişiklikleri özellikle kritik olabilir.
Database Restart Audit Edilmeli mi?
Evet.
Beklenmeyen restart availability ve security olayının göstergesi olabilir.
Database Shutdown Kim Tarafından Yapıldı Bilinmeli mi?
Kritik production sistemlerde evet.
Backup Operation Audit Edilmeli mi?
Evet.
Çünkü backup production verisinin tam kopyasını oluşturabilir.
Database Backup Download Audit Edilmeli mi?
Kesinlikle.
Backup dosyasının dışarı çıkarılması data exfiltration yolu olabilir.
Restore Operation Audit Edilmeli mi?
Evet.
Özellikle farklı server veya environment'a yapılan restore işlemleri izlenmelidir.
Production Database Test Ortamına Restore Edilirse Alarm Gerekir mi?
Kritik ortamlarda bu işlem kontrollü ve onaylı olmalıdır.
Database Export Operation İzlenmeli mi?
Evet.
CSV, dump veya bulk export hassas veriyi tek dosyada dışarı çıkarabilir.
Stored Procedure Creation Loglanmalı mı?
Evet.
Yeni code database içerisinde çalışmaya başlayabilir.
Trigger Creation Neden Audit Edilmeli?
Trigger veri değişikliklerini otomatik gerçekleştirebilir.
Kötü veya yanlış trigger ciddi etki yaratabilir.
Scheduled Job Audit Edilmeli mi?
Evet.
Database job veya scheduler üzerinden çalışan kodlar kritik olabilir.
Database Link Creation Neden İzlenmeli?
Başka database'e bağlantı oluşturabilir ve saldırı yüzeyini genişletebilir.
Linked Server Neden Audit Edilmeli?
Bir database compromise olduğunda başka server'a pivot riski oluşabilir.
Extension veya Plugin Installation Audit Edilmeli mi?
Evet.
Database'in yeteneklerini ve attack surface'ini değiştirebilir.
Superuser Creation Alarm Üretmeli mi?
Kesinlikle.
Yeni yüksek yetkili user kritik olaydır.
Password Change Loglanmalı mı?
Özellikle privileged account password değişiklikleri audit edilebilir.
Credential Kendisi Loglanmalı mı?
Hayır.
Password ve secret hiçbir zaman loglara plaintext olarak yazılmamalıdır.
SQL Query Loglarında Hassas Veri Bulunabilir mi?
Evet.
Query parametreleri;
TCKN,
password,
token,
credit card
gibi hassas değerler içerebilir.
Log Masking Nedir?
Audit veya application loglarında hassas alanların gizlenmesidir.
Database Query Logging Privacy Riski Taşır mı?
Evet.
Aşırı detaylı logging yeni bir hassas veri deposu oluşturabilir.
Logging ile Data Minimization Birlikte Düşünülmeli mi?
Evet.
Güvenlik için gerekli bilgiler tutulmalı ancak gereksiz kişisel veri loglanmamalıdır.
Parameter Logging Her Zaman Gerekli mi?
Hayır.
Bazı hassas query parametreleri maskelenebilir.
Database Audit Logunda Ne Olmalı?
Örnek alanlar:
Timestamp
User
Source IP
Database
Schema
Object
Action
Result
Session ID
Application Name
Timestamp Neden Kritik?
Farklı sistemlerdeki olayların ilişkilendirilebilmesi için doğru zaman bilgisi gerekir.
Time Synchronization Nedir?
Sunucuların ortak ve doğru zaman kaynağına göre saatlerini senkronize etmesidir.
NTP Nedir?
Network Time Protocol, sistem saatlerinin senkronize edilmesinde kullanılan yaygın protokoldür.
Database ve SIEM Saatleri Farklıysa Ne Olur?
Incident timeline oluşturmak zorlaşır.
UTC Log Kullanmak Faydalı mı?
Büyük ve çok lokasyonlu yapılarda UTC standardizasyon sağlayabilir.
Log Timezone Belirtilmeli mi?
Evet.
Timestamp'ın hangi timezone'a ait olduğu bilinmelidir.
Forensic Timeline Nedir?
Bir incident sırasında olayların kronolojik sıraya dizilmesidir.
Database Forensic Investigation Nedir?
Database üzerindeki olayların audit, log ve diğer deliller üzerinden araştırılmasıdır.
Forensic Investigation'da Hangi Kaynaklar Kullanılır?
Örneğin:
Database Audit
Transaction Logs
Operating System Logs
Application Logs
WAF Logs
EDR Logs
Firewall Logs
SIEM
Transaction Log Forensic Amaçlı Kullanılabilir mi?
Bazı durumlarda transaction değişiklikleri hakkında bilgi sağlayabilir.
Ancak bunun için uygun araçlar ve süreç gerekir.
Database Audit ile Transaction Log Aynı mı?
Hayır.
Transaction log database consistency ve recovery için oluşturulur.
Audit ise security ve accountability amacıyla tasarlanır.
Database Audit Incident Response'ta Nasıl Kullanılır?
Olay sırasında;
compromised account,
accessed tables,
changed data,
event timeline
belirlenebilir.
Incident Sonrası İlk Soru Ne Olmalı?
Hangi account kullanıldı?
Ardından:
Hangi IP'den geldi?
Ne kadar süre aktif kaldı?
Hangi objelere erişti?
Data Breach Scope Nedir?
Yetkisiz erişimin ne kadar veri ve kaç kullanıcıyı etkilediğinin belirlenmesidir.
Audit Log Scope Belirlemeye Yardımcı Olur mu?
Evet.
Özellikle sensitive table ve query activity kayıtları çok değerlidir.
Database Audit Olmadan KVKK İhlal Analizi Zorlaşır mı?
Kişisel veri içeren sistemlerde kimlerin hangi verilere eriştiğinin belirlenmesi zorlaşabilir.
Bu nedenle izlenebilirlik önemli teknik kontroldür.
Database Audit ve KVKK
Database içerisinde kişisel veri bulunuyorsa erişimlerin ve güvenlik olaylarının izlenebilir olması veri güvenliği sürecini destekler.
Audit tek başına uyum sağlamaz ancak teknik güvenlik tedbirlerinin önemli bir parçasıdır.
Database Audit ve ISO/IEC 27001
ISO/IEC 27001 yaklaşımında logging, monitoring, privileged access ve security event management önemli kontrol alanlarıdır.
Database audit bu süreçlerin teknik temelini destekler.
Database Audit ve PCI DSS
Kart verisi bulunan ortamlarda user activity ve privileged access logging özellikle önemlidir.
Database Audit ile Non-Repudiation İlişkisi
Audit kullanıcının yaptığı işlemin sonradan inkâr edilmesini zorlaştırabilir.
Ancak güçlü kimlik doğrulama ve log integrity de gerekir.
Shared Account Non-Repudiation'ı Bozar mı?
Evet.
Aynı account'u birden fazla kişi kullanıyorsa işlemi tek kişiye bağlamak zorlaşır.
Audit ve Kişiye Özel Hesaplar Birlikte Kullanılmalı mı?
Kesinlikle.
Audit'in anlamlı olabilmesi için identity doğru olmalıdır.
Database Audit Architecture Nasıl Kurulabilir?
Örnek:
Database
↓
Native Audit / Activity Logs
↓
Log Collector
↓
SIEM
↓
Correlation & Detection
↓
SOC Investigation
↓
Immutable Archive
Bu mimaride log hem gerçek zamanlı izleme hem uzun dönem forensic amaçla kullanılabilir.
Log Collector Nedir?
Farklı sistemlerden logları toplayıp merkezi platforma gönderen bileşendir.
Log Collector High Availability Olmalı mı?
Kritik ortamlarda evet.
Collector down olursa log kaybı oluşabilir.
Log Buffering Nedir?
SIEM erişilemediğinde logların geçici olarak tutulup bağlantı geri geldiğinde gönderilmesidir.
Log Loss Nasıl Tespit Edilir?
Heartbeat, event count veya sequence kontrolü kullanılabilir.
Audit Pipeline Monitoring Nedir?
Sadece database'in değil log aktarım zincirinin de izlenmesidir.
“Log Gelmiyor” Alarmı Neden Önemlidir?
Hiç security event olmaması ile log kaynağının bozulması aynı görünmemelidir.
Database Log Source Health İzlenmeli mi?
Evet.
SIEM database kaynağından uzun süre event almıyorsa alarm üretebilir.
Audit Configuration Backup Alınmalı mı?
Evet.
Audit policy ve SIEM integration configuration'ları dokümante edilmelidir.
Database Upgrade Sonrası Audit Kontrol Edilmeli mi?
Kesinlikle.
Upgrade sonrası audit configuration değişmiş olabilir.
Failover Sonrası Audit Çalışıyor mu Kontrol Edilmeli mi?
Evet.
Secondary node üzerinde aynı logging seviyesinin aktif olması gerekir.
DR Database Audit Unutulmamalı mı?
Hayır.
DR ortamı aktive edildiğinde aynı audit politikası uygulanmalıdır.
Cloud Database Audit Nasıl Yapılır?
Managed cloud database servisleri;
native audit,
activity log,
cloud monitoring
özellikleri sunabilir.
Bunlar merkezi SIEM'e aktarılabilir.
Cloud Control Plane Log Nedir?
Database servisinin cloud yönetim katmanındaki aktiviteleri gösterir.
Örneğin;
database created,
public access enabled,
backup policy changed
gibi olayları gösterebilir.
Data Plane ile Control Plane Log Farkı Nedir?
Control Plane:
Servisin yönetim işlemleri.
Data Plane:
Database içerisindeki veri erişimleri.
Her ikisi de izlenmelidir.
Cloud IAM Change Database Audit'e Dahil mi?
Evet.
IAM değişikliği database erişim yetkisini değiştirebilir.
Public Access Enabled Olayı Alarm Olmalı mı?
Kritik database için kesinlikle değerlendirilebilir.
Cloud Snapshot Shared Olayı Neden Kritik?
Snapshot başka account ile paylaşılırsa veri sızıntısı riski oluşabilir.
Database Audit ve UEBA
UEBA:
User and Entity Behavior Analytics
kullanıcıların normal davranışını analiz eder.
UEBA Database İçin Ne Yapabilir?
Örneğin;
normal login saatleri,
query hacmi,
erişilen tablolar
üzerinden anomali tespiti yapabilir.
Database User Risk Score Oluşturulabilir mi?
Evet.
Örneğin;
privileged account,
mesai dışı login,
bulk query,
new source IP
gibi event'ler risk skorunu artırabilir.
Detection Rule Nedir?
Belirli davranış gerçekleştiğinde security alert üreten mantıktır.
Örnek Database Detection Senaryoları
- 10 dakikada 100 başarısız DBA login
- Yeni superuser oluşturulması
- Audit policy'nin kapatılması
- İlk kez görülen IP'den privileged login
- Sensitive tabloda olağan dışı bulk SELECT
- Mesai dışı database dump
- Dormant account login
- Production database'in farklı ortamda restore edilmesi
Alert Severity Nasıl Belirlenmeli?
Olay;
account privilege,
database criticality,
data sensitivity,
time,
source
gibi context bilgileriyle değerlendirilmelidir.
Yeni User Creation Her Zaman Critical mı?
Hayır.
Onaylı change olabilir.
Ancak privileged user creation yüksek severity olabilir.
False Positive Nasıl Azaltılır?
Maintenance window, approved service account ve normal workload bilgileri detection rule'lara dahil edilebilir.
Alert Suppression Nedir?
Bilinen ve onaylı aktivitelerde gereksiz alarmın engellenmesidir.
Alert Suppression Riskli mi?
Fazla geniş uygulanırsa gerçek saldırıları gizleyebilir.
Maintenance Window Context Neden Önemlidir?
Gece 03:00'te DBA login normalde şüpheli olabilir.
Ancak planlı patch penceresinde beklenen davranıştır.
Ticket Entegrasyonu Faydalı mı?
Evet.
Audit event'in planlı change ticket ile ilişkili olup olmadığı görülebilir.
Database Audit ile Change Management Birlikte Kullanılmalı mı?
Evet.
Örneğin production schema değişikliği varsa audit kaydı ilgili change kaydıyla eşleşebilmelidir.
“No Ticket, No Change” Yaklaşımı Nedir?
Planlı kritik değişikliklerin resmi change kaydı olmadan yapılmaması yaklaşımıdır.
Audit Event Change Kaydıyla Eşleşmiyorsa Ne Olur?
Yetkisiz değişiklik olasılığı araştırılabilir.
Audit Review Nedir?
Audit logların sadece saklanması değil düzenli olarak analiz edilmesidir.
Audit Log Kim Tarafından Review Edilmeli?
DBA'dan bağımsız security veya SOC ekibi kritik event'leri inceleyebilir.
Daily Audit Review Gerekli mi?
Kritik sistemlerde gerçek zamanlı monitoring daha uygundur.
Düşük riskli sistemlerde periyodik review olabilir.
Real-Time Alerting Hangi Olaylarda Kullanılmalı?
Örneğin:
Audit disabled
New privileged account
Mass deletion
Sensitive database export
Break-glass account usage
Database Audit Report Nedir?
Belirli dönemdeki önemli aktivitelerin özetidir.
Audit Report Neleri İçerebilir?
Successful privileged login
Failed login trend
Permission changes
Sensitive data access
Database configuration changes
Critical alerts
Yönetim Audit Raporunda Ne Görmeli?
Teknik SQL satırlarından ziyade;
risk,
trend,
critical event,
unresolved incident
görmelidir.
Database Audit KPI'ları Nelerdir?
Örneğin:
Audit Coverage
SIEM Integration Coverage
Privileged Activity Coverage
Sensitive Database Coverage
Log Retention Compliance
Critical Alert Response Time
Log Source Availability
Audit Coverage Nedir?
Database'lerin ne kadarında audit mekanizmasının aktif olduğunu gösterir.
Sensitive Database Audit Coverage Nedir?
Kritik ve hassas veri tutan database'lerin yüzde kaçının detaylı audit altında olduğunu gösterir.
SIEM Integration Coverage Nedir?
Database log kaynaklarının yüzde kaçının merkezi SIEM'e aktarıldığını ölçer.
Log Source Availability Nedir?
Audit kaynaklarının ne kadar süre kesintisiz log gönderdiğini gösterir.
Mean Time to Detect – MTTD Database İçin Kullanılır mı?
Evet.
Bir database security olayının oluşması ile tespit edilmesi arasındaki süreyi ölçebilir.
Mean Time to Respond – MTTR Nedir?
Olay tespit edildikten sonra müdahale edilmesine kadar geçen süreyi ölçebilir.
Database Audit Checklist
Kurumsal checklist şu başlıkları içerebilir:
- Login audit aktif mi?
- Failed login izleniyor mu?
- Privileged user aktiviteleri loglanıyor mu?
- User/role değişiklikleri kaydediliyor mu?
- DDL işlemleri izleniyor mu?
- Sensitive table access loglanıyor mu?
- Backup/restore aktiviteleri izleniyor mu?
- Audit disable alert var mı?
- Loglar SIEM'e gönderiliyor mu?
- Loglar değiştirilmeye karşı korunuyor mu?
- Time synchronization doğru mu?
- Log retention tanımlı mı?
- Hassas veriler loglarda maskeleniyor mu?
- DR ortamı da audit altında mı?
- Audit pipeline health izleniyor mu?
DBA Audit Checklist
DBA açısından:
Audit service aktif mi?
Logging disk kapasitesi yeterli mi?
Audit configuration baseline'a uygun mu?
Critical tables tanımlı mı?
Failover node'larında audit açık mı?
SOC Database Audit Checklist
SOC açısından:
Database log source healthy mi?
Privileged login alarmı var mı?
New admin rule aktif mi?
Bulk query detection var mı?
Audit disabled alarmı var mı?
Database alerts incident process'e bağlı mı?
Database Audit için Yönetimin Sorması Gereken Sorular
Yönetim şu sorulara cevap alabilmelidir:
Kritik database'lerimizin kaçı audit altında?
DBA işlemleri izleniyor mu?
Database logları merkezi SIEM'e gidiyor mu?
Audit loglarını DBA silebilir mi?
Hangi kullanıcı hangi müşteri verisini görüntülediğini belirleyebilir miyiz?
Bir database export edilirse alarm alıyor muyuz?
Loglarımız ne kadar süre saklanıyor?
Son database audit incelemesi ne zaman yapıldı?
Database Audit'te En Sık Yapılan Hatalar
Kurumlarda sık görülen hatalar şunlardır:
- Audit'i tamamen kapalı tutmak
- Sadece error log toplamak
- Successful login'leri izlememek
- DBA aktivitelerini loglamamak
- Shared DBA account kullanmak
- Sensitive SELECT sorgularını izlememek
- Audit logları aynı server'da tutmak
- DBA'ya log silme yetkisi vermek
- Audit disable işlemini alarm haline getirmemek
- Log retention'ı çok kısa tutmak
- Tüm query'leri kontrolsüz loglayarak performansı bozmak
- Hassas veriyi loglara plaintext yazmak
- Server saatlerini senkronize etmemek
- SIEM entegrasyonu sonrası log source health'i izlememek
- DR ve secondary database'lerde audit'i unutmak
PostgreSQL Audit Yaklaşımı
PostgreSQL tarafında;
connection logging,
disconnection logging,
statement logging,
role activity
gibi kayıtlar değerlendirilebilir.
Daha detaylı auditing için uygun audit mekanizmaları kullanılabilir.
Ancak production ortamında logging seviyesi performans ve privacy etkisi düşünülerek ayarlanmalıdır.
PostgreSQL log_statement Her Zaman Açılmalı mı?
Her ortam için aynı şekilde uygulanmamalıdır.
Yoğun sistemlerde büyük log hacmi oluşturabilir.
Risk bazlı configuration gerekir.
MSSQL Audit Yaklaşımı
Microsoft SQL Server ortamlarında;
SQL Server Audit,
login auditing,
Extended Events
gibi mekanizmalar kullanılabilir.
MSSQL Login Failure Logları Neden Önemlidir?
Brute-force veya yanlış application credential sorunlarını gösterebilir.
Oracle Audit Yaklaşımı
Oracle Database ortamlarında audit mekanizmaları;
login,
privileged operation,
object access
gibi aktivitelerin izlenmesini sağlayabilir.
Unified Auditing Nedir?
Bazı Oracle ortamlarında audit politikalarının merkezi biçimde yönetilmesine yardımcı olan yaklaşımdır.
Vendor Farklı Olsa da Audit Mantığı Aynı mı?
Evet.
Platform değişse de temel sorular değişmez:
Kim?
Ne zaman?
Nereden?
Ne yaptı?
Hangi veri üzerinde?
Başarılı oldu mu?
Örnek Database Security Event Akışı
Bir kullanıcı gece 03:12'de production database'e bağlandı.
Database audit:
Privileged Login
SIEM bunu gördü.
Ardından kullanıcı sensitive customer tablosunda yüksek hacimli SELECT sorgusu çalıştırdı.
DAM normalden 50 kat fazla row erişimi tespit etti.
Sonrasında database export işlemi gerçekleşti.
SIEM bu üç olayı ilişkilendirerek:
Potential Data Exfiltration
alarmı üretti.
SOC incident başlattı.
Bu senaryoda tek başına login logu yeterli olmazdı.
Asıl değer olayların birbirine bağlanabilmesidir.
Bir Milyon Müşteri Kaydı Gece 03:00'te Okunursa Ne Olmalı?
İyi tasarlanmış bir database security mimarisinde şu zincir çalışabilir:
Sensitive Table Access
↓
Bulk Query Detection
↓
User Behavior Deviation
↓
DAM Alert
↓
SIEM Correlation
↓
SOC Investigation
↓
Incident Response
Bu sayede olay saatler veya günler sonra değil, mümkün olduğunca gerçek zamanlı tespit edilebilir.
Sık Sorulan Sorular
Database audit nedir?
Database üzerinde kullanıcıların ve sistemlerin gerçekleştirdiği güvenlik açısından önemli aktivitelerin kayıt altına alınmasıdır.
Database log ile audit arasındaki fark nedir?
Log teknik olayları da kapsar. Audit daha çok kullanıcı aktivitesi ve accountability üzerine odaklanır.
DBA aktiviteleri izlenmeli mi?
Evet. DBA yüksek yetkili kullanıcıdır ve kritik işlemleri audit edilmelidir.
SELECT sorguları audit edilmeli mi?
Hassas veri içeren kritik tablolar için risk bazlı olarak izlenebilir.
Database logları SIEM'e gönderilmeli mi?
Kritik sistemlerde merkezi SIEM entegrasyonu güçlü şekilde önerilir.
Audit logları database server'da tutulabilir mi?
Local kopya bulunabilir ancak kritik logların bağımsız merkezi sisteme gönderilmesi daha güvenlidir.
Audit log retention ne kadar olmalı?
Kurumun risk, operasyon, regulatory ve forensic ihtiyaçlarına göre belirlenmelidir.
Database audit performansı etkiler mi?
Çok yoğun logging etkileyebilir. Bu nedenle risk bazlı ve optimize edilmiş audit policy kullanılmalıdır.
Audit log değiştirilemez olmalı mı?
Kritik ortamlarda log bütünlüğünün korunması ve yetkisiz silmenin engellenmesi önemlidir.
Database Activity Monitoring ile audit aynı mı?
Hayır. Native audit database'in kendi kayıt mekanizmasıdır. DAM ise aktiviteleri merkezi olarak analiz eden güvenlik katmanıdır.
Sonuç: Görmediğiniz Database Aktivitesini Koruyamazsınız
Database güvenliğinde sık yapılan hata yalnızca erişimi kontrol etmeye odaklanmaktır.
Erişim kontrolü elbette kritiktir.
Ancak erişim verildikten sonra kullanıcının ne yaptığını bilmiyorsanız görünürlüğünüz eksiktir.
Bu nedenle database security'nin temel prensiplerinden biri şudur:
Authentication tells you who logged in.
Authorization tells you what they are allowed to do.
Audit tells you what they actually did.
Gerçek güvenlik bu üç katmanın birlikte çalışmasıyla oluşur.
Kurumların özellikle;
Privileged Login,
Failed Login,
User Creation,
Role Changes,
DDL Operations,
Sensitive Data Access,
Bulk Queries,
Backup/Restore,
Database Export
ve Audit Configuration Changes
gibi olayları izleyebilmesi gerekir.
Aynı zamanda audit kayıtları sadece üretilmemeli;
merkezi olarak toplanmalı,
SIEM ile analiz edilmeli,
değiştirilmeye karşı korunmalı,
yeterli süre saklanmalı
ve incident response süreçlerinde kullanılmalıdır.
Veritabanı güvenliğinin gerçek testi şu sorudur:
“Bir kullanıcı gece 03:00'te production database'e bağlanıp bir milyon müşteri kaydını sorgularsa bunu fark eder miyiz?”
Eğer cevap:
“Bilmiyoruz.”
ise sorun yalnızca monitoring eksikliği değildir.
Bu aynı zamanda kurumsal database security görünürlüğünün eksik olduğu anlamına gelir.
İyi bir audit mimarisinde cevap:
“Evet; hangi kullanıcı olduğunu, hangi IP'den geldiğini, hangi sorguyu çalıştırdığını, hangi veriye eriştiğini ve olayın diğer güvenlik sistemlerindeki izlerini görebiliriz.”
olmalıdır.
Gerçek Database Audit'in amacı tam olarak budur:
Accountability + Visibility + Detection + Investigation
İlgili Makaleler
Veritabanı Güvenliği

Veritabanı Nedir? Kurumlar İçin Database Güvenliği Neden Kritik?
Veritabani nedir, database guvenligi neden kritik? Saldiri yuzeyi, yetkilendirme, sifreleme, audit, DAM ve kurumsal kontrol listesi.

Veritabanı Bakımı Nedir? Database Maintenance Nasıl Yapılır?
Veritabani bakimi nedir, nasil yapilir? Index, statistics, VACUUM, transaction log, kapasite, patch, restore testi ve gunluk-haftalik kontrol listeleri.

Database Hardening Nedir? Güvenli Veritabanı Yapılandırması Nasıl Yapılır?
Database hardening nedir, guvenli veritabani yapilandirmasi nasil yapilir? Baseline, default hesaplar, ag kisitlama, TLS, audit ve PostgreSQL-MSSQL-Oracle notlari.

Veritabanı Yetkilendirme: RBAC, Least Privilege ve Ayrıcalıklı Hesaplar
Veritabani yetkilendirme rehberi: RBAC, least privilege, ayricalikli hesaplar, PAM, JIT erisim, access review ve gorevlerin ayriligi.

Database Encryption: At Rest, In Transit ve TDE Nedir?
Database encryption rehberi: at rest, in transit, TDE, kolon sifreleme, KMS-HSM anahtar yonetimi, backup sifreleme ve yaygin hatalar.

SQL Injection ve Veritabanı Güvenliği: Uygulama ile Database Arasındaki Riskler
SQL Injection ve veritabani guvenligi: parameterized query, least privilege, ORM ve stored procedure tuzaklari, WAF sinirlari, SAST-DAST ve olay mudahalesi.
Bu konuda profesyonel destek mi arıyorsunuz?
Uzman ekibimiz ücretsiz danışmanlık için sizi en kısa sürede arasın.