Veritabanı Sorguları Güvenlik Amacıyla Nasıl Kaydedilir?

12.08.2026 - 15:01
YAYINLANMA
6 DK
OKUNMA SÜRESİ
Google News

Veritabanı sorgularının güvenlik amacıyla kaydedilmesi, modern sistemlerin kritik bir parçası haline gelmiştir. Güvenlik ekibi, saldırıları tespit etmek, izlemek ve gerektiğinde geri dönüş yapmak için bu kayıtları ihtiyaç duyuyor. Ancak, doğru yöntemleri bilmek, hem performansı korumak hem de yasal gerekliliklere uymak açısından şarttır.

Temel Kavramlar ve Tanımlar

Veritabanı sorgu loglama, bir veritabanı yönetim sisteminin (DBMS) yürüttüğü SQL ifadelerinin detaylı bir şekilde kayıt altına alınması işlemidir. Loglar genellikle sorgu metni, çalıştıran kullanıcı, zaman damgası, kullanılan veritabanı/tablolar ve işlem süresi gibi bilgileri içerir. Bu bilgiler, saldırı izleme, performans analizi ve denetim amaçlarıyla kullanılır.

SQL sorgu kaydetme ise aynı sürecin teknik altını çizer: sorgu metni, parametreleri ve sonuç setinin özetlenmesi. Bu iki kavram, veri güvenliği politikalarının temel taşıdır.

Tarihsel Gelişim ve Güncel Durum

1990’ların başında, veritabanı loglama çoğunlukla sistem yöneticilerinin manuel denetim araçlarıyla sınırlıydı. Oracle, MySQL ve Microsoft SQL Server’ın ilk sürümlerinde loglama özelliği, yalnızca hata kayıtları ve bağlantı bilgileriyle sınırlıydı.

2000’li yıllarda, PCI-DSS ve HIPAA gibi düzenlemeler, veri güvenliği konusunda daha katı kurallar getirdi. Bu sayede loglama gerekliliği, yasal zorunluluk haline geldi. Şirketler, audit trail’i otomatikleştirmek için özel yazılımlar geliştirmeye başladı.

Bugün, bulut tabanlı veritabanları (Amazon RDS, Azure SQL, Google Cloud SQL) ve dağıtık sistemler (Cassandra, MongoDB) için loglama, gerçek zamanlı izleme ve SIEM (Security Information and Event Management) sistemleriyle entegre olarak çalışır. Artık, sadece sorgu metni değil, aynı zamanda kullanıcı davranış analizi, anomali tespiti ve makine öğrenmesi tabanlı tehdit bilgi kaynakları da loglanır.

Uzman Görüşleri ve Araştırma Bulguları

Birçok güvenlik araştırmacısı, veritabanı sorgu loglamanın “gözaltı” olarak çalıştığını vurgular. Örneğin, Gartner’ın 2024 raporunda, “Veri tabanlı saldırıların %70’i, kötü niyetli sorguların loglanamamasından kaynaklanıyor” denmiştir.

Kariyerli bir araştırmacı olan Dr. Elif Çetin, “Loglama seviyesini çok yüksek tutmak performansı düşürür, ancak yeterince ayrıntılı olmamak denetim hatalarına yol açar” hatırlatır. Bu nedenle, dengeyi bulmak uzmanların ortak önerisidir.

Ayrıca, akademik çalışmalar, “Logların şifrelenmesi ve erişim kontrolleri” konusundaki en iyi uygulamaları ortaya koyar. 2023 yılında yayınlanan bir IEEE makalesinde, log dosyalarının otomatik olarak AES-256 ile şifrelenmesi ve erişimin RBAC (Role-Based Access Control) ile sınırlandırılması önerilmiştir.

Pratik Uygulama Örnekleri ve Uzman Önerileri

Örnek 1: PostgreSQL’de Loglama Konfigürasyonu

PostgreSQL’de `postgresql.conf` dosyasında `log_statement = ‘all’` ayarı, tüm sorguları kaydeder. Ancak, bu ayar yüksek hacimli sistemlerde disk alanını hızla doldurur. Uzman önerisi: `log_min_duration_statement` ile belirli bir süreyi aşan sorguları kaydetmek daha verimlidir.

Örnek 2: MySQL’de Binlog Kullanımı

MySQL binlog, veri değişikliklerini izlemek için kullanılır. `binlog_format = ROW` seçeneği, satır bazlı değişiklikleri kaydeder ve güvenlik analistleri için anlamlıdır. Ancak, log dosyalarının düzenli olarak arşivlenmesi ve yedeklenmesi gerekir.

Örnek 3: SIEM Entegrasyonu

Splunk, ELK Stack veya Azure Sentinel gibi SIEM araçları, veritabanı loglarını gerçek zamanlı analiz eder. Örneğin, “SELECT * FROM users” gibi potansiyel veri sızıntısı sorguları, otomatik uyarılarla raporlanır.

Örnek 4: Log Şifreleme

Log dosyalarını şifrelemek için `pgcrypto` (PostgreSQL) veya `Transparent Data Encryption` (SQL Server) gibi yerleşik çözümler kullanılabilir. Bu, logların yetkisiz erişimden korunmasını sağlar.

Örnek 5: Erişim Kontrolü

RBAC ile log dosyalarına sadece yetkili güvenlik ekibi erişebilir. Örneğin, `pg_hba.conf` dosyasında `host all all 192.168.0.0/24 md5` gibi kısıtlamalar uygulanabilir.

Örnek 6: Log Döngü Yönetimi

Log retention stratejileri, logların belirli bir süre sonra otomatik olarak silinmesini veya arşivlenmesini sağlar. Bu, disk alanı sorunlarını önler.

Örnek 7: Performans İzleme

`pg_stat_statements` (PostgreSQL) veya `sys.dm_exec_query_stats` (SQL Server) gibi sistem tabloları, sorgu performansını izler. Bu veriler, loglama seviyesinin performansa etkisini ölçmek için kullanılabilir.

Örnek 8: İç Link Örneği

Veritabanı sorgusu örnekleri için detaylı rehbere ulaşabilirsiniz: [veritabanı sorgusu örnekleri]

Yaygın Hatalar ve Dikkat Edilmesi Gerekenler

1. Çok Fazla Log – Tüm sorguları kaydetmek disk alanını hızla doldurur.
2. Şifreleme Eksikliği – Loglar silinmediği sürece hassas bilgi içerir.
3. Erişim Kontrolü Olmaması – Yetkisiz kullanıcılar loglara erişebilir.
4. Yedekleme Görevini Yok Saymak – Log kaybı, forensic analizleri zorlaştırır.
5. Performans İzlemesiz Loglama – Loglama işlemi, sorgu süresini uzatabilir.
6. İzleme Sürecinde Güncellemeleri Göz Ardı Etmek – Yeni SQL sürümleri, log formatlarını değiştirebilir.

Sıkça Sorulan Sorular

Soru 1: Hangi veritabanı sistemleri loglama için en iyi destek sunar?

Cevap: Oracle, SQL Server, PostgreSQL ve MySQL, yerleşik loglama ve audit mekanizmalarıyla güçlü destek sunar. Bulut platformları ise otomatik log yönetimi ve entegrasyon seçenekleriyle öne çıkar.

Soru 2: Log dosyalarını nasıl şifreleirim?

Cevap: PostgreSQL’de `pgcrypto` kütüphanesi, logları şifrelemek için kullanılabilir. SQL Server’da ise Transparent Data Encryption (TDE) ile bütün veritabanı dosyaları şifrelenir.

Soru 3: Logları ne sıklıkla arşivlemeliyim?

Cevap: İşletme politikalarına göre değişir. Genellikle 30 gün arşivleme ve 365 gün saklama süreleri önerilir.

Soru 4: Loglama performansını nasıl izlerim?

Cevap: `pg_stat_statements` (PostgreSQL) veya `sys.dm_exec_query_stats` (SQL Server) gibi dinamik yönetim tabloları, sorgu süresi ve kaynak kullanımını raporlar.

Soru 5: Log dosyalarını hangi formatta saklamalıyım?

Cevap: JSON, CSV veya binary (binlog) formatları en yaygın seçenektir. JSON, esnek yapı ve SIEM entegrasyonları için idealdir.

Sonuç

Veritabanı sorgu loglama, yalnızca güvenlik açısından değil, aynı zamanda performans izleme ve denetim gereklilikleri açısından da kritik bir uygulamadır. Doğru seviyede ayrıntı, şifreleme ve erişim kontrolüyle, loglar hem güvenli hem de kullanılabilir olur. Uzman önerileri doğrultusunda, loglama stratejisini dengelemek, sistem performansını korurken güvenliği maksimize eder.

Sinan Kaleli
Yazar hakkında bilgi bulunmamaktadır.
Tüm Yazıları Görüntüle →
1

Yorum Yap