İçindekiler Tablosu
Başlık | Açıklama |
---|---|
OWASP Top 10 | Web güvenliğinde en kritik açıklar |
SQL Injection | .NET’te veri güvenliği nasıl sağlanır? |
XSS | Kullanıcı arayüzünü nasıl koruruz? |
CSRF | Kimlik sahtekarlığını nasıl önleriz? |
Race Condition | Paralel işleme güvenliği |
ASP.NET Core Güvenlik Katmanları | Entegre savunma sistemleri |
Pentest Araçları | Uygulama güvenlik test araçları |
SEI CERT & OWASP | Güvenli kodlama standartları |
Eğitim Önerileri | Sertifikalı, resmi eğitim bağlantıları |
OWASP Top 10: Geliştiriciler İçin Tehdit Listesi
OWASP, tüm web uygulama geliştiricileri için global bir referanstır.
.NET uygulamalarında da aşağıdaki açıklarla sıkça karşılaşılır:
Broken Access Control
Cryptographic Failures
Injection
Insecure Design
Security Misconfiguration
Outdated Components
Authentication Failures
Integrity Failures
Logging & Monitoring Issues
Server-Side Request Forgery (SSRF)
Ayrıntılı koruma yöntemleri için eğitim:
🔗 Securing .NET Web Applications Eğitimi
SQL Injection: .NET’te En Klasik Tehlike
Yanlış Yaklaşım:
csharp
var user = context.Users .FromSqlRaw("SELECT * FROM Users WHERE Email = '" + email + "'") .FirstOrDefault();
Doğru Yaklaşım:
csharp
var user = context.Users .FirstOrDefault(u => u.Email == email);
✔ ORM (Entity Framework) kullanımı + Parametrik sorgular = Güvenli kodlama
XSS (Cross Site Scripting)
Kullanıcıdan alınan HTML çıktıları doğrudan sayfaya yerleştirilirse tehlike büyüktür.
html
@Html.Raw(ViewBag.Message)
✔ ASP.NET Razor otomatik escape uygular.
Ayrıca:
Content Security Policy (CSP)
AntiXSS NuGet paketleri
Form validasyonu
CSRF: Oturum Sahtekarlığına Karşı Savunma
ASP.NET Core, CSRF koruması ile birlikte gelir.
csharp
[ValidateAntiForgeryToken] public IActionResult Update(User user) { ... }
Form içinde:
html
@Html.AntiForgeryToken()
Temel .NET Core güvenlik altyapısını öğrenmek için:
🔗 Introduction to .NET Core for Web Services
Race Condition: Sessiz ve Tehlikeli
Çoklu işlem, aynı kaynağa yarış içinde eriştiğinde veri çakışması doğar.
Örneğin aynı kupon kodunun eşzamanlı kullanımı.
✔ Çözüm:
lock
anahtar kelimesiSemaphoreSlim
kullanımıasync
/await
blokları ile kontrol
ASP.NET Core Güvenlik Katmanları
Katman | Görev |
---|---|
Authentication | Kimlik doğrulama |
Authorization | Yetki denetimi |
Middleware | HTTPS, CORS, JWT filtreleri |
Identity Framework | Şifreleme, oturum yönetimi |
Data Protection | Token üretimi, anahtar yönetimi |
csharp
app.UseHttpsRedirection(); app.UseAuthentication(); app.UseAuthorization();
ASP.NET MVC'de güvenli mimari yapılar için:
🔗 Developing ASP.NET MVC Web Applications Eğitimi
Penetrasyon Test Araçları
Araç | Amaç |
---|---|
ZAP | OWASP güvenlik taraması |
Burp Suite | İstek analiz & payload testi |
Nikto | Web sunucu açıklığı testi |
Nmap | Port ve servis tarama |
DotNet Security Analyzer | .NET özel analiz ve refactor |
SEI CERT & OWASP Kodlama İlkeleri
SEI CERT:
Resource management (
using
/Dispose
)Exception güvenliği
Type güvenliği (avoid
dynamic
)Girdi doğrulama
OWASP:
HTTPS zorunluluğu
Server-side validasyon
Hata mesajlarını gizleme
Authorization kontrollerini action seviyesinde uygulama
Günlüklerde kullanıcı bilgilerini maskeleme
Resmi Sertifikalı Eğitimler
.NET güvenliğini derinlemesine öğrenmek için aşağıdaki eğitimleri tavsiye ederim:
Eğitim | Link |
---|---|
Securing .NET Web Applications | Eğitim Sayfası |
Introduction to .NET Core for Web Services | Eğitim Sayfası |
Developing ASP.NET MVC Web Applications | Eğitim Sayfası |