Series bảo mật trong ASP.NET MVC - 5: Rỏ rỉ thông tin máy chủ

Các thông tin về phiên bản được sử dụng bởi một kẻ tấn công sẽ khai thác để tấn công vào hệ thống.

Khi trình duyệt gửi một request lên server, các thông tin version sẽ đi theo header của response trả về cho trình duyệt như [Server, X-AspNet-Version,X-AspNetMvc-Version, X-Powered-By].

Server sẽ hiển thị thông tin của web server nào đang được sử dụng.

X-AspNet-Version hiển thị phiên bản ASP.NET được sử dụng

X-AspNetMvc-Version hiển thị phiên bản của ASP.NET MVC

X-Powered-By hiển thị phiên bản framework mà website đang chạy.

https://www.codeproject.com/KB/aspnet/1116318/Fig39.jpg

Giải pháp:

1. Để loại bỏ thông tin X-AspNetMvc-Version ở header

Để loại bỏ thông tin X-AspNetMvc-Version hiển thị phiên bản của ASP.NET MVC khi chúng ta sử dụng ASP.NET MVC.

Hãy set [MvcHandler.DisableMvcResponseHeader = true;] trong sự kiện Application_Start trong file Global.asax

https://www.codeproject.com/KB/aspnet/1116318/Fig41.jpg

Sau khi đã loại bỏ X-AspNetMvc-Version

2) Để loại bỏ X-AspNet-Version và Server header

Để loại bỏ thông tin Server header hiển thị thông tin của web server và header X-AspNet-Version hiển thị thông tin chi tiết về ASP.NET version.

Chỉ cần thêm một event [Application_PreSendRequestHeaders()] vào file Global.asax để remove header mà chúng ta cần.

protected void Application_PreSendRequestHeaders()

        {

            Response.Headers.Remove("Server");           //Remove Server Header  

            Response.Headers.Remove("X-AspNet-Version"); //Remove X-AspNet-Version Header

        }

 

https://www.codeproject.com/KB/aspnet/1116318/Fig42.jpg

https://www.codeproject.com/KB/aspnet/1116318/Fig43.jpg

Sau khi loại bỏ X-AspNet-Version header và Server header.

3) Để loại bỏ X-Powered-By header

Để loại bỏ response X-Powered-By header hiển thị thông tin framework nào mà website đang chạy.

Chỉ cần thêm thẻ dưới System.WebServer trong web.config sẽ bỏ header [X-Powered-By]

<httpprotocol>

<customheaders>



</customheaders>

</httpprotocol>

 

https://www.codeproject.com/KB/aspnet/1116318/Fig44.jpg

Thêm custom header vào Web.config để loại bỏ Response header

https://www.codeproject.com/KB/aspnet/1116318/Fig45.jpg

Sau khi loại bỏ header X-Powered-By


Trích nguồn từ: (codeproject.com)

Lên trên