SQL Server'ı Hackerlardan nasıl koruyabilirim?


9

Bir sorunum var ve nasıl ele alınacağını anlayamadım. Windows 2008 R2 sunucusunda bir SQL Serverım var. Bu SQL Server 2005, Internet üzerinde başka bir yerde bulunan başka bir SQL Server'dan DB abonelikleri almak için kullanılmaktadır. Ben güvenlik duvarı üzerinden açık sql sunucusu bağlantı noktası var, ancak kapsamda, diğer SQL Server IP girdim. Bunu yaparak, istekleri diğer SQL Server'dan (IP'si güvenlik duvarı kuralının kapsamında listelenen) gelmedikçe, bağlantı noktası üzerinden bağlantı isteklerinin SQL Server'a ulaşmayacağını umdum. Ancak, günlüğü gördüğümde, yüzlerce "oturum açma başarısız kullanıcı sa" girişi vardır (ve her geçen saniye geliyorlar). Görünüşe göre bazı bilgisayar korsanları kullanıcı şifresini tahmin etmek için kaba kuvvet deniyor. Ama soru şu ki, Güvenlik duvarı kapsamında listelenen IP adresinden gelmese bile, Windows neden bu isteğin SQL Server'a erişmesine izin veriyor? Bu SQL Server'ı korumanın doğru yolu nedir? Diğer SQL Server'ın IP'sinden başka hiçbir IP'nin bu sql sunucusuna bağlanması gerekmez.

DÜZENLE - Daha Fazla Bilgi:

Telnet'i farklı makinelerden sql server portunda çalıştırdım. Telnet, güvenlik duvarı kapsamında özellikle belirtilen makineden çalıştırılması dışında başarısız olur. Yani güvenlik duvarı sql sunucusu bağlantı noktasını iyi engelliyor gibi görünüyor. Ama sonra neden bu başarısız giriş isteklerini SQL Server günlüğünde farklı IP adreslerinden "sa" kullanıcıya görüyorum? Bilgisayar korsanı 80 numaralı bağlantı noktasından makineye giriyor ve sonra bir şekilde sql sunucusuna bağlanmaya çalışıyor mu? 80 ve 443 numaralı limanlar herkese açıktır. Diğer tüm bağlantı noktaları sql sunucusu bağlantı noktası dışında kapatılır (ve bu yalnızca belirli bir IP için açıktır). 80 numaralı bağlantı noktasında Web sunucusunda çalışan ve SQL sunucusuna ziyaretçi yönlendirebilecek hiçbir şey yoktur. Aslında, Web sunucusunda yalnızca bir index.html (SQL bağlantısı olmayan saf HTML) dosyası vardır. Bu sadece gelecekte kullanılmak üzere ayarlanmış bir test sunucusudur. Yalnızca SQL Server'daki verileri test edin.

DÜZENLE:

Hem bırakma hem de başarı bağlantılarını dahil etmek için güvenlik duvarı izlemeyi açtım. Şimdi her şeyi takip ediyor. Sonra Çin'deki farklı IP adreslerinden gelen bu başarısız giriş denemelerini gördüğüm SQL Server günlüğüne gidiyorum. Ancak güvenlik duvarı günlüğünde bu IP adresleri için giriş yoktur. Bu nasıl mümkün olabilir? Güvenlik duvarını tamamen atlayarak SQL sunucusuna ulaşabilirler mi? Girebilecekleri bazı güvenlik duvarı bağlantı noktaları açıksa, güvenlik duvarı günlüğünün bu IP adresi için bir giriş göstermesi gerekir. Ben tamamen kayboldum.


Oturum Açma Tetikleyicisini kullanmaya ne dersiniz ? Ayrıca, SQL Server internete (kamuya açık) maruz kalmamalıdır. Ayrıca, IP adreslerinin aralığını sınırlamak için Windows Güvenlik Duvarı'ndaki Program Kurallarını kullanabilirsiniz.
Kin Shah

Evet yapabilirdim, ama derinlemesine bu aslında SQL Server ile ilgili değil. Neden Windows güvenlik duvarının yapması gereken şeyi yapmadığını, yani bu isteklerin yalnızca izin verilen IP adresinden gelmediği için geçmesine izin vermediğini bulmaya çalışıyorum.

1
Evet, Windows Güvenlik Duvarı yanlış yapılandırılmış gibi görünüyor. Belki 1433 numaralı bağlantı noktasına izin veren (veya her şeye izin veren) daha genel bir kuralınız vardır veya belki de Internet'e bakan NIC'de Windows Güvenlik Duvarı devre dışı bırakılmıştır. Konfigürasyonu görmeden söylemek zor. Ancak bu, Max'in dediği gibi ServerFault için gerçekten bir sorudur. Şunu mu demek istedin Windows 2008 R2, btw? 'RC', test için yayın öncesi yazılım olan Release Candidate.
James L


1
Gerçekten eski bir sürüm adayı işletim sistemi mi kullanıyorsunuz ?! Önce düzeltin.
Michael Hampton

Yanıtlar:


12

Güvenlik duvarınız doğru yapılandırılmamış gibi görünüyor. Bu ilk adım.

Normalde yazdığım bir kitabı pezevenklemem, ama bu durumda bir istisna yapacağım. Buna SQL Server'ın güvenliğini sağlama denir ve size iyi bir başlangıç ​​sağlar.


Kitabınız bu soruya tam olarak uyuyor :-)
mfinni

Güzel! Internet'e bakan sunucular için yerel / Windows kimlik doğrulaması yerine sertifika kullanma konusunda kurallı rehberliğe sahip mi? ;-)
Greg Askew

Düzenlemelerimi görün. Güvenlik duvarı çalışıyor gibi görünüyor. Bu Çinli hackerların SQL Server'a ulaşmak için oynadıkları başka bir numara.
Allen King

1
Birisi ortak bir IP Adresinden SQL bağlantı noktasına bağlanıyorsa, güvenlik duvarı doğru yapılandırılmamıştır. Dahili bir IP'den geliyorlarsa, başka bir sorunla karşılaşırsınız. SQL kendi kendine sertifikaları desteklemez. Bunu AD ve sertifika eşlemeleri aracılığıyla yapmanız gerekir.
mrdenny

Gerçekten güvenlik duvarı için çizime geri dönün. Güvenlik duvarı durumunuz çözülene kadar SQL sunucusunu internetten çekerdim. Bu şekilde, IP adreslerinin tüm aralıklarını göreceli olarak kolayca yasaklayabilirsiniz.
Techie Joe

4

Hemen dedi - sen yapmıyorsun. Güvenlik duvarı vb. Kullanmazdım - bir SQL sunucusunun internette olma hakkı yoktur. ÇOK ÇOK birkaç istisna.

Çoğaltma için uygun bir VPN ayarlayın.


Biraz kafam karıştı. DB sunucusu Internet'te değilse, bir Web Uygulaması arka uç sunucusu DB sunucusuna nasıl ulaşır?
Allen King

Dahili ağ üzerinden. Temel kurulum. Web uygulaması her iki ağda oturur.
TomTom

3

Güvenlik duvarını düzgün yapılandırmanın yanı sıra, SQL Server'ı kaba kuvvet saldırılarına karşı korumak için bazı genel öneriler şunlardır:

  • 'Sa' hesabını devre dışı bırakın. Giriş adının tam olarak bilinmesi saldırıları kolaylaştırır

    ALTER LOGIN sa DISABLE
    

Başka bir seçenek 'sa' hesabını daha az belirgin bir adla yeniden adlandırmaktır

ALTER LOGIN sa WITH NAME = SimonXZY
  • Karma mod kimlik doğrulaması yerine Windows kimlik doğrulamasını kullanın. Windows kimlik doğrulaması Windows parola ilkesini uygular ve art arda başarısız oturum açma girişimleri durumunda oturum açmayı kilitler
  • Denetim başarısız oturum açma. Bunu yapmanın en kolay yolu, Sunucu özellikleri, Güvenlik sekmesindeki Oturum açma denetimi seçeneğini yalnızca Başarısız oturum açmalar veya Her ikisi de başarısız ve başarılı oturum açma olarak ayarlamaktır. Bu, kaba kuvvet saldırılarına karşı korunmanıza yardımcı olmaz, ancak saldırıların farkında olmanıza yardımcı olur

Burada daha faydalı öneriler: Bir Kaba Kuvvet veya Sözlük Saldırısını Önleme: Kabaları Loot'unuzdan Uzak Tutun

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.