İçeriğe geç

Eksik güvenlik başlıkları (ARCH342)

Anahtar dotnet.security.missing-security-headers · Önem info · Kategori security · CWE CWE-693

Boru hattını kuran dosya (WebApplication.CreateBuilder içeren Program.cs ya da Startup.Configure) başlık ara katmanının kurulduğu yerdir. Uç noktaları eşleyip ne UseHsts() çağırır ne de bir güvenlik başlığı ayarlarsa yanıtlar HSTS, CSP ve nosniff olmadan çıkar. Bilgi düzeyinde raporlanır: ters vekil bunları ekliyor olabilir.

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapControllers();
app.Run();
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
if (!app.Environment.IsDevelopment()) app.UseHsts();
app.Use(async (ctx, next) =>
{
ctx.Response.Headers["X-Content-Type-Options"] = "nosniff";
ctx.Response.Headers["Content-Security-Policy"] = "default-src 'self'";
await next();
});
app.MapControllers();
app.Run();

Development dışında app.UseHsts() çağırın ve bir başlık ara katmanı ekleyin (örneğin NetEscapades.AspNetCore.SecurityHeaders) ya da X-Content-Type-Options, Content-Security-Policy ve X-Frame-Options başlıklarını kendiniz ayarlayın.