Đến nội dung chính
Infra Notes
DOCS / UTF-8
Reference // Tra cứu kỹ thuậtcloudflare

Cloudflare — Security, Cache và Rules

DOC PATH reference/cloudflare/security

Doc Type
Reference
Technology
cloudflare
Status
Active
Tags
cloudflarewafcacherules

Tra cứu cách Cloudflare kiểm tra request, giảm tải origin bằng cache và điều khiển URL/backend bằng Rules Engine. Đọc DNS, TLS và kiến trúc kết nối để xác định đường traffic trước khi điều chỉnh security hoặc cache.

Ba cơ chế bổ sung cho nhau nhưng giải quyết các vấn đề khác nhau:

Cơ chế Câu hỏi vận hành Tín hiệu chính
WAF Request có nội dung hoặc thuộc tính độc hại không? Path, method, header, body, signature và rule match.
Rate Limiting Một nhóm request có vượt ngưỡng trong khoảng thời gian xác định không? Số request theo counting characteristic và period.
DDoS Protection Có flood/attack cần tự động giảm thiểu không? Lưu lượng, hành vi và dấu hiệu tấn công ở L3/L4/L7.

WAF làm việc ở Layer 7/HTTP; origin nhận request trực tiếp sẽ nằm ngoài WAF của Cloudflare proxy.

Thành phần Dùng cho Điểm cần nhớ
Custom Rules Logic do quản trị viên định nghĩa theo IP, host, path, method, country, header… Gồm expression và action; đánh giá theo thứ tự trong phase.
Managed Rules Chữ ký và logic do Cloudflare duy trì, như SQLi, XSS và khai thác CVE. Giảm nhu cầu tự quản lý signature; vẫn cần theo dõi false positive.
Skip Bỏ qua đúng rule, ruleset, phase hoặc security product được chọn và được hỗ trợ. Không phải cho phép request vượt qua toàn bộ hệ thống bảo vệ.
Block / Managed Challenge Chặn hoặc yêu cầu vượt qua challenge khi rule match. Là terminating action; có thể dừng việc đánh giá các rule/phase sau.

Custom Rules có trên các gói Free, Pro, Business và Enterprise nhưng giới hạn khác nhau. Gói Free chỉ có Free Managed Ruleset; không đồng nghĩa có toàn bộ Cloudflare Managed Ruleset và OWASP Core Ruleset. Xem Custom Rules và phạm vi WAF theo gói.

Skip trong Custom Rules có thể bỏ qua các phase được hỗ trợ như Rate Limiting, Managed Rules và Super Bot Fight Mode. Bot Fight Mode không thể được skip bằng Custom Rules. Không coi một Skip rule là cách tắt DDoS Protection. Xem Security features interoperability.

Rate Limiting đếm request theo một hoặc nhiều characteristic trong một period, rồi áp dụng action khi đạt ngưỡng. Đây là policy ở cấp HTTP request, không phải giới hạn số TCP connection.

Ví dụ minh họa cho endpoint đăng nhập:

Path: /login
Characteristic: IP
Threshold: 10 requests
Period: 60 seconds
Action: Block hoặc Challenge, tùy gói và yêu cầu ứng dụng
Tham số Ý nghĩa
Match expression Xác định request thuộc phạm vi rule, ví dụ endpoint đăng nhập.
Counting characteristic Xác định các request được gom vào cùng bộ đếm; IP là lựa chọn phổ biến.
Threshold / period Ngưỡng request và khoảng thời gian đếm.
Action Cách xử lý khi đạt ngưỡng, trong các action gói dịch vụ hỗ trợ.
Mitigation timeout Khoảng thời gian áp dụng giảm thiểu; khác counting period.

Rate Limiting không bảo đảm đúng số request được phép tới origin: cập nhật counter có thể trễ và một số request vượt ngưỡng vẫn đi qua trước khi mitigation có hiệu lực. Không dùng nó làm cơ chế quota giao dịch chính xác. Tham khảo tham số, giới hạn và availability của Rate Limiting.

Layer Ví dụ tấn công Metric hoặc tín hiệu thường xem
L3 Volumetric IP flood. Gbps, packets per second (pps).
L4 SYN/UDP flood. pps, connection rate và connection state.
L7 HTTP flood vào endpoint có chi phí xử lý cao. Requests per second (RPS), path, latency, CPU origin và tải database.

HTTP DDoS Attack Protection được bật tự động trên các gói Cloudflare; mức tùy chỉnh action/sensitivity phụ thuộc gói. Khi có spike hợp lệ, đối chiếu traffic và sự kiện giảm thiểu trước khi điều chỉnh. Xem HTTP DDoS Attack Protection.

Bảo vệ tại Cloudflare chỉ hữu ích cho đường traffic thực sự đi qua dịch vụ đó. Cần bảo vệ đường direct-to-origin để tránh bỏ qua proxy; xem bảo vệ origin.

Proxied không đồng nghĩa cached. Một request có thể sử dụng TLS, WAF và Rules tại Cloudflare nhưng vẫn cần origin xử lý. Cloudflare không cache HTML/JSON mặc định; cache eligibility còn phụ thuộc loại nội dung, header và rule. Xem Default cache behavior.

Lần đầu, chưa có object: User → Edge (MISS) → Origin → Edge có thể lưu → User
Object fresh đã có: User → Edge (HIT) ────────────────────────────→ User

Đọc header CF-Cache-Status để phân biệt các tình huống; đối chiếu định nghĩa trong Cloudflare cache responses.

Status Hiểu nhanh
HIT Object có trong cache và response được trả từ cache.
MISS Request eligible nhưng object chưa có tại cache đang xét; origin cung cấp response.
DYNAMIC Request không eligible ngay tại request time.
BYPASS Request eligible ban đầu nhưng response/config ngăn lưu cache, như no-store hoặc private.
EXPIRED Object đã hết freshness; response được phục vụ từ origin.
REVALIDATED Origin xác nhận object không đổi; Cloudflare dùng cached body.
UPDATING Trả object stale trong khi cập nhật từ origin ở background.
STALE Trả object đã hết freshness khi không thể lấy bản mới từ origin.
NONE/UNKNOWN Không có trạng thái cache thông thường, như response do Edge tạo trước cache.

BYPASS và DYNAMIC là hai quyết định khác thời điểm. Khi chẩn đoán, đọc cả Cache-Control và rule đang match; không chỉ nhìn Proxy Status của DNS record. Các directive và Cache Rules có thể thay đổi hành vi; đặc biệt, no-cache yêu cầu revalidation và không đồng nghĩa no-store. Xem Origin Cache Control.

TTL Nằm ở đâu Quyết định
DNS TTL Recursive resolver. Bao lâu được cache câu trả lời DNS.
Edge Cache TTL Cloudflare Edge. Bao lâu object HTTP được xem là fresh tại Cloudflare.
Browser Cache TTL Browser/client. Bao lâu browser có thể dùng object local trước khi cần kiểm tra lại.

TTL là thời gian freshness, không bảo đảm object luôn được giữ ở Edge đến hết TTL: object có thể bị eviction. Xem Retention vs Freshness và Edge and Browser Cache TTL.

Khái niệm Vai trò Ví dụ
Cache eligibility Quyết định request có đi vào cache flow không. Bypass cho nội dung tài khoản hoặc nội dung có session.
Cache key Quyết định các request nào cùng đại diện một object. Cùng path nhưng query/version khác nhau có thể tạo variant.
TTL và cache-control Quyết định freshness và việc lưu/revalidate response. Static asset versioned có thể dùng TTL phù hợp dài hơn nội dung thay đổi thường xuyên.

Query string được đưa vào cache key mặc định; /img.jpg?v=1 và /img.jpg?v=2 có thể là hai object. Tracking parameter như utm_source có thể phân mảnh cache nếu origin trả cùng nội dung. Chỉ gom các variant khi đã chứng minh tham số đó không làm response khác nhau. Khả năng tùy biến key còn phụ thuộc gói; xem Cache keys.

ETag và Last-Modified là validator để kiểm tra object sau khi hết freshness. Request điều kiện có thể dùng If-None-Match hoặc If-Modified-Since; origin trả 304 Not Modified khi bản lưu còn đúng, giúp dùng lại body thay vì tải toàn bộ object.

Object hết freshness → Edge hỏi origin bằng validator
→ 304: dùng lại body và cập nhật freshness
→ nội dung đổi: lấy response mới

stale-while-revalidate cho phép phục vụ nội dung stale trong cửa sổ được phép khi refresh ở background. Cơ chế này phù hợp với public content chấp nhận độ trễ cập nhật, cần tránh cho dữ liệu nhạy cảm đòi hỏi freshness tuyệt đối. Header và Cache Rules quyết định có được serve stale hay không; tham khảo Revalidation.

Loại rule Câu hỏi nó trả lời Ví dụ và tác động
Redirect Rule Client phải đi tới URL nào? /old trả 301 tới /new; browser theo redirect bằng request mới.
Transform / URL Rewrite URL request được xử lý nội bộ như thế nào? Đổi /public thành /internal ở Edge, address bar không đổi.
Configuration Rule Cloudflare dùng setting nào cho request này? Override SSL/TLS mode hoặc setting được hỗ trợ theo host/path.
Origin Rule Cloudflare kết nối backend nào và bằng cách nào? Override resolved hostname, destination port, Host header hoặc SNI nếu gói hỗ trợ.

Configuration Rules chỉ thay đổi những setting trong danh sách được hỗ trợ. Với Origin Rules, destination port override có trên các gói; DNS record, Host header và SNI override hiện yêu cầu Enterprise. Đổi Host header không tự đổi địa chỉ backend: đó là vai trò của DNS record override.

Đặc điểm Redirect Rewrite
Browser URL đổi? Có, khi client theo redirect. Không do rewrite nội bộ.
Có HTTP 3xx? Có. Không do thao tác rewrite.
Browser tạo request thứ hai? Có, khi theo redirect. Không do thao tác rewrite.
Mục tiêu chính URL chuyển nơi, SEO, client routing. Internal/backend routing.

Cloudflare định nghĩa phase; quản trị viên không tự chuyển một loại rule sang phase khác. Sơ đồ dưới đây chỉ giữ một phần các request phase liên quan để tra cứu thứ tự tương đối:

Single Redirect → URL Rewrite → Configuration → Origin Rules
→ WAF Custom → Rate Limiting → WAF Managed → Cache Rules
→ Cache lookup → Origin nếu cần

Pipeline đầy đủ còn có URL normalization, các phase nội bộ, Bot/Access, Bulk Redirects, request header transforms và các tính năng khác. Single Redirects và Bulk Redirects có phase khác nhau. Nếu request bị chặn/challenge/redirect tại một bước, nó có thể dừng trước các bước sau. Xem Phases list.

URL Rewrite có thể thay đổi path/query mà WAF hoặc Origin Rule ở phase sau nhìn thấy. Phải kiểm tra giá trị request tại đúng phase, thay vì chỉ dùng URL trong address bar để kết luận rule có match hay không.

Dùng Cloudflare Trace để xem cấu hình rule nào match, rồi đối chiếu với Security Events và log thực tế khi điều tra incident. Khi sửa, thay đổi một nhóm nguyên nhân, thu hẹp phạm vi expression và kiểm chứng lại cả request hợp lệ lẫn trường hợp cần chặn. Quy trình thu thập bằng chứng nằm trong Vận hành và xử lý sự cố.