Trang chủ Về chúng tôi Giải pháp Dịch vụ Cloud Server Blog Liên hệ ngay
Next Step
Bài viết

Cấu hình Cloudflare WAF Managed Rules: Bộ lọc thông minh chặn tấn công web tự động

Người đăng: Next Step Team • Ngày đăng: 15/08/2026 Cập nhật: 28/10/2026

Web Application Firewall (WAF) là lớp lọc đứng giữa Internet và ứng dụng web của bạn, kiểm tra từng request trước khi cho phép nó chạm tới server gốc. Với WAF Managed Rules, Cloudflare đóng vai trò “đội ngũ bảo mật thuê ngoài” — liên tục cập nhật các bộ quy tắc chống lại những kiểu tấn công mới nhất, mà bạn không cần tự viết hay duy trì.


🛡️ WAF hoạt động như thế nào?

Cloudflare WAF lọc và giám sát toàn bộ traffic đi vào ứng dụng, dựa trên threat intelligence và machine learning từ lượng dữ liệu khổng lồ mà Cloudflare xử lý mỗi ngày trên toàn cầu. Mục tiêu là đảm bảo chỉ những request hợp lệ mới được phép chạm tới ứng dụng — qua đó tự động chặn các mối đe doạ mới nhất, bao gồm cả lỗ hổng zero-day chưa từng được công bố.

Traffic đến 📥 WAF Managed Rules SQLi · XSS · Zero-day Stolen credentials check 🖥️ Origin Server request độc hại Block / Challenge

📦 WAF Managed Rules bảo vệ trước những gì?

🆕 Zero-day vulnerabilities

Các lỗ hổng chưa được công bố chính thức — managed ruleset được Cloudflare cập nhật định kỳ ngay khi phát hiện kiểu tấn công mới.

🎯 Top-10 attack techniques

Các phương thức tấn công phổ biến nhất theo OWASP, bao gồm SQL injection, Cross-Site Scripting (XSS) và nhiều kỹ thuật khác.

🔑 Stolen/exposed credentials

Phát hiện việc sử dụng thông tin đăng nhập đã bị đánh cắp hoặc lộ ra ngoài, đối chiếu với cơ sở dữ liệu thông tin bị rò rỉ.

📤 Extraction of sensitive data

Ngăn chặn hành vi trích xuất dữ liệu nhạy cảm như thông tin giấy tờ tuỳ thân, thông tin thẻ ngân hàng từ ứng dụng.

Các bộ quy tắc managed ruleset được Cloudflare cập nhật định kỳ — bạn không cần tự theo dõi hay viết lại rule khi có kiểu tấn công mới xuất hiện.


📋 Bước 1 — Triển khai một Managed Ruleset

Đăng nhập Cloudflare dashboard → chọn tài khoản → chọn domain cần cấu hình → vào Security → WAF → Managed rules.

Tại đây, hai ruleset mặc định thường đã có sẵn ở trạng thái Execute: Cloudflare Managed Ruleset và Cloudflare OWASP Core Ruleset. Để triển khai thêm ruleset khác (ví dụ Exposed Credentials Check Ruleset), kéo xuống mục Managed Rulesets và bấm Deploy bên cạnh ruleset mong muốn.

Security → WAF → Managed rules 1. Execute — Cloudflare Managed Ruleset (Global) 2. Execute — Cloudflare OWASP Core Ruleset (Global) Managed Rulesets Cloudflare Exposed Credentials Check Ruleset Deploy

Sau khi bấm Deploy, ruleset mới sẽ xuất hiện trong danh sách với hành động Execute — nghĩa là quy tắc đã được kích hoạt và áp dụng ngay cho toàn bộ traffic của zone.

🔘 Bật/tắt một Managed Ruleset

Tại Security → WAF → Managed rules, mỗi ruleset có cột Enabled riêng — chỉ cần gạt nút toggle bên cạnh ruleset muốn bật hoặc tắt. Đây là cách nhanh nhất để tạm ngưng một ruleset cụ thể mà không cần xoá hẳn cấu hình đã thiết lập.


⚙️ Bước 2 — Cấu hình chi tiết bên trong một Managed Ruleset

Cấu hình một managed ruleset cho phép bạn định nghĩa hành động riêng cho từng quy tắc, tắt một số quy tắc cụ thể, hoặc giới hạn phạm vi áp dụng cho một tập con request bằng biểu thức lọc tuỳ chỉnh.

2.1 — Mở giao diện Configure deployment

Tại Managed rules, bấm vào tên ruleset (ví dụ Cloudflare Managed Ruleset) để mở trang Configure deployment. Trang này hiển thị phạm vi áp dụng (Execution scope — ví dụ “All incoming requests to domain.com”) và 2 lựa chọn cấu hình tổng quát: Ruleset action và Ruleset status, mặc định cả hai đều ở mức Default (giữ hành động gốc do Cloudflare định nghĩa cho từng rule).

Cloudflare Managed Ruleset will execute ↳ All incoming requests to sonic.com.vnRuleset action Default Ruleset status Default

2.2 — Tìm và chỉnh sửa từng quy tắc cụ thể

Dùng ô Search Rules để tìm theo mô tả, Rule ID hoặc lọc theo Tags (ví dụ: sqli, xss, wordpress, code-injection). Với mỗi rule trong kết quả, bạn có thể đổi Action qua dropdown — các lựa chọn thường gồm: Log (chỉ ghi nhận, không chặn), Block, Managed Challenge, JS Challenge, Interactive Challenge — hoặc bật/tắt toggle Status riêng cho rule đó.

Nếu lỡ đổi nhầm, mỗi rule có sẵn liên kết Reset to default để quay lại hành động gốc do Cloudflare định nghĩa.

vBulletin – SQLi – CVE-2020-12720 – beta sqli Log ▾ ✓ Đổi action: Managed Challenge / Block / JS Challenge / Interactive Challenge / Log

2.3 — Custom filter expression (tuỳ chọn)

Nếu muốn các quy tắc trong ruleset chỉ áp dụng cho một tập con request — thay vì toàn bộ traffic — hãy check vào Custom filter expression và khai báo điều kiện lọc. Sau khi cấu hình xong, bấm Save để lưu lại.


🔍 Bước 3 — Duyệt danh sách quy tắc trong một Managed Ruleset (Browse Rules)

Tại trang Configure deployment của một ruleset, kéo xuống mục Rule configuration và bấm Browse rules ở dưới cùng — toàn bộ danh sách rule nằm trong ruleset đó sẽ hiển thị, kèm bộ lọc theo mô tả, Rule ID hoặc tag. Đây là cách hữu ích để khám phá ruleset đang bảo vệ những gì trước khi quyết định tinh chỉnh.


📊 Bước 4 — Cấu hình hàng loạt nhiều quy tắc cùng lúc

Khi cần áp dụng cùng một hành động cho nhiều rule (ví dụ toàn bộ rule liên quan đến WordPress), việc sửa từng dòng sẽ rất mất thời gian. Cloudflare hỗ trợ chọn hàng loạt:

  • Lọc rule theo tag (ví dụ “wordpress”) hoặc từ khoá tìm kiếm
  • Tick checkbox ở từng dòng, hoặc tick checkbox tại header để chọn toàn bộ rule trên trang hiện tại
  • Bấm Select all <TOTAL> rules để chọn toàn bộ rule khớp điều kiện trên tất cả các trang
15 rules selected (of 30 filtered rules) Select all 30 rules Clear selection Set action Set status

Sau khi chọn xong, bấm Set action hoặc Set status để cập nhật đồng loạt cho tất cả rule đã chọn — các tuỳ chọn action gồm Managed Challenge, Block, JS Challenge, Interactive Challenge, Log, Default; status gồm Enabled, Disabled, Default. Bấm Next để xem lại danh sách, sau đó Save để áp dụng.

Lưu ý: nếu bạn lọc rule theo một tag cụ thể, hệ thống có thể hỏi liệu các rule mới được thêm vào tag đó trong tương lai (do Cloudflare cập nhật ruleset) có nên tự động áp dụng cùng cấu hình hay không.


🚧 Bước 5 — Xử lý False Positive

False positive xảy ra khi WAF chặn nhầm một request hợp lệ. Khi gặp tình huống này, Cloudflare gợi ý 3 hướng giải quyết theo thứ tự ưu tiên:

1️⃣ Thêm một Exception (khuyến nghị)

Exception cho phép bỏ qua việc thực thi WAF managed ruleset hoặc một số quy tắc cụ thể của ruleset, chỉ áp dụng cho những request thoả điều kiện nhất định — giải pháp tinh gọn nhất, không ảnh hưởng đến phần còn lại của hệ thống bảo vệ.

2️⃣ Điều chỉnh OWASP Managed Ruleset

Nếu request bị chặn do rule liên quan đến Inbound Anomaly Score Exceeded (mô tả 949110), bạn có thể tinh chỉnh ngưỡng điểm bất thường (anomaly score threshold) theo tài liệu cấu hình OWASP managed ruleset của Cloudflare.

3️⃣ Disable rule/ruleset tương ứng (chỉ khi cần)

Tắt hoàn toàn rule gây ra false positive sẽ giải quyết được vấn đề ngay, nhưng đồng thời làm giảm mức độ bảo mật tổng thể của website — chỉ nên dùng khi 2 phương án trên không khả thi.

➕ Hướng dẫn tạo một Exception

5.1 — Mở giao diện Add exception

Vào Security → WAF → Managed rules → bấm nút Add exception ở góc trên bên phải. Form gồm 3 phần: Exception name (đặt tên gợi nhớ), When incoming requests match… (điều kiện áp dụng) và Then… (hành động bỏ qua).

Add exception Exception name VGS(SONIC)_OWASP_Ex_IE_XSS_vgsholding.com When incoming requests match… Hostname contains sonic.com.vn Then… Skip specific rules from a Managed Ruleset Select ruleset

5.2 — Khai báo điều kiện khớp request

Tại mục Field / Operator / Value, chọn trường cần lọc (ví dụ Hostname, URI, IP Source Address…) và điều kiện so khớp (contains, equals…). Có thể nối nhiều điều kiện bằng And/Or. Khung Expression Preview sẽ hiển thị biểu thức tương ứng dưới dạng Rules language, ví dụ: (http.host contains "vgsholding.com") or (http.host contains "sonic.com.vn").

5.3 — Chọn loại exception tại mục “Then…”

Hai lựa chọn chính, sắp theo mức ưu tiên giảm dần:

  • Skip all remaining rules: bỏ qua toàn bộ rule còn lại của các bộ WAF managed ruleset cho request khớp điều kiện
  • Skip specific rules from a Managed Ruleset: chỉ bỏ qua một hoặc nhiều rule cụ thể mà bạn chọn từ một ruleset nhất định — bấm Select ruleset rồi Select rules để tìm và tick chọn rule cần bỏ qua (tìm theo mô tả, Rule ID, hoặc tag, ví dụ tìm “920460” để ra rule 920460: Abnormal character escapes in request)

5.4 — Cấu hình Log matching requests và triển khai

Gạt toggle Log matching requests nếu muốn tắt việc ghi nhận log cho các request khớp với exception (khi tắt, request khớp sẽ không hiển thị tại Security overview). Sau khi hoàn tất, bấm Deploy để áp dụng ngay, hoặc Save as Draft nếu chưa muốn triển khai.


📝 Bước 6 — Ghi nhận Log payload của các quy tắc bị kích hoạt

Chỉ tài khoản có quyền Super Administrator mới được phép bật cấu hình ghi log và giải mã payload trực tiếp trên dashboard. Thành viên khác trong team vẫn có thể giải mã được, miễn là họ có quyền xem log sự kiện và được giao giữ private key tương ứng.

WAF cho phép ghi lại nội dung request đã làm kích hoạt một quy tắc cụ thể trong managed ruleset — gọi là payload. Thông tin này đặc biệt hữu ích khi cần chẩn đoán vì sao một rule bị trigger, hoặc xác minh request đó có thực sự là tấn công hay chỉ là false positive.

6.1 — Mở danh sách Managed rules

Vào Security → WAF → Managed rules, tìm đúng ruleset đang chứa rule mà bạn muốn ghi lại payload (ví dụ Cloudflare Managed Ruleset hoặc OWASP Core Ruleset) rồi bấm vào tên ruleset đó để mở trang chi tiết.

6.2 — Xác định rule muốn theo dõi

Trang chi tiết hiển thị toàn bộ rule con bên trong ruleset (ví dụ các rule dạng Anomaly:Header:User-Agent – Missing hay Anomaly:Method – Unknown HTTP Method) cùng action và trạng thái Enabled. Việc ghi log payload không cấu hình riêng cho từng rule mà áp dụng cho cả deployment hiện tại của ruleset.

Configure deployment — danh sách rule con 920100 — Invalid HTTP request line Log ✓920120 — Multiple URL Encoding Detected Log ✓ 1 to 15 of 125 items Delete deployment Configure payload logging Cancel Save

6.3 — Mở liên kết Configure payload logging

Kéo xuống cuối trang cấu hình deployment, bấm Configure payload logging — liên kết này nằm cùng khu vực với các nút Delete deployment, Cancel và Save.

6.4 — Chọn cách tạo cặp khoá mã hoá

Hệ thống sẽ nhắc bạn đọc kỹ hậu quả của việc bật ghi log payload trước khi tiếp tục. Sau đó chọn một trong hai phương án:

  • Generate key pair using your web browser: trình duyệt tự sinh cặp khoá public/private ngay tại máy bạn — private key không bao giờ được gửi lên Cloudflare
  • Use my own public key: sử dụng public key được tạo sẵn từ công cụ dòng lệnh matched-data-cli, phù hợp khi team đã có quy trình quản lý khoá riêng
🌐 Trình duyệt của bạn 🔑 Public key Gửi lên Cloudflare để mã hoá log 🔐 Private key Chỉ hiện 1 lần — tự lưu giữ ☁️ Cloudflare 🚫 Không gửi lên server

6.5 — Lưu lại Private key

Nếu chọn tạo khoá trong trình duyệt, hệ thống hiển thị cùng lúc Public key và Private key — copy và cất Private key vào nơi an toàn (password manager, vault nội bộ của công ty…) vì nó chỉ hiện đúng một lần. Bấm Next rồi Done để hoàn tất bước này.

⚠️ Lưu ý: làm mất Private key đồng nghĩa bạn sẽ không bao giờ giải mã được những payload đã ghi nhận trước đó — Cloudflare không lưu trữ và cũng không thể khôi phục lại khoá này giúp bạn.

6.6 — Triển khai cấu hình

Bấm Deploy nếu đây là lần đầu bạn triển khai ruleset kèm cấu hình payload logging, hoặc Save nếu đang cập nhật cấu hình cho một ruleset đã được triển khai từ trước đó.


🔓 Bước 7 — Giải mã và xem nội dung Payload trên dashboard

Khi một rule đã bật payload logging bị kích hoạt, bạn có thể tra lại đúng phần request gây ra cảnh báo — rất hữu ích khi điều tra sự cố hoặc xác minh xem đó có thực sự là false positive hay không.

7.1 — Mở Security → Events

Tại Activity log, tìm sự kiện được kích hoạt bởi rule cần kiểm tra và bấm vào để mở rộng chi tiết — các thông tin như Ray ID, Method, Host, Path, Query string, IP address, ASN, Country, Action taken… đều hiển thị đầy đủ tại đây.

7.2 — Tìm khu vực Payload match

Trong phần chi tiết sự kiện, kéo xuống mục Payload match — Cloudflare ghi rõ rằng phần request gây ra hành động của WAF đã được ghi nhận (ở dạng mã hoá), kèm liên kết Decrypt payload log để xem nội dung gốc.

Security → Events Ray ID: 6039543df84840d1 Action taken: Block 🔒 Payload match (đã mã hoá) 🔑 Private key Decrypt payload log 🔓 Cleartext

7.3 — Nhập Private key để giải mã

Bấm Decrypt payload log, dán Private key đã lưu ở Bước 6.5 vào cửa sổ xuất hiện rồi bấm Decrypt. Nếu khoá đúng, nội dung payload — các tham số trong query string, request headers, body form values… — sẽ hiển thị ngay dưới dạng cleartext, giúp bạn xác định chính xác request đó là tấn công thật hay chỉ là false positive cần bổ sung exception.

💡 Nếu sau khi xem cleartext, bạn xác nhận đây là request hợp lệ bị chặn nhầm, hãy quay lại Bước 5 để tạo Exception thay vì tắt hẳn rule đang bảo vệ những request khác.


💡 Tổng kết nhanh từ Next Step

  • Giữ Cloudflare Managed Ruleset và OWASP Core Ruleset ở trạng thái Execute làm lớp bảo vệ nền tảng cho mọi website
  • Triển khai thêm Exposed Credentials Check nếu hệ thống có chức năng đăng nhập người dùng
  • Ưu tiên dùng Exception thay vì tắt hẳn ruleset khi gặp false positive — vừa giải quyết vấn đề, vừa giữ nguyên mức bảo mật cho phần traffic còn lại
  • Dùng tính năng cấu hình hàng loạt khi cần điều chỉnh nhiều rule cùng nhóm (ví dụ toàn bộ rule liên quan WordPress) để tiết kiệm thời gian
  • Bật payload logging có mã hoá khi cần điều tra sâu một rule bị kích hoạt liên tục, tránh disable rule một cách vội vàng
  • Lưu trữ Private key ngay sau khi tạo — khoá chỉ hiển thị một lần và không thể khôi phục, ảnh hưởng trực tiếp đến khả năng giải mã payload về sau

Cần hỗ trợ cấu hình WAF?

Đội ngũ Next Step hỗ trợ triển khai và tinh chỉnh Cloudflare WAF phù hợp với đặc thù ứng dụng của bạn — liên hệ (+84) 933 810 688 hoặc [email protected].

✓