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.
ASP.NET Core, geliştiricilerin güvenliği yapılandırmasına ve yönetmesine olanak sağlar. Aşağıdaki liste, ASP.NET Core'de güvenlikle çalışma hakkındaki makalelerin bağlantılarını sağlar:
- Kimlik Doğrulaması
- Yetkilendirme
- Veri koruma
- HTTPS zorunluluğu
- Geliştirmede uygulama gizli anahtarlarının güvenli bir şekilde depolanması
- XSRF/CSRF önleme
- Çıkış Noktaları Arası Kaynak Paylaşımı (CORS)
- Siteler Arası Betik Oluşturma (XSS) saldırıları
Bu güvenlik özellikleri, güçlü ve güvenli ASP.NET Core uygulamaları oluşturmanıza olanak sağlar.
Bu Blazor düğümündeki yönergelere ek olarak veya onların yerine geçen güvenlik kapsamı için bkz. ASP.NET Core Blazor kimlik doğrulaması ve yetkilendirmesi ve Blazor'ün Güvenlik ve Identity düğümündeki diğer makaleler.
ASP.NET Core güvenlik özellikleri
ASP.NET Core yerleşik kimlik sağlayıcıları ve Facebook, Twitter ve LinkedIn gibi Microsoft olmayan kimlik hizmetleri gibi ASP.NET Core uygulamalarının güvenliğini sağlamak için birçok araç ve kitaplık sağlar. ASP.NET Core, uygulama gizli dizilerini depolamak için çeşitli yaklaşımlar sağlar.
Kimlik Doğrulaması ve Yetkilendirme
Kimlik doğrulaması , kullanıcının işletim sisteminde, veritabanında, uygulamada veya kaynakta depolanan kimlik bilgileriyle karşılaştırılan kimlik bilgilerini sağladığı bir işlemdir. İki kimlik bilgisi kümesi eşleştiğinde, kullanıcı başarıyla kimlik doğrulaması yapar. Daha sonra yetkilendirildikleri eylemleri gerçekleştirebilirler. Yetkilendirme işlemi, kullanıcının gerçekleştirmesine izin verilen eylemleri belirler.
Kimlik doğrulamasını düşünmenin bir diğer yolu da, alanı bir sunucu, veritabanı, uygulama veya kaynak olan bir alana girmenin bir yolu olarak değerlendirmektir. Yetkilendirme, kullanıcının bu alanın içindeki nesnelere (sunucu, veritabanı veya uygulama) hangi eylemleri gerçekleştirebileceğini tanımlar.
Yazılımdaki yaygın güvenlik açıkları
ASP.NET Core ve Entity Framework, uygulamalarınızın güvenliğini sağlamanıza ve güvenlik ihlallerini önlemenize yardımcı olan özellikler içerir. Aşağıdaki bağlantı listesi, sizi web uygulamalarındaki en yaygın güvenlik açıklarını önleme tekniklerini ayrıntılandıran belgelere yönlendirir:
- Siteler Arası Komut Dosyası Çalıştırma (XSS) saldırıları
- SQL sorguları > SQL ekleme saldırıları
- Siteler Arası İstek Sahteciliği (XSRF/CSRF) saldırıları
- Açık yeniden yönlendirme saldırıları
Bilmeniz gereken daha fazla güvenlik açığı vardır. Daha fazla bilgi için içindekiler tablosunun Güvenlik ve Identity bölümündeki diğer makalelere bakın.
Güvenli kimlik doğrulama akışları
En güvenli kimlik doğrulama seçeneğini kullanmanızı öneririz. Azure hizmetleri için en güvenli kimlik doğrulaması yönetilen kimliklerdir.
Kaynak Sahibi Parola Kimlik Bilgileri (ROPG) iznini kullanmaktan kaçının:
- Kullanıcının parolasını istemciye gösterir.
- Bu önemli bir güvenlik riskidir.
- Bunu yalnızca diğer kimlik doğrulama akışları mümkün olmadığında kullanın.
Yönetilen kimlikler, kimlik bilgilerini kodda, ortam değişkenlerinde veya yapılandırma dosyalarında depolamaya gerek kalmadan hizmetlerde kimlik doğrulaması yapmak için güvenli bir yoldur. Yönetilen kimlikler Azure hizmetleri için kullanılabilir ve Azure SQL, Azure Depolama ve diğer Azure hizmetleriyle kullanılabilir:
- Azure SQL için Microsoft Entra'da yönetilen kimlikler
- App Service ve Azure İşlevleri için yönetilen kimlikler
- Güvenli kimlik doğrulama akışları
Uygulama bir test sunucusuna dağıtıldığında, bağlantı dizesi bir test veritabanı sunucusuna ayarlamak için bir ortam değişkeni kullanılabilir. Daha fazla bilgi için bkz. Yapılandırma. Ortam değişkenleri genellikle düz, şifrelenmemiş metinlerde depolanır. Makine veya işlem tehlikeye girerse, ortam değişkenleri güvenilmeyen taraflar tarafından erişilebilir olabilir. En güvenli yaklaşım olmadığından, üretim bağlantı dizesini depolamak için ortam değişkenlerini kullanmanızı önermiyoruz.
Yapılandırma verisi kılavuzları:
- Parolaları veya diğer hassas verileri asla yapılandırma sağlayıcı kodunda veya düz metin yapılandırma dosyalarında saklamayın. Secret Manager aracı, geliştirme sırasında gizli bilgileri depolamak için kullanılabilir.
- Üretim gizli bilgilerini geliştirme ya da test ortamlarında kullanmayın.
- Yanlışlıkla bir kaynak kod havuzuna bağlanmamaları için projenin dışındaki sırları belirtin.
Daha fazla bilgi için bkz.
- Yönetilen kimlik en iyi uygulama önerileri
- Kodunuzda kimlik bilgilerini işlemeden uygulamanızdan kaynaklara bağlanma
- Diğer hizmetlere erişmek için yönetilen kimlikleri kullanabilen Azure hizmetleri
- IETF OAuth 2.0 Güvenlik En İyi Güncel Uygulaması (Bölüm 2.4. Kaynak Sahibi Parola Kimlik Bilgileri Verme)
Diğer bulut sağlayıcıları hakkında bilgi için bkz:
- AWS (Amazon Web Services): AWS Anahtar Yönetim Merkezi (KMS)
- Google Cloud Anahtar Yönetim Merkezi genel bakış
Kurumsal web uygulaması desenleri
Güvenilir, güvenli, performanslı, test edilebilir ve ASP.NET ölçeklenebilir bir Core uygulaması oluşturma yönergeleri için bkz. Enterprise web uygulaması desenleri. Desenleri uygulayan eksiksiz bir üretim kalitesinde örnek web uygulaması mevcuttur.
İlgili içerik
ASP.NET Core