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"

Related Post


Search

Đăng ký nhận bài mới


Category

Blog Archive