CHƯƠNG 2. PHÂN TÍCH LỖ HỔNG RCE
2.6 Các biện pháp ngăn ngừa và khắc phục
Để giảm thiểu nguy cơ lỗ hổng Remote Code Execution (RCE) trên IIS, cần triển khai các biện pháp từ cấu hình cơ bản, bảo mật đầu vào đến giám sát hệ thống. Dưới đây là hướng dẫn chi tiết cho từng biện pháp.
2.6.1 Cập nhật và vá lỗi thường xuyên
Một nguyên nhân chính dẫn đến lỗ hổng RCE trên IIS là do các phiên bản lỗi thời của phần mềm hoặc hệ điều hành Windows. Những phiên bản cũ có thể chứa các lỗi bảo mật đã biết và dễ bị khai thác. Việc thực hiện cập nhật là hoàn toàn cần thiết:
Cách thực hiện:
- Sử dụng Windows Update:
+ Truy cập Settings > Update & Security > Windows Update, sau đó kiểm tra và cài đặt các bản cập nhật.
+ Đảm bảo các bản vá liên quan đến IIS được cài đặt đầy đủ.
- Kiểm tra phiên bản IIS:
+ Trên máy chủ, mở Command Prompt hoặc PowerShell, chạy lệnh:
Get-WindownFeature -Name Web-Server
+ Điều này sẽ hiển thị phiên bản IIS hiện tại. Nếu phiên bản này đã lỗi thời, cần nâng cấp lên phiên bản mới nhất.
- Theo dõi CVE (Common Vulnerabilities and Exposures):
+ Sử dụng cơ sở dữ liệu CVE như NVD để kiểm tra xem phiên bản IIS đang sử dụng có bất kỳ lỗ hổng nào không.
2.6.2 Cấu hình IIS an toàn Giới hạn quyền truy cập
Khi IIS chạy với quyền hạn cao như tài khoản SYSTEM, nó có quyền truy cập vào toàn bộ tài nguyên máy chủ. Điều này rất nguy hiểm nếu IIS bị tấn công.
- Thiết lập IIS sử dụng tài khoản hạn chế như IUSR hoặc Application Pool Identity:
+ Mở IIS Manager → Chọn ứng dụng hoặc Application Pool → Cấu hình tài khoản chạy ứng dụng.
- Sử dụng sandboxing để cô lập từng ứng dụng trên IIS:
+ Kích hoạt Application Pool Isolation để mỗi ứng dụng chạy trong một môi trường riêng biệt, giảm khả năng lây lan nếu một ứng dụng bị tấn công.
Ví dụ: Một ứng dụng web thương mại điện tử và một trang quản lý nội bộ nên được cấu hình trên các Application Pools riêng biệt để đảm bảo rằng chúng không ảnh hưởng lẫn nhau.
Vô hiệu hóa các mô-đun không cần thiết
IIS cung cấp nhiều mô-đun hỗ trợ, nhưng một số trong đó có thể gây rủi ro bảo mật nếu không sử dụng đúng cách, như WebDAV, CGI, hoặc FastCGI.
Cách thực hiện:
- Mở IIS Manager → Điều hướng đến Modules.
- Xem danh sách các mô-đun đang hoạt động và tắt các mô-đun không cần thiết.
- Tập trung vào các mô-đun cơ bản và loại bỏ những gì không phục vụ mục đích ứng dụng.
Bảo vệ thư mục nhạy cảm
Thư mục chứa tệp cấu hình hoặc tệp tải lên thường là mục tiêu hàng đầu của kẻ tấn công
Cách thực hiện:
- Sử dụng NTFS permissions để hạn chế quyền truy cập vào thư mục nhạy cảm.
- Đảm bảo thư mục tải lên không cho phép thực thi mã. Trong IIS Manager, đặt quyền Execute Permissions thành None cho thư mục đó.
2.6.3 Bảo vệ đầu vào người dùng
Đầu vào từ người dùng (form, URL parameters) là nơi dễ bị khai thác nhất để thực thi mã từ xa. Vì vậy, việc kiểm tra và lọc đầu vào là rất quan trọng
Cách thực hiện:
- Áp dụng kiểm tra đầu vào bằng whitelist: Chỉ cho phép các ký tự hợp lệ, chẳng hạn:
+ Tên: Chỉ cho phép ký tự chữ cái (a-z, A-Z).
+ Số điện thoại: Chỉ cho phép ký tự số (0-9).
- Loại bỏ hoặc mã hóa các ký tự đặc biệt trước khi xử lý. Ví dụ:
;, &, |, <, > nên được chuyển đổi thành mã HTML tương ứng (<, >).
- Sử dụng các thư viện bảo mật như OWASP ESAPI để kiểm tra đầu vào.
2.6.4 Quản lý tệp tải lên
Giới hạn loại tệp tải lên
Nhiều cuộc tấn công RCE bắt nguồn từ việc tải lên tệp mã độc.
Cách thực hiện:
- Chỉ cho phép tải lên các loại tệp an toàn như .jpg, .png. - Kiểm tra MIME type của tệp để xác thực loại tệp thực sự.
Vô hiệu hóa thực thi mã trong thư mục tải lên
Cách thực hiện:
- Đảm bảo rằng thư mục tải lên không cho phép thực thi mã bằng cách cấu hình quyền trên IIS Manager.
- Chỉnh sửa tệp cấu hình web.config để chặn các loại tệp cụ thể:
Hình 17: Chỉnh sửa tệp web.config để chặn các loại file cụ thể 2.6.5 Giám sát và phân tích nhật ký IIS
Theo dõi các hoạt động trên IIS có thể giúp phát hiện các cuộc tấn công tiềm ẩn.
Cách thực hiện:
Bật ghi nhật ký trong IIS Manager:
- Điều hướng đến Logging và kích hoạt nhật ký chi tiết.
Phân tích các yêu cầu đáng ngờ
Sử dụng công cụ phân tích nhật ký như Splunk hoặc ELK Stack để phát hiện các mẫu tấn công.