Podstawowe zabezpieczenia ASP.NET MVC

By | 24 września 2018

Potraktujcie ten wpis jako wstęp do bardziej zaawansowanych mechanik zabezpieczania aplikacji ASP.NET MVC, które zostaną z pewnością zwrócone do poprawy przez bezpieczników podczas pentestów (testów penetracyjnych).

Usunięcie informacji na temat frameworku i serwera z headera odpowiedzi
Dlaczego te informacje domyślnie znajdują się w odpowiedziach z serwera? Nie wiem… Dzięki tej informacji atakujący bot może poznać wersję frameworka i dostosować atak na konkretne znane błędy dla tej wersji. Co jest ultra niebezpieczne, ponieważ nie zawsze system jest aktualizowany na bieżąco.

W Global.asax dodajemy:
protected void Application_PreSendRequestHeaders(object sender, EventArgs e) { HttpContext.Current.Response.Headers.Remove("X-AspNet-Version"); HttpContext.Current.Response.Headers.Remove("X-AspNetMvc-Version"); HttpContext.Current.Response.Headers.Remove("Server"); }
W Web.config dodajemy:
<system.webServer>
	<httpProtocol>
		<customHeaders>
			<clear />
			<remove name="X-Powered-By" />
		</customHeaders>
	</httpProtocol>
</system.webServer>

CDN.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *