Cách Akamai, Cloudflare chống lại 1 triệu thằng như tôi: Phân tích kỹ thuật và chiến lược đối phó

8 tháng 2, 2026
Cách Akamai, Cloudflare chống lại 1 triệu thằng như tôi: Phân tích kỹ thuật và chiến lược đối phó

Phân tích chuyên sâu về cách các hệ thống Anti-bot như Akamai và Cloudflare sử dụng Machine Learning, TLS Fingerprinting, và Behavioral Entropy để phát hiện và chặn hàng triệu bot mỗi ngày.

Nhiều người mới làm crawl/cheat thường nghĩ: “Tao chỉ cần thêm vài giây delay, đổi cái Proxy, giả lập chuột là Cloudflare nó coi như người thật”.

Sai lầm nghiêm trọng. Đó là tư duy lỗi thời.

Khi bạn đối đầu với Akamai hay Cloudflare, bạn không phải đang đối đầu với một bộ code cứng nhắc hay một Rule đơn giản. Bạn đang đối đầu với một cỗ máy học (Machine Learning) khổng lồ, được cấp dữ liệu từ hàng tỷ user thật và có khả năng phân tích đa tầng từ Network cho đến hành vi người dùng.

Dưới đây là phân tích chuyên sâu về cách chúng “vặt lông” hàng triệu con bot mỗi ngày — và các điểm mà bạn cần phải vượt qua.


1. Nó không tìm thằng “Xấu”, nó tìm thằng “Quá Tốt” (Behavioral Entropy)

Người thật luôn làm những việc vô nghĩa, có sự đứt đoạn và không tối ưu. Đây là thứ các hệ thống Anti-bot gọi là Behavioral Entropy (Độ hỗn loạn hành vi).

Bot — Hành vi quá “sạch” (Clean), đường đi tối ưu (Optimized Path), ít lỗi (Error-free), luôn hoàn thành mục tiêu.

Người thật — Click nhầm, lướt qua nhanh rồi quay lại, mở tab rồi bỏ đó, đọc một bài báo mất 5 phút nhưng bài sau chỉ mất 10 giây, gõ sai chính tả, di chuột ngẫu nhiên (hoặc không di), thỉnh thoảng gián đoạn kết nối.

Điểm yếu cần khắc phục

  • Thiếu Noise: Hành vi của bot thiếu đi “nhiễu” (noise) tự nhiên của con người.
  • Tính Predictable cao: Chuỗi hành vi lặp lại quá dễ đoán.

2. Trận chiến nằm ở “Lớp dưới” (Network & TLS Fingerprinting)

Bạn có thể set User-Agent thành bất cứ thứ gì, nhưng dấu vết kỹ thuật ở các lớp thấp hơn (TCP/IP, TLS) mới là thứ quan trọng.

TCP/IP Fingerprinting (p0f)

Nhận diện OS và loại thiết bị dựa vào cấu trúc của gói tin TCP/IP (TTL, Window Size, MSS, Don't Fragment bit). Một máy chủ Linux (datacenter) sẽ có TCP stack khác hẳn Windows hay macOS.

TLS Fingerprinting (JA3/JA4)

Đây là một trong những tầng lọc mạnh nhất. Khi một ứng dụng client (trình duyệt, curl, Python requests) bắt tay (handshake) với server qua TLS, nó sẽ gửi một chuỗi các thông số về các Cipher Suites được hỗ trợ, TLS Extensions, Elliptic Curves… Chuỗi này là duy nhất cho từng trình duyệt/thư viện HTTP cụ thể.

Ví dụ: Một trình duyệt Chrome thật có một JA3/JA4 Fingerprint rất đặc trưng. Nếu User-Agent của bạn là Chrome nhưng JA3/JA4 Fingerprint lại là của thư viện requests của Python, hoặc Golang http client — bạn sẽ bị chặn ngay lập tức.

Kỹ thuật đối phó

Cần sử dụng các thư viện HTTP client hỗ trợ TLS Impersonation (ví dụ: undetected-chromedriver cho Python, curl-impersonate hoặc các thư viện Go/Node.js custom TLS stack) để giả lập Fingerprint của trình duyệt thật.


3. Hệ thống không hỏi “Mày là ai?”, nó hỏi “Mày từ đâu tới?” (Infrastructure & Reputation)

Nguồn gốc kết nối của bạn là một yếu tố cực kỳ quan trọng trong việc đánh giá rủi ro ban đầu.

ASN Reputation

Akamai/Cloudflare phân loại ASN (Autonomous System Number) thành nhiều cấp độ:

LoạiMức rủi ro
Residential (dân dụng)🟢 Thấp
Mobile (di động)🟢 Thấp
Business (doanh nghiệp)🟡 Trung bình
Datacenter/Hosting🔴 Cao
VPN/Proxy🔴 Rất cao

IP History & Blacklists

Lịch sử lạm dụng của một IP hoặc subnet (từng bị report tấn công DDoS, spam, botnet) sẽ khiến nó bị đưa vào danh sách đen.

Geolocation & Latency

Độ trễ (latency) và vị trí địa lý của IP có khớp với ngôn ngữ, múi giờ và các thông số khác của trình duyệt không.

Điểm yếu cần khắc phục

  • Sử dụng Proxy kém chất lượng: Các Proxy miễn phí hoặc Datacenter Proxy thường đã nằm trong danh sách đen hoặc có điểm rủi ro cao ngay từ đầu.
  • Thiếu đa dạng IP: Chỉ sử dụng một vài dải IP ít ỏi.

4. Trí nhớ dài hạn: “Tao biết mày là ai từ hôm qua” (Persistent Fingerprinting)

Đổi IP không còn là giải pháp thần thánh. Anti-bot sử dụng nhiều kỹ thuật để nhận diện “vân tay” của bạn qua các phiên và các địa chỉ IP khác nhau.

Browser Fingerprinting

JavaScript trên client-side sẽ thu thập rất nhiều thông số độc đáo từ trình duyệt của bạn:

  • Canvas Fingerprint — Cách trình duyệt render đồ họa 2D
  • WebGL — Các thông số GPU
  • Audio Context — Đặc điểm xử lý âm thanh
  • Fonts — Danh sách font chữ đã cài
  • Headers — Múi giờ, ngôn ngữ, độ phân giải màn hình…

Tổ hợp các thông số này tạo ra một ID duy nhất, ít bị thay đổi.

HTTP/2 & HTTP/3 Fingerprinting

Các version HTTP mới cũng có cách “bắt tay” (SETTINGS frame, stream priorities) có thể tạo ra Fingerprint duy nhất.

Cookies & Local Storage

Dù bạn có xóa cookie, hệ thống vẫn có thể ghi lại một số ID vào Local Storage hoặc sử dụng các kỹ thuật “evercookie” khác.

Kỹ thuật đối phó

  • Selenium/Playwright với Undetected Chromedriver: Bước tối thiểu để vượt qua Browser Fingerprinting, vì nó vá các lỗ hổng mà Anti-bot dùng để nhận diện browser tự động.
  • Randomize Browser Profile: Mỗi phiên bot nên có một “profile” trình duyệt hoàn toàn mới và độc lập.
  • Handle Headers: Các HTTP Headers phải nhất quán và có thứ tự như một trình duyệt thật (Connection, Accept-Encoding, Accept-Language, Referer).

5. Chiến thuật “Giam lỏng” (Delayed Blocking & Adversarial AI)

Đây là đòn tâm lý và kỹ thuật cao cấp. Anti-bot không luôn chặn bạn ngay lập tức.

Learning Phase

Để bạn chạy một thời gian để thu thập đủ dữ liệu về hành vi, Fingerprint. Nó xây dựng một hồ sơ rủi ro cho bạn.

Adversarial AI

Các hệ thống này sử dụng AI để học hỏi hành vi của bot và tự động điều chỉnh Rule chặn. Bot của bạn càng cố gắng giả lập, AI càng học được cách phát hiện những hành vi giả lập đó.

Chặn tại Entry Point

Sau khi xác định bạn là bot, ở lần truy cập tiếp theo, bạn sẽ bị chặn ngay từ lớp kết nối TLS hoặc bị đổ Captcha liên tục.

Điểm yếu cần khắc phục

  • Tính lặp lại: Bot thường lặp lại một mẫu hành vi.
  • Thiếu sự thích nghi: Bot không thay đổi hành vi dựa trên phản hồi của hệ thống.

6. Kết luận: Muốn thắng, đừng cố “vượt qua” — hãy “Đồng hóa”

Nếu bạn coi việc chống Bot là một trò chơi trốn tìm, bạn sẽ thua vì Cloudflare/Akamai có hàng triệu con mắt và bộ não AI ở khắp mọi nơi.

Chiến lược đúng đắn không phải là tìm cách “Bypass” (vượt qua), mà là “Assimilation” (Đồng hóa):

  1. Hòa nhập vào đám đông — Mục tiêu không phải là “làm được việc”, mà là “làm việc mà không ai để ý”. Tốc độ, sự hiệu quả không phải ưu tiên hàng đầu.

  2. Tạo Entropy tự nhiên — Thêm vào những hành vi vô nghĩa, những cú click sai, những quãng nghỉ ngẫu hứng, những đoạn scroll không cần thiết, mở thêm tab vô định… như một con người đang mệt mỏi hoặc xao nhãng.

  3. Đầu tư hạ tầng chất lượng — Sử dụng Residential Proxy hoặc Mobile Proxy từ các nhà cung cấp uy tín.

  4. Impersonate mọi tầng — Không chỉ User-Agent, mà phải giả lập cả TLS Fingerprint, HTTP Headers, Browser Fingerprint (Canvas, WebGL…).

  5. Randomize Profile liên tục — Mỗi phiên truy cập của bạn nên là một cá thể “người dùng” mới, với các Fingerprint độc lập và ngẫu nhiên.

  6. Liên tục thích nghi — Hệ thống Anti-bot liên tục học. Bạn cũng phải học và thay đổi chiến thuật.


Cuối cùng, hãy nhớ: Anti-bot không làm việc vì đạo đức hay công bằng. Nó làm việc vì kinh tế. Nếu chi phí để nó chặn bạn đắt hơn giá trị mà bạn “phá” hệ thống của nó, bạn thắng. Nhưng để đạt được ngưỡng đó, bạn cần biến “con bot” của mình thành một “ảo ảnh người dùng” cực kỳ tinh vi — và tốn kém để vận hành.