← Back to list

SQL Serverda Login Failed Yakalamak

SQL Server, güvenliği sağlamak ve yetkisiz erişimleri engellemek için başarısız oturum açma girişimlerini kaydeder. Özellikle büyük…

Muhammet ORAL · 2024-09-09 18:23 · 1 claps · 1.9 min read
#sql-server #sql-server-audit #database-auditing #database-administration #database-management
Open on Medium ↗
Wiki topics: BIZ · Business Strategy

SQL Serverda Login Failed Yakalamak

SQL Server, güvenliği sağlamak ve yetkisiz erişimleri engellemek için başarısız oturum açma girişimlerini kaydeder. Özellikle büyük sistemlerde, sürekli izleme ve hatalı girişlerin raporlanması kritik önem taşır. Bu makalede, SQL Server’da Login Failed hatalarını nasıl yakalayabileceğinizi ve bu hataların yönetiminde nasıl bir stored procedure oluşturabileceğinizi göstereceğim.

Login Failed Hatalarını İzlemenin Önemi

SQL Server’da başarısız giriş denemelerini izlemek şu açılardan önemlidir:

  • Güvenlik: Çok sayıda başarısız giriş, olası bir brute-force saldırısının habercisi olabilir.
  • Kullanıcı Hatalarını Tespit Etme: Kullanıcıların yanlış kimlik bilgilerini girme alışkanlıklarını izleyerek doğru yönlendirme yapabilirsiniz.
  • Denetim ve Uygunluk: Güvenlik standartlarına ve uyum gereksinimlerine uygun olarak kimlik doğrulama hatalarını raporlayabilirsiniz.

Error Log’larını Kullanarak Login Failed Hatalarını Yakalamak

SQL Server’da başarısız giriş denemeleri SQL Server Error Log’larına kaydedilir. Bu kayıtları analiz etmek için XP_READERRORLOG komutunu kullanabilirsiniz. Aşağıda, son 24 saatteki tüm “Login Failed” hatalarını yakalamak ve raporlamak için bir stored procedure oluşturmayı gösteriyorum.

CREATE PROC [dbo].SP_LoginFailed
AS
BEGIN
    -- Geçici tablo oluştur
    CREATE TABLE #LOG (LOGDATE DATETIME, PROCESSINFO VARCHAR(100), TEXT VARCHAR(MAX))

    -- Error Log'dan verileri geçici tabloya al
    INSERT INTO #LOG  
    EXEC XP_READERRORLOG 

    -- Son 24 saat içindeki 'login failed' hatalarını getir
    SELECT * 
    FROM #LOG 
    WHERE TEXT LIKE 'login failed%' 
    AND LOGDATE >= DATEADD(DAY, -1, GETDATE())

    -- Geçici tabloyu sil
    DROP TABLE #LOG
END

Şimdi bir örnek yapalım ve şifremizi ve kullanıcı adımızı yanlış girerek Sql servera bağlanmayı deniyelim.

Oluşturduğumuz prosedürümüzü çalıştıralım ve bize hangi bilgileri verecek görelim

Prosedürümüz çalıştı ve hangi kullanıcıların hangi nedenle ve hangi host üzerinden Sql servera bağlanmaya çalışıp başarısız olduklarının bilgisini bize verdi.

Bu stored procedure, SQL Server Error Log’larını her çalıştırdığınızda tarar ve sistemde başarısız oturum açma denemelerini kolayca izlemenizi sağlar.

Diğer İzleme Yöntemleri

Başarısız giriş denemelerini izlemek için kullanabileceğiniz diğer yöntemler şunlardır:

  1. SQL Server Error Log: Logları doğrudan inceleyerek ya da sp_readerrorlog komutunu kullanarak hataları manuel olarak görüntüleyebilirsiniz.
  2. SQL Server Audit: Denetim (Audit) özelliği ile başarısız giriş denemelerini daha detaylı raporlamak mümkündür. SQL Server Audit, belirli olayları izlemek ve kaydetmek için güçlü bir araçtır.
  3. Windows Event Viewer: SQL Server’daki oturum açma denemeleri ayrıca Windows Olay Görüntüleyici’ye de kaydedilir. Event Viewer üzerinden giriş hatalarını takip edebilirsiniz.

Sonuç

SQL Server’da başarısız giriş denemelerinin izlenmesi, veritabanı güvenliği için vazgeçilmez bir adımdır. Bu makalede, basit ama etkili bir stored procedure ile Error Log’lardan bu hataları nasıl kolayca yakalayabileceğinizi gösterdik. Bu yöntemi kullanarak, SQL Server’daki başarısız giriş denemelerini izleyebilir, gerektiğinde güvenlik önlemleri alabilir ve veritabanı güvenliğinizi artırabilirsiniz.


메타데이터
post_id
28a55cda673b
slug
sql-serverda-login-failed-yakalamak-28a55cda673b
url
https://medium.com/@moral37/sql-serverda-login-failed-yakalamak-28a55cda673b
canonical_url
https://medium.com/@moral37/sql-serverda-login-failed-yakalamak-28a55cda673b
author_url
https://medium.com/@moral37
status
ok
fetched_at
2026-06-24 04:09:36