Cấu hình bảo mật cơ bản cho IIS

09:35 - 10/03/2023  |  1231 lượt xem

Chia sẻ
IIS là viết tắt của Internet Information Service là một dịch vụ web của Microsoft chạy trên hệ điều hành Windows. IIS được sử dụng phổ biến cho các doanh nghiệp vì nó có thể được quản lý tập trung và mở rộng quy mô để tạo các web server lớn, đáp ứng nhu cầu cho các trang web có lưu lượng truy cập cao. Tại Trung tâm Chăm sóc khách hàng Điện lực miền Trung, hơn 90% các trang web được phát triển trên nền tảng .NET và dùng IIS làm web server.
Cấu hình bảo mật cơ bản cho IIS

Bảo mật trong IIS

Việc cài đặt để chạy 1 website IIS khá dễ dàng, tuy nhiên việc bảo mật cho IIS đa phần người quản trị thường không quá chú trọng. Trong bài viết này đề cập đến một số khía cạnh về vấn đề bảo mật cơ bản cho website IIS, giúp cho website của chúng ta trở nên bảo mật hơn trước các cuộc tấn công từ bên ngoài.

Sử dụng mã hóa SSL/TLS

Khi một trang web được đưa lên môi trường Internet để sử dụng, cần đảm bảo rằng trang web phải được chạy giao thức https. Điều này giúp quá trình giao tiếp giữa người dùng và server khó có thể nghe lén vì này dữ liệu đã được mã hoá khi gửi đi. Để cấu hình https cho website trên iis, trên giao diện IIS, click chuột phải vào website, chọn Edit Bindinsg, chọn Add và lựa chọn Certificate tương ứng

Cấu hình SSL trong IIS

Cấu hình host header cho tất cả các site trên IIS

Cấu hình host header cho tất cả các trang web có thể làm giảm khả năng xảy ra các cuộc tấn công DNS rebinding. Để cấu hình host header cho website, trên giao diện IIS người quản trị click chuột phải vào website, chọn Edit Bindings, chọn Edit và nhập vào domain của website ở ô Hostname để cấu hình host header.

Cấu hình host header trên IIS

Chức năng “Directory browsing” phải được tắt

Chức năng Directory Browsing cho phép hiển thị nội dung trong một thư mục khi nhận request từ phía client. Nếu Directory Browsing được bật cho các thư mục trong IIS, người dùng truy cập vào các Folder sẽ thấy tất cả các file trong thư mục, điều này gây mất an toàn, lộ lọt các dữ liệu nhạy cảm trên máy chủ. Vì vậy đối với người quản trị hệ thống phải đảm bảo tính năng này vô hiệu hoá để làm giảm việc lộ các dữ liệu nhạy cảm truy cập được qua IIS.

Một trường hợp Directory Browsing chưa disable trên website daotaottht.cpc.vn

Trong một số trường hợp bắt buộc Directory Browsing phải được bật, người quản trị phải đảm bảo rằng nó chỉ được bật trên một thư mục cụ thể hoặc chỉ các thư mục cần được chia sẻ.

Cấu hình Response Header

Cấu hình  HTTP response headers  để xác định các để giúp chống lại các cuộc tấn công như MIME types, clickjacking, code injection, XSS. Một số cấu hình trong Response Header có thể kể đến như X-Frame-Options, X-Content-Type-Options, X-XSS-Protection.

Cấu hình X-Frame-Options

Thực hiện cấu hình X-Frame-Options để cho phép website có được nhúng vào bên trong các thẻ frame hoặc iframe hay không. Tính năng này có thể phòng chống các cuộc tấn công clickjacking. 

Để cấu hình X-Frame-Option, người quản trị vào IIS, chọn HTTP Response Header, nhấn Add, trong ô Name gõ “X-Frame-Options”, trong ô value điền “SAMEORIGIN”

Cấu hình X-Frame-Options

Khi cấu hình X-Frame-Options là SAMEORIGIN thì trang web chỉ cho các iframe được nhúng khi iframe có cùng một nguồn gốc với website của bạn.

Cấu hình X-Content-Type-Options

Đối với các trang web cho phép người dùng upload các tập tin văn bản và hình ảnh. Attacker sẽ thông qua việc upload để tìm cách bypass để upload lên file mã độc (webshell) nhằm chiếm điều khiển của hệ thống. Việc cấu hình X-Content-Type-Options nosniff nhằm hạn chế việc  thực thi mã độc trên trình duyệt.

Để cấu hình X-Frame-Option, người quản trị vào IIS, chọn HTTP Response Header, nhấn Add, trong ô Name gõ “X-Content-Type-Options”, trong ô value điền “nosniff”

Cấu hình X-Content-Type-Options

Cấu hình X-XSS-Protection

Sử dụng tuỳ chọn X-XSS-Protection trên IIS để chống lại các cuộc tấn công Cross-Site Scripting (XSS). 

Để cấu hình X-XSS-Protection, người quản trị vào IIS, chọn HTTP Response Header, nhấn Add, trong ô Name gõ “X-XSS-Protection”, trong ô value điền “1; mode=block”

Cấu hình X-XSS-Protection

X-XSS-Protection có 2 giá trị là 0 và 1. Khi X-XSS-Protection có giá trị 1;mode=block thì hệ thống sẽ bật tùy chọn X-XSS-Protection và không hiển thị trang nếu phát hiện có tấn công XSS.

Cấu hình Request Filtering

Thông thường khi lập trình viên xây dựng trang web, các framework sẽ hỗ trợ những thư viện để chống tấn công các lỗi cơ bản như SQL Injection, XSS,… Tuy nhiên trong quá trình xây dựng một dự án lớn, một số chức năng lập trình viên sẽ bỏ sót việc xử lý dữ liệu đầu vào, gây ra các lỗi mà attacker có thể thông qua đó để khai thác tấn công công vào hệ thống ứng dụng web. Để giảm thiểu việc khai thác cũng như tăng cường bảo mật cho hệ thống website, người quản trị có thể cấu hình chặn các truy cập có chứa các chuỗi ký tự nhạy cảm, nhằm gây khó khăn cho attacker.

Một số cấu hình mẫu trên Request Filter để hạn chế attacker khai thác

Cấu hình Request Filtering

Ngoài ra một điều khá quan trọng đối với hệ thống web server là người quản trị phải luôn cập nhật các bản vá từ nhà sản xuất và chỉ cài đặt các thành phần cần thiết. Trên đây là một số cấu hình cơ bản giúp cho website chạy trên IIS bảo mật hơn trên môi trường Internet. Tuy nhiên việc cấu hình này chỉ giúp website hạn chế một phần tấn công. Đối với các lỗ hổng liên quan đến ứng dụng và hệ thống, người quản trị và lập trình viên vẫn phải sửa lỗi và cập nhật các bản vá để đảm bảo an toàn thông tin.

Trần Cảnh Khánh

09:35 - 10/03/2023  |  1231 lượt xem

Chia sẻ

TIN BÀI ĐỌC NHIỀU

EVNCPC thông báo tuyển dụng lao động

EVNCPC thông báo tuyển dụng lao động

08:51 - 25/09/2023  |  38391 lượt xem