Skip to main content

Command Palette

Search for a command to run...

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

Published
2 min read
S

I’m a passionate software engineer specializing in SQL change management, database security, and DevOps automation. With over 17 years of experience in the banking sector, I focus on building tools and processes that make database deployments safer, more auditable, and automated.

As the creator of SQL Change Guard, I develop solutions that use risk scoring and AI-powered code analysis to detect dangerous SQL scripts before they reach production. I’m dedicated to helping teams minimize downtime and data loss through smarter change governance.

When I’m not coding, I enjoy sharing insights about secure development practices, WPF desktop applications, and integrating modern CI/CD pipelines.

Feel free to connect or reach out at info@sqlchangeguard.com

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

More from this blog

S

SQL Change Guard

81 posts