Một số cấu hình file web.config an toàn

Một số cấu hình file web.config an toàn

Khi lập trình web bằng ASP.NET, một thành phần rất quan trọng trong việc đảm bảo an toàn cho website là file web.config. Đây là file chứa các cấu hình cơ bản của website, tuy nhiên, các cấu hình mặc định của nó đôi khi tiềm ẩn nhiều nguy cơ an ninh. Bài viết này chỉ ra một số cấu hình để giúp website của bạn loại bỏ những nguy cơ này.

Tắt thông báo lỗi

Bật mode = “On” hoặc “RemoteOnly”

<customErrors mode="On" defaultRedirect="Error.html">
   <error statusCode="403" redirect="NoAccess.html" />
   <error statusCode="404" redirect="FileNotFound.html" />
</customErrors>

Trong đó

Off: thông báo lỗi sẽ được hiển thị phía người dung
On: ko hiển thị thông báo lỗi
RemoteOnly: thông báo lỗi chỉ hiển thị phía server

Ngoài ra còn có cấu hình trang redirect mặc định khi có lỗi.
Nếu ko để customErrors thì thông báo lỗi cũng ko đc hiển thị rõ rang

Bỏ trace

<trace enabled="false" localOnly="true">

Khi để trace với tùy chọn là localOnly=”false”, bất kỳ ai cũng có thể vào trang trace.axd để xem danh sách các request.

Tắt debug

<compilation debug="false">

HttpCookieOnly

<httpCookies httpOnlyCookies="true" />

Tùy chỉnh này ko cho truy cập tới cookie bằng các đoạn code phía Client, ngăn tấn công XSS. Chỉ có tác dụng khi dung HttpCookie.

Mã hóa ViewState

<system.web>
…
<machineKey validation="3DES"/>
…
</system.web>

Mã hóa các thành phần trong web.config

B1: Cấp quyền cho account ASPNET truy xuất đến đối tượng chứa key RSA mặc định “NetFrameworkConfigurationKey”

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis –pa NetFrameworkConfigurationKey" "ASPNET"

B2: Mã hóa các thành phần

aspnet_regiis -pe "connectionStrings" -app "/MyApplication"

-pe: thành phần
-app: tên thư mục ứng dụng

Giải mã:

aspnet_regiis -pd "connectionStrings" -app "/MyApplication"

Bạn cũng có thể tham khảo bài biết sau: Mã hóa chuỗi kết nối trong web.config

Khi trích dẫn bài viết từ tek.eten.vn, xin vui lòng ghi rõ nguồn. Chúng tôi sẽ rất cảm ơn bạn!