Sa gibi bilinen bir hesap adı, veritabanı için bir güvenlik tehdidi oluşturuyor mu? SQL Server'da Windows kimlik doğrulaması kullanıldığında, aynı parola ilkesi uygulanıyor mu (5 kez hesap kilitlemesi olarak ayarlanmışsa)?
Sa gibi bilinen bir hesap adı, veritabanı için bir güvenlik tehdidi oluşturuyor mu? SQL Server'da Windows kimlik doğrulaması kullanıldığında, aynı parola ilkesi uygulanıyor mu (5 kez hesap kilitlemesi olarak ayarlanmışsa)?
Yanıtlar:
Sa gibi bilinen bir hesap adı, veritabanı için bir güvenlik tehdidi oluşturuyor mu?
Bilinen bir ada sahip bir "tanrı" kullanıcı hesabı, daha az bilinen bir ada sahip bir tanrı kullanıcıdan daha kötü bir fikir olarak kabul edilir. Saldırganın sadece kullanıcı adını ve şifreyi değil, yalnızca parolayı tahmin etmesi gerektiğinden kaba kuvvet saldırılarını kolaylaştırır .
Yine de bir tanrı kullanıcısına sahip olmak tehlikeli olabilir. Genelde, yapmaları gerekenler için belirli haklara sahip belirli kullanıcılara sahip olmak daha iyidir. Bu tür ayrıcalık tabanlı güvenlik, sıfırdan uygulamak, daha sonra ortamınıza uyarlamaktan daha kolaydır.
SQL sunucusunda gerektiği gibi sa'nın devre dışı bırakılması ve belirli kullanıcılara belirli yönetici hakları verilmesi, esasen Linux ve benzerleri rootaracılığıyla yönetici haklarının devre dışı bırakılması ve dağıtılmasıyla aynı tavsiyedir sudo. Bir saşeylerin yanlış gitmesi durumunda makineye doğrudan bağlandığında yeterli ayrıcalıklarla her zaman yeniden etkinleştirebilirsiniz ve bir Linux'a kök erişim mühendisliği yapabileceğiniz gibi kullanıcılarınızın çalışması için gereken tüm hakları (ve sorunu düzeltin) düşürürsünüz. kutuya fiziksel erişiminiz varsa - hesabı devre dışı bırakmak sihirli kurşun değildir (ancak bir saldırganın makinenize fiziksel erişimi veya RDC veya SSH üzerinden tam Yönetici erişimi olduğunda, tüm bahisler yine de kapalıdır).
SQL Server'da Windows kimlik doğrulaması kullanıldığında, aynı parola ilkesi uygulanıyor mu (5 kez hesap kilitlemesi olarak ayarlanmışsa)?
Windows Tümleşik Kimlik Doğrulaması kullanırken SQL sunucusunun hesap kilitleri ve bunun üzerinde herhangi bir denetimi yoktur - yalnızca bir Windows kullanıcısını bir SQL kullanıcısıyla eşler ve işletim sisteminden kullanıcının uygun kimlik bilgilerini sağladığını garanti etmesini ister. Etkileşimli insan kullanıcıları için bu, kullanıcı SQL Server'da oturum açtıklarında değil, Windows ile kimlik doğrulaması yapmaya çalışırken herhangi bir kilitleme gerçekleşeceği anlamına gelir.
Varsayılan yönetici kullanıcının (admin / root / postgres / sa / etc) sisteminizde gerçekte mevcut olmaması için bunu yapmak kötü bir fikir değildir. Her zaman farklı bir adla ayrıcalıklı bir hesap oluşturabilirsiniz.
Başka bir şey yoksa, sisteminizden yararlanmaya çalışan insanlar, kör çalışıyormuş gibi bir zamana sahip değildirler (örneğin, etkileşimli bir kabuğa sahip olmadan veya komutlarından doğrudan çıktı göremeyen sql enjeksiyonu)
Hesap kilitlenmelerine gelince - birileri makinenize giriş yapmaya bile yetecek kadar yol almayı başardıysa, özellikle kullanıcılardan doğrudan girişe izin vermedikçe, savaşı zaten kaybettiniz. Şahsen, çoğunlukla kilitlenmenin lehine değilim, çünkü birisine kullanıcılarınızdan herhangi birinin adını almayı başarırsa bir hizmet reddi oluşturma yeteneği verir. (ve süper kullanıcıyı kilitlemelerini sağlamak? eğlenceli değil).
CIS Testleri'ne bakmanızı tavsiye ederim ... her veritabanı için onlara sahip değiller, ancak Oracle, MS SQL, DB2 ve MySQL için önerileri var. Başka bir şey yayınlıyorsanız, önerdikleri genel şeyleri gözden geçirmeye değer.
Başka kimsenin bundan bahsettiğini görmedim, bu yüzden ekleyeceğim. SQL Server 2005+ ile sunucunuz bir etki alanının parçasıysa ve etki alanında bir parola ilkesi varsa parola ilkesinin SQL oturumlarında uygulanmasını sağlayabilirsiniz. Bu, parola karmaşıklığı gereksinimlerini ve oturum açma sırasında parola değişikliklerini zorlama yeteneğini içerir.
Bunun zaman zaman SQL 2005+ ile çalışmak üzere güncellenmemiş bazı yazılım yükleyicilerinde sorunlara neden olabileceğini ve güvenli olmayan parolalarla SQL oturum açma işlemleri oluşturabileceğini unutmayın.
SQL Server'da kullanılan iki kimlik doğrulama modu vardır: Windows kimlik doğrulaması ve karışık mod (hem Windows kimlik doğrulamasını hem de SQL Server kimlik doğrulamasını etkinleştirir)
İlk mod, saldırganın sınırlı sayıda saldırı denemesinden sonra bir oturum kilitleme (Hesap Kilitleme İlkesi özelliği) ile karşılaşması muhtemel olduğundan kaba kuvvet saldırılarına karşı daha az savunmasızdır. Windows Kimlik Doğrulama modunu kullanıyorsanız her üretim ortamı, kaba kuvvet saldırılarını imkansız kıldığı için kilitleme ilkesi özelliğini kullanmalıdır.
SQL Server kimlik doğrulaması kaba kuvvet saldırısı güvenlik açığı söz konusu olduğunda, durum o kadar uygun değildir. SQL Server Kimlik Doğrulaması, sistem bir kaba kuvvet saldırısı altındayken algılamaya izin veren hiçbir özelliğe sahip değildir. Ayrıca, SQL Server kimlik doğrulama bilgilerini doğrulamak söz konusu olduğunda SQL Server çok duyarlıdır. Bu tür saldırıları gösterebilecek olumsuz genel performans olmadan tekrarlanan, agresif, kaba kuvvetli giriş denemelerini kolayca halledebilir. Bu, SQL Server Kimlik Doğrulamasının kaba kuvvet saldırıları yoluyla parola kırmak için mükemmel bir hedef olduğu anlamına gelir
Ayrıca, kaba kuvvet yöntemleri her yeni eklenen şifreleme ve şifre karmaşıklığı yöntemiyle gelişmektedir. Örneğin, gökkuşağı tabloları (olası her karakter kombinasyonu için kriptografik karma değerlerini tersine çevirmek için önceden hesaplanmış tablolar) kullanan saldırganlar, karma şifreleri kolayca ve hızlı bir şekilde kırabilir
SQL Server'ınızı kaba kuvvet saldırılarına karşı korumak için aşağıdakileri göz önünde bulundurmalısınız:
SA (ve diğer iyi bilinen hesap adları), bilgisayar korsanlarının saldırabileceği iyi bilinen noktalardır. Oracle'ın bazıları kötü belgelenmiştir ve bu nedenle varsayılan şifreler her zaman değiştirilmemiştir. SQL Server'da SA hesabının kontrolünü aldıktan sonra, üzerinde çalıştığı sunucuyu kontrol edersiniz ve herhangi bir kodu çalıştırabilir veya istediğiniz her şeyi yükleyebilirsiniz. Daha fazla kovboy günümde, SQL Server'ı da barındıran bir web sunucusuna bir ActiveX denetimi yüklemek için izin verilmediğini (doldurmayacağım evraklara ihtiyaç duyduğunu) hatırlıyorum - bu yüzden kontrolü kopyalamak ve yüklemek için xp_cmdshell kullandım .