# SQL Server'da Şüpheli Aktivite Tespiti: Normal ile Anormal Arasındaki Fark

Her veritabanının bir "normal davranış" örüntüsü var. Bu örüntüden sapma, bir sorunun ya da güvenlik ihlalinin habercisi olabilir. Peki normali nasıl tanımlarsınız? Ve normalden sapmayı nasıl fark edersiniz?

Normal Davranış Nedir? Her ortam farklı. Ama genel olarak şunları takip etmek "normal" davranış profilini oluşturur:

Günlük DDL değişikliği sayısı Günlük aktif kullanıcı sayısı ve bağlantı saatleri En sık çalışan stored procedure'ler En yoğun tablolar Ortalama sorgu süreleri

Bu profil birkaç haftalık gözlemle oluşturulabilir. Profil var olduğunda sapmayı fark etmek çok daha kolay.

Dikkat Gerektiren Sapmalar Mesai saati dışında DDL işlemi Gece yarısı bir stored procedure değiştirildi. Bu belgelenmiş bir deployment mı? Değilse şüpheli. Toplu veri erişimi Bir kullanıcı normalde günde birkaç yüz satır sorgularken birden milyonlarca satır sorgulamaya başladı. Veri sızdırma girişimi olabilir. Yeni bağlantı kaynağı Daha önce hiç bağlanmamış bir IP adresi ya da uygulama adı bağlanmaya başladı. Yetkili mi? Yetki değişikliği Bir kullanıcıya yeni yetki verildi. Kim verdi, neden? Toplu silme ya da güncelleme Çok sayıda satır aynı anda silindi ya da güncellendi. Planlı bir operasyon muydu?

Tespit İçin Pratik Sorgular Mesai dışı DDL aktivitesi sqlSELECT LoginName, DatabaseName, EventType, ObjectName, StartTime FROM msdb.dbo.sysjobhistory -- veya DDL log tablonuz WHERE DATEPART(HOUR, StartTime) NOT BETWEEN 8 AND 18 OR DATEPART(WEEKDAY, StartTime) IN (1, 7) -- hafta sonu ORDER BY StartTime DESC; Beklenmedik büyük sorgular sqlSELECT TOP 20 qs.execution\_count, qs.total\_logical\_reads / qs.execution\_count AS OrtalamaOkuma, SUBSTRING(qt.text, 1, 200) AS SorguMetni FROM sys.dm\_exec\_query\_stats qs CROSS APPLY sys.dm\_exec\_sql\_text(qs.sql\_handle) qt ORDER BY OrtalamaOkuma DESC;

İnsan Gözü Yetmez Bu sorguları manuel çalıştırmak başlangıç için iyidir. Ama sürdürülebilir değil. Gerçek anlamda şüpheli aktivite tespiti otomatik olmalı. Anormal bir durum oluştuğunda ilgili kişiye bildirim gitmeli. Bunu manuel sorgularla yakalamaya çalışmak hem yorucu hem de güvenilmez.

Sonuç Normal davranışı tanımlayan kurum, anormali de fark eder. Bu farkındalık hem güvenlik hem de operasyonel sağlık için temel bir yetkinlik. Detaylı bilgi için: sqlchangeguard.com
