Chuyển đến nội dung chính (Skip to content)
CEH (Certified Ethical Hacker)

CEH Module 12: Hacking Web Servers và Kỹ thuật Kiện toàn Bảo mật

Phân tích chuyên sâu kiến trúc máy chủ web, giải phẫu lỗ hổng kinh điển IIS Unicode Directory Traversal, mô hình DMZ Bastion Host và quy trình kiện toàn Server Hardening.

Trong thời đại kinh tế số, máy chủ web (Web Server) đóng vai trò là "bộ mặt" và là cửa ngõ giao tiếp trực tuyến 24/7 của mọi tổ chức, cơ quan chính phủ và doanh nghiệp với toàn thế giới. Do phải mở cổng dịch vụ công khai ra Internet (cổng TCP 80 cho HTTP và TCP 443 cho HTTPS), máy chủ web luôn là mục tiêu tấn công hàng đầu và chịu áp lực thăm dò liên tục từ các tác nhân đe dọa trên không gian mạng.

Một khi máy chủ web bị xâm nhập thành công, kẻ tấn công không chỉ dừng lại ở việc thay đổi giao diện trang chủ (Defacement) để bôi nhọ uy tín doanh nghiệp, mà còn biến máy chủ này thành bàn đạp (Pivot Point) để leo thang đặc quyền, đột nhập sâu vào cơ sở dữ liệu khách hàng và kiểm soát toàn bộ hạ tầng mạng nội bộ. Trong chương trình Certified Ethical Hacker (CEH v12), Module 12 cung cấp cái nhìn toàn diện về phương pháp luận tấn công máy chủ web, mổ xẻ nguyên lý giải mã lỗi kép trong lỗ hổng kinh điển IIS Unicode Directory Traversal, phân tích quy trình quản lý bản vá Patch Management, và hướng dẫn xây dựng kiến trúc phòng thủ Bastion Host trong vùng phi quân sự DMZ kết hợp quy trình kiện toàn Server Hardening chuẩn CIS Benchmarks.

1. Vị thế Chiến lược và Các Vector Tấn công Máy chủ Web

Sở dĩ máy chủ web luôn là tâm điểm của các chiến dịch tấn công có chủ đích (APT) lẫn các cuộc tấn công tự động của botnet là bởi tính sẵn sàng liên tục và cấu trúc tích hợp đa tầng phức tạp của nó.

Các Điểm yếu Cốt lõi Dẫn đến Sự cố Máy chủ Web

Một máy chủ web hoàn chỉnh không hoạt động đơn độc mà là sự kết hợp của 4 lớp công nghệ: Phần cứng vật lý, Hệ điều hành (Windows Server, Linux), Phần mềm máy chủ web (Apache HTTP Server, Nginx, Microsoft IIS), và Ứng dụng web (mã nguồn PHP, ASP.NET, Java, Node.js). Kẻ tấn công có thể khai thác lỗ hổng ở bất kỳ tầng nào trong 4 tầng trên:

  • Lỗi cấu hình phần mềm máy chủ (Misconfiguration): Đây là nguyên nhân phổ biến nhất. Việc bật sẵn tính năng duyệt thư mục (Directory Browsing / Listing), giữ lại các trang web mẫu (Sample Scripts, Test CGI), sử dụng thông tin đăng nhập mặc định (Default Credentials), hoặc kích hoạt các mô-đun không sử dụng (như WebDAV) tạo ra những kẽ hở chết người cho hacker.
  • Lỗ hổng hệ điều hành và dịch vụ nền (OS & Service Vulnerabilities): Máy chủ chạy trên các phiên bản hệ điều hành lỗi thời chưa được cập nhật bản vá bảo mật (chẳng hạn như các lỗ hổng tràn bộ đệm trong dịch vụ RPC Locator, DNS Server hoặc SMB).
  • Thiếu quy trình Quản lý Bản vá (Flawed Patch Management): Sự chậm trễ trong việc áp dụng các bản vá bảo mật định kỳ và bản sửa lỗi khẩn cấp (Hotfixes) khiến máy chủ bị khai thác bởi các mã độc đã công khai trên Internet.
  • Lỗ hổng trong mã nguồn ứng dụng web: Lập trình viên không kiểm soát chặt chẽ tính hợp lệ của dữ liệu đầu vào (Input Validation), dẫn đến các đòn tấn công nghiêm trọng như SQL Injection, Cross-Site Scripting (XSS), Local File Inclusion (LFI) và Remote Code Execution (RCE).

Khái niệm Tấn công Thay đổi Giao diện (Website Defacement)

Một trong những hình thức tấn công trực quan và phổ biến nhất trên máy chủ web là Defacement (Bôi bẩn website). Đây là hành động kẻ tấn công đột nhập vào hệ thống tập tin của máy chủ web và ghi đè nội dung của trang chủ (index.html, default.aspx) bằng một trang web hoàn toàn khác.

Mục đích của việc deface trang web thường nhằm khoe khoang chiến tích trong giới ngầm (Hacker bragging), phát tán các thông điệp mang tính chất chính trị, tôn giáo, hoặc bôi nhọ uy tín thương hiệu của cơ quan chủ quản. Trong lịch sử an ninh mạng tại Việt Nam, hàng loạt cổng thông tin điện tử của các cơ quan nhà nước và doanh nghiệp lớn từng bị deface hàng loạt do các máy chủ chạy hệ điều hành Windows Server và phiên bản IIS cũ không được vá lỗi.

2. Giải phẫu Lỗ hổng Kinh điển: IIS Unicode Directory Traversal Exploit

Trong lịch sử các lỗ hổng bảo mật máy chủ web và giáo trình chuẩn của CEH, lỗ hổng IIS Unicode Directory Traversal (Mã định danh bảo mật MS00-078 và MS00-086) là trường hợp nghiên cứu điển hình nhất chứng minh tác hại khủng khiếp của việc diễn dịch sai dữ liệu đầu vào (Input Parsing Flaw).

Giải phẫu lỗ hổng IIS Unicode Directory Traversal và cơ chế thoát khỏi webroot
Sơ đồ 12.1: Chuỗi diễn dịch lỗi Unicode kép trong IIS 5: Vượt qua bộ lọc kiểm tra an ninh ban đầu, giải mã hai lần liên tiếp biến %255C thành dấu gạch chéo ngược, và thực thi trực tiếp cmd.exe.

Bối cảnh Lịch sử và Phạm vi Ảnh hưởng

Lỗ hổng ảnh hưởng trực tiếp đến máy chủ web Microsoft IIS phiên bản 4.0 và 5.0 được cài đặt mặc định trên hệ điều hành Windows NT 4.0 và Windows 2000 Server. Vào thời điểm bùng nổ của Internet, hàng triệu máy chủ triển khai Windows 2000 Server được đưa vào vận hành mà quản trị viên không hề biết rằng dịch vụ web IIS đi kèm có chứa lỗ hổng chết người này.

Cơ chế Kỹ thuật: Lỗi Giải mã Hai lần (Double URL Decoding Bug)

Về nguyên lý thiết kế, mã Unicode ra đời nhằm chuyển đổi các ký tự của mọi ngôn ngữ trên toàn cầu sang một định dạng số chung tương thích với chuẩn ASCII. Trong định dạng URL thông thường, các ký tự đặc biệt được mã hóa dưới dạng ký hiệu % kèm theo hai chữ số thập lục phân (Hexadecimal):

  • Dấu cách (Space) được mã hóa thành %20.
  • Dấu gạch chéo xuôi / (ASCII 0x2F) được mã hóa thành %2F.
  • Dấu gạch chéo ngược (ASCII 0x5C) được mã hóa thành %5C.

Để ngăn chặn người dùng từ Internet truy cập vào các thư mục hệ thống nhạy cảm nằm ngoài thư mục web gốc (C:inetpubwwwroot), IIS triển khai một bộ lọc an ninh (Path Security Filter). Bộ lọc này kiểm tra xem trong chuỗi đường dẫn URL có chứa các lệnh duyệt ngược thư mục (Directory Traversal) như ../ hoặc .. hay không. Nếu phát hiện, yêu cầu sẽ bị chặn ngay lập tức.

Tuy nhiên, các kỹ sư phát triển IIS đã mắc một sai lầm nghiêm trọng trong trình tự xử lý logic của phần mềm:

  1. Bước 1 - Kiểm tra An ninh Sớm: IIS thực hiện kiểm tra an ninh đường dẫn trước khi hàm giải mã Unicode được gọi. Kẻ tấn công không gửi chuỗi .. thông thường mà gửi chuỗi được mã hóa kép (Double Encoded): ..%255C..%255C. Vì ký tự %25 là mã của chính dấu %, bộ lọc an ninh của IIS không nhận ra đây là dấu gạch chéo ngược và cho phép yêu cầu đi qua bộ kiểm tra an toàn.
  2. Bước 2 - Hàm Giải mã Unicode Lần 1: Sau khi đã qua được cửa an ninh, chuỗi ký tự được chuyển đến hàm xử lý định dạng. Lần giải mã thứ nhất chuyển đổi %25 thành dấu %, biến chuỗi %255C thành %5C.
  3. Bước 3 - Hàm Giải mã Unicode Lần 2: Thay vì dừng lại, IIS tiếp tục thực hiện thêm một lượt giải mã thứ hai (Over-decoding). Lượt giải mã này chuyển đổi %5C thành ký tự gạch chéo ngược thực tế của hệ điều hành Windows.
  4. Bước 4 - Thoát khỏi Webroot và Thực thi Shell: Chuỗi ..%255C..%255C lúc này đã trở thành .... thực thụ, cho phép yêu cầu thoát ngược ra khỏi thư mục C:inetpubwwwrootscripts, đi thẳng vào thư mục hệ thống C:winntsystem32 và gọi tệp nhị phân dòng lệnh cmd.exe.

Cú pháp Khai thác Thực tế Qua Trình duyệt Web

Kẻ tấn công chỉ cần mở một trình duyệt web thông thường và gõ dòng lệnh URL sau vào thanh địa chỉ:

http://www.target-server.com/scripts/..%255C..%255Cwinnt/system32/cmd.exe?/c+dir+c:

Phân tích cú pháp:

  • /scripts/: Thư mục ảo mặc định của IIS có quyền thực thi kịch bản (Execute Permissions).
  • ..%255C..%255C: Lệnh duyệt ngược thư mục hai cấp (DIRUP) vượt thoát khỏi wwwroot về thư mục gốc ổ đĩa C:.
  • winnt/system32/cmd.exe: Trỏ trực tiếp đến trình thông dịch dòng lệnh của Windows.
  • ?/c+dir+c:: Tham số truyền vào cho lệnh cmd (cmd.exe /c dir c:) để liệt kê toàn bộ cấu trúc tệp tin trên ổ cứng.

Ngay lập tức, toàn bộ danh sách tập tin và thư mục trên ổ đĩa C: của máy chủ mục tiêu xuất hiện rõ ràng trên cửa sổ trình duyệt của kẻ tấn công. Từ đây, hacker có thể dễ dàng tải lên mã độc Web Shell (thông qua lệnh TFTP hoặc FTP dòng lệnh), chỉnh sửa tệp tin, xóa dữ liệu và chiếm toàn quyền điều khiển máy chủ cao nhất (SYSTEM Privileges).

3. Tấn công Web Server Qua Lỗ hổng Dịch vụ Hệ thống và WebDAV

Bên cạnh lỗi Unicode, máy chủ web còn thường xuyên bị thâm nhập thông qua các dịch vụ mở rộng và các khiếm khuyết trong hạ tầng mạng đi kèm.

1. Lỗ hổng Dịch vụ WebDAV (Web Distributed Authoring and Versioning)

WebDAV là một phần mở rộng của giao thức HTTP cho phép người dùng biên tập, quản lý và tải tệp tin lên máy chủ web từ xa như một ổ đĩa mạng chia sẻ. Trên các phiên bản Microsoft IIS 6.0 chạy trên Windows Server 2003, WebDAV được tích hợp sẵn:

  • Nhiều quản trị viên không cấu hình phân quyền cẩn thận, cho phép người dùng nặc danh (Anonymous) có quyền thực thi các phương thức HTTP nguy hiểm như PUT, MOVE, PROPFIND và DELETE.
  • Kẻ tấn công sử dụng lệnh HTTP PUT để tải một tệp mã độc (ví dụ shell.txt) lên thư mục web, sau đó dùng lệnh MOVE để đổi tên tệp tin thành shell.asp hoặc shell.cer;.asp nhằm vượt qua bộ lọc phần mở rộng tập tin và kích hoạt thực thi mã từ xa.
  • Các lỗ hổng tràn bộ đệm nghiêm trọng trong module xử lý WebDAV của IIS 6.0 (như CVE-2017-7269) cho phép kẻ tấn công chiếm quyền điều khiển máy chủ mà không cần xác thực bất kỳ tài khoản nào.

2. Tấn công Leo thang Qua Các Dịch vụ Phụ trợ (DNS, FTP, Telnet)

Trong thực tế, nhiều doanh nghiệp triển khai mô hình máy chủ "tất cả trong một" (All-in-One Server): cài đặt đồng thời Web Server, DNS Server, FTP Server và Active Directory Domain Controller trên cùng một máy chủ vật lý nhằm tiết kiệm chi phí:

  • Nếu kẻ tấn công khai thác thành công lỗ hổng dịch vụ DNS Server (như lỗi tràn bộ đệm RPC qua Metasploit Framework), họ lập tức chiếm được đặc quyền cao nhất của hệ điều hành (SYSTEM) và từ đó kiểm soát luôn máy chủ web.
  • Nếu quản trị viên sử dụng giao thức không mã hóa như Telnet hoặc FTP để quản trị máy chủ từ xa, kẻ tấn công nghe lén trên đường truyền mạng (Sniffing) có thể đánh cắp mật khẩu quản trị và đăng nhập vào web server.

4. Quản lý Bản vá (Patch Management) và Ứng phó Lỗ hổng Zero-Day

Một trong những nguyên nhân hàng đầu khiến các máy chủ web bị chiếm quyền không phải là do thiếu các bản vá bảo mật, mà là do quy trình quản lý bản vá (Patch Management) bị chậm trễ hoặc áp dụng sai phương pháp.

Phân biệt Patch và Hotfix

  • Patch (Bản vá tổng quát): Là một gói cập nhật phần mềm toàn diện do nhà sản xuất phát hành định kỳ (ví dụ: ngày Patch Tuesday của Microsoft vào thứ Ba tuần thứ hai của mỗi tháng). Patch giải quyết đồng thời nhiều lỗ hổng bảo mật đã được công bố, tối ưu hóa hiệu năng và đã qua kiểm thử tương thích kỹ lưỡng.
  • Hotfix (Bản sửa lỗi khẩn cấp): Là một bản vá đơn lẻ được biên dịch nhanh chóng để giải quyết ngay lập tức một sự cố nghiêm trọng cụ thể hoặc một lỗ hổng bảo mật đang bị khai thác ồ ạt trong thực tế, thường chỉ cung cấp cho các khách hàng gặp phải sự cố trực tiếp.

Quy trình Quản lý Bản vá Chuẩn mực cho Máy chủ Web

Tuyệt đối không bao giờ cập nhật bản vá trực tiếp lên máy chủ đang chạy dịch vụ chính thức (Production Server) mà không qua thử nghiệm, vì một bản cập nhật không tương thích có thể làm sập toàn bộ dịch vụ web của doanh nghiệp. Quy trình chuẩn mực bao gồm 4 giai đoạn:

  1. Xác định và Đánh giá (Identify & Assess): Đội ngũ an ninh theo dõi liên tục các bản tin thông báo lỗ hổng bảo mật (Security Bulletins) từ Microsoft, Red Hat, Apache và đánh giá mức độ rủi ro (Critical, High, Medium) đối với các dịch vụ đang chạy trên máy chủ.
  2. Kiểm thử trên Môi trường Giả lập (Testing on Staging): Triển khai bản vá lên môi trường Staging/UAT (có cấu hình phần mềm và cơ sở dữ liệu giống hệt Production) để kiểm tra xem ứng dụng web có bị lỗi tương thích, giảm hiệu năng hay xung đột thư viện hay không.
  3. Triển khai theo Lô (Phased Deployment): Sau khi kiểm thử thành công, tiến hành áp dụng bản vá lên cụm máy chủ Production theo từng đợt (Rolling Update) vào các khung giờ thấp điểm (đêm khuya, cuối tuần), duy trì tính sẵn sàng liên tục của dịch vụ.
  4. Xác minh và Đánh giá Lại (Verify & Rollback Plan): Quét lại máy chủ bằng các công cụ quét lỗ hổng để đảm bảo điểm yếu đã được khắc phục hoàn toàn. Luôn chuẩn bị sẵn bản sao lưu (Snapshot / Backup) để quay lui (Rollback) ngay lập tức nếu sự cố phát sinh.

Chiến lược Ứng phó Lỗ hổng Chưa có Bản vá (Zero-Day Vulnerability)

Khi một lỗ hổng bảo mật nghiêm trọng bị hacker công bố trên mạng nhưng nhà sản xuất chưa kịp phát hành bản vá chính thức (Lỗ hổng 0-Day), quản trị viên cần triển khai các biện pháp phòng ngừa thủ công:

  • Tạm thời vô hiệu hóa các mô-đun hoặc dịch vụ đang bị dính lỗi (ví dụ: tắt dịch vụ WebDAV hoặc tắt tính năng URL rewrite có vấn đề).
  • Cấu hình các quy tắc lọc lưu lượng khẩn cấp trên Tường lửa Ứng dụng Web (WAF) để nhận diện và chặn đứng các chuỗi ký tự khai thác đặc thù (Virtual Patching).
  • Siết chặt phân quyền truy cập hệ thống tập tin và cô lập máy chủ trong mạng con riêng biệt để hạn chế thiệt hại nếu bị thâm nhập.

5. Các Công cụ Kiểm định An ninh và Khai thác Máy chủ Web

Trong thực hành đánh giá an ninh mạng và kỳ thi CEH, các công cụ sau đây là tiêu chuẩn đánh giá năng lực:

  • Metasploit Framework: Nền tảng khai thác lỗ hổng mạnh mẽ nhất thế giới. Tích hợp sẵn hàng nghìn module khai thác (Exploit Modules) và tải trọng (Payloads) nhắm vào các lỗ hổng máy chủ web của IIS, Apache, WebLogic, Tomcat và JBoss.
  • N-Stalker Web Application Security Scanner: Bộ công cụ quét và đánh giá toàn diện các điểm yếu của ứng dụng và máy chủ web, phát hiện các lỗi cấu hình máy chủ, lỗi phân quyền tập tin và các lỗ hổng SQL Injection, XSS, Buffer Overflow.
  • Nikto: Công cụ dòng lệnh mã nguồn mở chuyên quét máy chủ web để phát hiện các tệp tin nguy hiểm tiềm tàng, các tập lệnh mẫu lỗi thời, cấu hình máy chủ lỏng lẻo và kiểm tra phiên bản phần mềm có lỗ hổng đã biết.
  • Nessus (Tenable): Hệ thống quét lỗ hổng toàn diện hàng đầu thế giới, cung cấp các báo cáo đánh giá bảo mật chi tiết và hướng dẫn các bước khắc phục cho máy chủ web và hệ điều hành.
  • OWASP HTTP Post Tool: Công cụ chuyên dụng để kiểm thử khả năng chịu đựng của máy chủ web trước các đòn tấn công từ chối dịch vụ chậm (Slowloris, Slow POST).

6. Phương pháp Kiện toàn Bảo mật Máy chủ Web (Server Hardening)

Để biến máy chủ web từ một mục tiêu dễ bị tổn thương thành một pháo đài vững chắc (Bastion Host), quản trị viên hệ thống cần thực thi quy trình kiện toàn bảo mật nghiêm ngặt theo khuyến nghị của Center for Internet Security (CIS Benchmarks).

Kiến trúc mạng vùng phi quân sự DMZ và máy chủ Web Bastion Host an toàn
Sơ đồ 12.2: Kiến trúc mạng phân vùng DMZ tiêu chuẩn: Hai lớp tường lửa biên cô lập máy chủ Web Bastion Host, ngăn chặn hoàn toàn việc thâm nhập ngang vào cơ sở dữ liệu nội bộ.

1. Thiết kế Kiến trúc Mạng Phân vùng DMZ (Demilitarized Zone)

Một nguyên tắc kiến trúc bất di bất dịch: Không bao giờ đặt máy chủ web và máy chủ cơ sở dữ liệu (Database Server) trên cùng một máy tính hoặc trong cùng một phân vùng mạng nội bộ.

  • Xây dựng Vùng DMZ với 2 lớp Tường lửa: Máy chủ web được đặt trong vùng DMZ, đứng giữa Tường lửa Ngoài (External Firewall) và Tường lửa Trong (Internal Firewall).
  • Chính sách Tường lửa Ngoài: Chỉ cho phép lưu lượng Internet truy cập vào vùng DMZ qua hai cổng dịch vụ bắt buộc là TCP 80 (HTTP) và TCP 443 (HTTPS). Toàn bộ các cổng dịch vụ khác đều bị khóa chặt.
  • Chính sách Tường lửa Trong: Chỉ cho phép máy chủ web trong DMZ kết nối đến máy chủ Database trong mạng nội bộ qua cổng cơ sở dữ liệu duy nhất (như TCP 1433 cho MS SQL hoặc TCP 3306 cho MySQL). Tuyệt đối cấm toàn bộ các kết nối từ DMZ sang các máy tính của nhân viên, máy chủ chia sẻ tệp tin hoặc Domain Controller.
  • Hiệu quả phòng ngự: Nếu hacker khai thác thành công một lỗ hổng ứng dụng web và chiếm được quyền điều khiển máy chủ web, chúng sẽ bị cô lập hoàn toàn bên trong vùng DMZ và không thể mở rộng tấn công sang các hệ thống dữ liệu trọng yếu trong mạng nội bộ.
Quy trình kiện toàn bảo mật máy chủ web theo chuẩn 4 khối an ninh
Sơ đồ 12.3: Bảng kiểm tra 4 khối kiện toàn máy chủ web: Hệ điều hành, Dịch vụ Web, Phân quyền tệp tin NTFS và Quản lý bản vá kèm nhật ký.

2. Bảng Kiểm tra Kiện toàn Máy chủ Web Chi tiết (Hardening Checklist)

Khối 1: Kiện toàn Hệ điều hành (Operating System Hardening)

  • Đổi tên tài khoản quản trị mặc định (Administrator thành một tên bất kỳ không mang tính gợi ý), vô hiệu hóa hoàn toàn tài khoản Guest.
  • Áp dụng chính sách mật khẩu mạnh (tối thiểu 12 - 16 ký tự bao gồm chữ hoa, chữ thường, số, ký tự đặc biệt) và chính sách khóa tài khoản tạm thời sau 5 lần đăng nhập thất bại.
  • Gỡ bỏ hoặc vô hiệu hóa toàn bộ các dịch vụ không cần thiết trên máy chủ: dịch vụ chia sẻ tệp tin (SMB), dịch vụ in ấn, FTP Server, và đặc biệt là dịch vụ WebDAV.
  • Tắt tính năng NetBIOS qua TCP/IP và khóa cổng UDP 137, 138, TCP 139, 445 trên giao diện mạng công khai.

Khối 2: Cấu hình Phần mềm Máy chủ Web (Web Service Hardening)

  • Vô hiệu hóa Duyệt Thư mục (Directory Browsing / Listing): Ngăn chặn kẻ tấn công xem cấu trúc cây thư mục và danh sách các tệp tin lưu trên máy chủ khi không có tệp index.html.
  • Ẩn Tiêu đề Phiên bản Máy chủ (Server Banner Masking): Tắt các tiêu đề phản hồi HTTP tiết lộ phiên bản phần mềm (ví dụ: cấu hình ServerSignature Off và ServerTokens Prod trên Apache; xóa bỏ tiêu đề X-Powered-By và Server trên IIS và Nginx). Điều này gây khó khăn tối đa cho các công cụ quét tự động của hacker trong việc xác định phiên bản để tìm mã khai thác.
  • Xóa sạch Tài nguyên Mẫu: Xóa bỏ toàn bộ các tệp tin hướng dẫn mặc định, thư viện mẫu (Sample Apps), kịch bản kiểm tra CGI và các trang web thử nghiệm được cài đặt sẵn.
  • Tùy biến Trang Thông báo Lỗi: Cấu hình trang lỗi tùy chỉnh cho các mã 403, 404, 500 nhằm ngăn chặn việc hệ thống in ra các thông báo lỗi chi tiết của cơ sở dữ liệu hoặc thông tin gỡ lỗi (Stack Trace) làm lộ lọt cấu trúc mã nguồn.

Khối 3: Phân quyền Hệ thống Tập tin (File System Permissions & Least Privilege)

  • Nguyên tắc Đặc quyền Tối thiểu (Least Privilege): Dịch vụ máy chủ web phải được chạy dưới danh nghĩa một tài khoản dịch vụ chuyên biệt có đặc quyền tối thiểu (như www-data trên Linux hoặc IIS_IUSRS trên Windows), tuyệt đối không bao giờ chạy dịch vụ web dưới quyền root hoặc SYSTEM / Administrator.
  • Tách biệt Rõ ràng Quyền Ghi và Quyền Thực thi:
    • Thư mục chứa mã nguồn ứng dụng web: Cấp quyền Đọc và Thực thi (Read & Execute), cấm quyền Ghi (Write).
    • Thư mục cho phép người dùng tải tệp lên (Upload Directory): Cấp quyền Đọc và Ghi (Read & Write), nhưng cấm tuyệt đối quyền Thực thi (No Execute). Điều này ngăn chặn việc kẻ tấn công tải lên một tệp mã độc Web Shell (như shell.php, shell.asp) rồi gọi lệnh thực thi trực tiếp từ trình duyệt.

Khối 4: Giám sát, Nhật ký và Tường lửa Ứng dụng Web (WAF)

  • Triển khai Tường lửa Ứng dụng Web (WAF) đứng trước máy chủ web (như ModSecurity, AWS WAF, Cloudflare WAF) để kiểm tra sâu gói tin HTTP ở Tầng 7, tự động chặn lọc các chuỗi ký tự tấn công phổ biến như Directory Traversal (..%255C, ../), SQL Injection và Cross-Site Scripting.
  • Kích hoạt tính năng ghi nhật ký truy cập (W3C Extended Logging trên IIS hoặc Combined Log Format trên Apache), lưu trữ đầy đủ địa chỉ IP nguồn, thời gian, phương thức HTTP, mã phản hồi và chuỗi User-Agent.
  • Đồng bộ và đẩy toàn bộ nhật ký sự kiện về máy chủ quản lý thông tin và sự kiện an ninh tập trung (SIEM) độc lập để ngăn chặn kẻ tấn công xóa dấu vết sau khi thâm nhập.

7. Tổng kết và Trọng tâm Ôn luyện Kỳ thi CEH

Chuyên đề Hacking Web Servers trong kỳ thi Certified Ethical Hacker đòi hỏi sự kết hợp toàn diện giữa tư duy phân tích lỗ hổng phần mềm và năng lực thiết kế kiến trúc phòng thủ mạng. Những trọng tâm kiến thức bắt buộc phải ghi nhớ:

  • Vị thế của Web Server: Là thành phần kết nối công khai 24/7, vừa là mục tiêu deface website vừa là bàn đạp pivot để tấn công sâu vào cơ sở dữ liệu nội bộ.
  • Lỗ hổng IIS Unicode Exploit (MS00-078): Phát sinh do lỗi giải mã URL hai lần (Double Decoding Bug) khiến chuỗi %255C vượt qua bộ kiểm tra an ninh ban đầu và biến thành dấu gạch chéo ngược , cho phép duyệt ngược ra khỏi wwwroot để thực thi cmd.exe từ xa.
  • Rủi ro từ WebDAV: Cho phép các phương thức HTTP nguy hiểm (PUT, MOVE) tạo điều kiện cho hacker tải lên và kích hoạt mã độc Web Shell nếu không được vá lỗi hoặc tắt bỏ.
  • Quy trình Patch Management: Phân biệt Patch (bản vá định kỳ tổng quát) và Hotfix (bản sửa lỗi khẩn cấp); luôn kiểm thử trên môi trường Staging trước khi triển khai lên Production.
  • Mô hình phòng thủ DMZ: Đặt Web Server trong vùng DMZ có 2 lớp tường lửa cách ly; kiểm soát nghiêm ngặt chiều kết nối sang máy chủ cơ sở dữ liệu nội bộ.
  • Bộ quy tắc Hardening CIS: Vô hiệu hóa Directory Browsing, ẩn thông tin phiên bản máy chủ (Server Tokens Off), chạy dịch vụ web bằng tài khoản đặc quyền tối thiểu, và cấm quyền thực thi trên các thư mục tải tệp tin lên.
CEH Module 12: Hacking Web Server và Kỹ thuật Kiện toàn | thanhnh.id.vn