Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, Veri API'sinin oluşturucusunda güvenlik için önerilen en iyi yöntemleri içerir. Bu makale, Veri API'sini oluşturucu çözümünüz için güvenlikle ilgili dikkat edilmesi gereken her şeyi içeren kapsamlı bir liste içermez.
TLS'nin eski sürümlerini sunucu düzeyinde devre dışı bırakma
İstemci ile Veri API oluşturucusu arasında gönderilen veriler, hassas veya değerli bilgileri korumak için güvenli bir bağlantı üzerinden gerçekleşmelidir. Güvenli bağlantı genellikle Aktarım Katmanı Güvenliği (TLS) protokolleri kullanılarak kurulur.
OWASP'nin Aktarım Katmanı Koruması kılavuzunda ayrıntılı olarak açıklandığı gibi, TLS doğru uygulandığında çok sayıda güvenlik avantajı sağlar:
- Gizlilik - bir saldırganın trafiğin içeriğini okumasına karşı koruma.
- Bütünlük - trafiği değiştiren bir saldırgana karşı koruma.
- Yeniden yürütme önleme - sunucuya yönelik istekleri yeniden yürüten bir saldırgana karşı koruma.
- Kimlik doğrulaması - istemcinin gerçek sunucuya bağlı olduğunu doğrulamasına izin verir (istemci sertifikaları kullanılmadığı sürece istemci kimliğinin doğrulanmadığını unutmayın).
Öneriler
TLS'yi güvenli bir şekilde yapılandırmaya yardımcı olan yollardan biri , tls'nin eski sürümlerinin sunucu düzeyinde kullanımını devre dışı bırakmaktır. Veri API oluşturucusu, ASP.NET Core için platformlar arası bir web sunucusu olan Kestrel'de oluşturulur ve varsayılan olarak işletim sisteminin TLS sürüm yapılandırmasını ertelemek üzere yapılandırılır. Microsoft'un .NET kılavuzuna yönelik TLS en iyi yöntemleri , bu tür davranışların ardındaki motivasyonu açıklar:
Uyarı
TLS 1.2, önceki sürümlere göre güvenlik iyileştirmeleri sağlayan bir standarttır. Daha hızlı ve daha güvenli olan en yeni standart TLS 1.3, sonunda TLS 1.2'nin yerini alacak.
.NET Framework uygulamalarının güvenli kalmasını sağlamak için TLS sürümünün sabit kodlanmış olmaması gerekir. .NET Framework uygulamaları, işletim sisteminin (OS) desteklediği TLS sürümünü kullanmalıdır.
Kestrel için desteklenen TLS protokol sürümlerini açıkça tanımlamak destekleniyor olsa da, bunu yapmanız önerilmez. Bu tanımlar, kullanılabilir hale geldikçe gelecekteki TLS sürümleri için desteği engelleyen bir izin verilenler listesine çevrilir. Kestrel'in varsayılan TLS protokolü sürüm davranışı hakkında daha fazla bilgiyi burada bulabilirsiniz.
TLS desteği
TLS 1.2, .NET'in en son sürümlerinde ve en son işletim sistemi sürümlerinin çoğunda varsayılan olarak etkindir.
- Windows'a .NET yükleme - Microsoft Learn
- Ortamınızda TLS 1.2 desteğini etkinleştirme - Microsoft Entra ID Kılavuzu
- Microsoft'ta TLS 1.2 desteği - Microsoft Güvenlik Blogu
Üretim için kimlik doğrulamasını yapılandırma
DAB 2.0'dan itibaren varsayılan kimlik doğrulama sağlayıcısıdır Unauthenticated. Bu kimlik doğrulama sağlayıcısı, DAB'nin herhangi bir JSON Web Belirtecini (JWT) incelemediği veya doğrulamadığı ve tüm isteklerin olarak anonymousçalıştırdığı anlamına gelir. DAB'nin önündeki başka bir hizmet arayanların kimliğini doğrulayabilir veya erişimi kısıtlayabilir, ancak DAB yalnızca anonymous olarak yetkilendirir.
Önemli
DAB'yi doğrudan istemcilere sunarsanız, EntraID'ye bağlı olmak yerine üretim seviyesinde bir kimlik doğrulama sağlayıcısı (Custom veya Unauthenticated gibi olan) yapılandırın. Etkin olduğunda Unauthenticated, authenticated ve varlık izinlerinde tanımlanan özel roller hiçbir zaman etkinleştirilmez.
Daha fazla bilgi için bkz. Kimliği Doğrulanmamış sağlayıcı ve çalışma zamanı kimlik doğrulaması yapılandırmasını yapılandırma.
Adına (OBO) kullanıcı yetkisi verilen kimlik doğrulaması
Gerçek kullanıcı kimliğiyle satır düzeyi güvenlik gerektiren SQL Server ve Azure SQL dağıtımları için Adına (OBO) kimlik doğrulamasını etkinleştirmeyi göz önünde bulundurun. OBO gelen kullanıcı belirtecini aşağı akış SQL belirteci ile değiştirir, böylece veritabanı gerçek çağıran kullanıcı olarak kimlik doğrulaması yapar. Daha fazla bilgi için bkz. kullanıcı tarafından atanan kimlik doğrulaması.