Trong thời đại số hóa hiện nay, bảo mật website là yếu tố quan trọng hàng đầu giúp bảo vệ dữ liệu và duy trì hoạt động trực tuyến ổn định. Một trong những giải pháp hiệu quả và phổ biến nhất được nhiều doanh nghiệp và cá nhân tin dùng chính là tường lửa ứng dụng web (WAF) của Cloudflare. Cloudflare WAF không chỉ giúp ngăn chặn các cuộc tấn công mạng như SQL Injection, Cross-site Scripting (XSS), mà còn hỗ trợ giảm thiểu rủi ro từ các truy cập độc hại, bảo vệ website khỏi các lỗ hổng bảo mật.
Đặc biệt, Cloudflare cung cấp phiên bản WAF miễn phí với nhiều tính năng thiết yếu, rất phù hợp cho những ai mới bắt đầu hoặc có nhu cầu bảo vệ website cơ bản mà không tốn chi phí. Bài viết này sẽ hướng dẫn chi tiết cách cài đặt tường lửa Cloudflare WAF miễn phí một cách nhanh chóng và đơn giản, giúp bạn dễ dàng nâng cao mức độ an toàn cho trang web của mình ngay hôm nay.
Cloudflare WAF là gì?
Cloudflare WAF (Web Application Firewall) là một dịch vụ tường lửa ứng dụng web do Cloudflare cung cấp, giúp bảo vệ các trang web và ứng dụng khỏi các cuộc tấn công mạng phổ biến như:
- SQL Injection
- Cross-Site Scripting (XSS)
- DDoS (tấn công từ chối dịch vụ)
- Các lỗ hổng bảo mật khác
Cloudflare WAF hoạt động bằng cách giám sát và lọc lưu lượng truy cập đến ứng dụng web, chặn các yêu cầu độc hại trước khi chúng đến được máy chủ.

Tính năng chính của Cloudflare WAF
- Bảo vệ theo quy tắc được quản lý: Cloudflare cung cấp các bộ quy tắc bảo mật được cập nhật liên tục để phát hiện và chặn các mối đe dọa mới nhất.
- Tùy chỉnh quy tắc: Người dùng có thể tạo hoặc điều chỉnh các quy tắc riêng để phù hợp với yêu cầu bảo mật của mình.
- Hiệu suất cao: Cloudflare WAF hoạt động trên nền tảng mạng lưới toàn cầu của Cloudflare, đảm bảo tốc độ và độ ổn định khi lọc lưu lượng.
- Tích hợp dễ dàng: Tích hợp trực tiếp với dịch vụ DNS và CDN của Cloudflare, giúp triển khai nhanh chóng và dễ dàng.
- Báo cáo và giám sát: Cung cấp thông tin chi tiết về lưu lượng và các cuộc tấn công bị chặn để người quản trị dễ dàng theo dõi.
Bạn có thể xem chi tiết về các quy tắc được quản lý (Managed Rules) của Cloudflare WAF tại trang chính thức!
Điểm hạn chế của Cloudflare WAF miễn phí
Cloudflare WAF miễn phí là giải pháp bảo mật phổ biến, tuy nhiên vẫn tồn tại một số hạn chế cần lưu ý. Trước hết, khi sử dụng Cloudflare WAF miễn phí, bạn bắt buộc phải dùng Cloudflare CDN (đám mây vàng), điều này hạn chế sự linh hoạt trong việc tùy chỉnh cấu hình mạng. Ngoài ra, phiên bản miễn phí chỉ cho phép tạo tối đa 5 rules bảo mật, không đủ đáp ứng nhu cầu bảo vệ phức tạp của các doanh nghiệp lớn. Quan trọng hơn, các tính năng nâng cao so với Cloudflare Enterprise bị giới hạn rõ rệt, khiến khả năng phát hiện và ngăn chặn các cuộc tấn công mạng tinh vi giảm đi đáng kể.

Với những hạn chế này, lời khuyên dành cho doanh nghiệp là nên lựa chọn giải pháp hosting hoặc VPS tích hợp Cloudflare Enterprise để đảm bảo an toàn tối ưu. Ví dụ, hosting doanh nghiệp Rocket.net cung cấp miễn phí Cloudflare Enterprise, giúp doanh nghiệp tận dụng đầy đủ các chức năng bảo mật nâng cao mà không tốn thêm chi phí. Bên cạnh đó, nếu sử dụng VPS như SpeedyPage, doanh nghiệp nên kết hợp plugin cache FlyingPress cùng FlyingCDN – nền tảng dựa trên Cloudflare Enterprise – nhằm tăng tốc website đồng thời nâng cao khả năng bảo vệ khỏi các mối đe dọa mạng.

Tóm lại, việc đầu tư vào các dịch vụ có tích hợp Cloudflare Enterprise sẽ giúp doanh nghiệp vừa tối ưu hiệu suất website, vừa đảm bảo an toàn thông tin hiệu quả hơn nhiều so với việc sử dụng Cloudflare WAF miễn phí truyền thống. Đây là giải pháp toàn diện cho nhu cầu bảo mật và phát triển bền vững của doanh nghiệp hiện nay.
Hướng dẫn cài đặt Cloudflare WAF Free
Đầu tiên là đăng nhập vào Cloudflare => Security => Security Rules và bấm Create Rules (như hình ảnh bên dưới). Vì là bản miễn phí chỉ cho cài 5 rules nên chúng ta sẽ cài 1 số rules phù hợp với các website phổ thông.

Cho phép các BOT tốt
Quy tắc “cho phép Bot tốt” giúp bạn mở quyền truy cập hoàn toàn, không giới hạn cho các bot mà bạn tin tưởng, bao gồm cả những bot bạn thêm thủ công lẫn những bot được Cloudflare xác nhận an toàn.
Cloudflare cung cấp thông tin chi tiết về các bot trong các danh mục bot đã được xác minh như:
- Kiến thức về Bot đã xác minh của Cloudflare (Verified Bots KB)
- Bot đã xác minh trên Cloudflare Radar (Cloudflare Radar Verified Bots)
Mặc dù bạn có thể tùy chỉnh danh sách này theo nhu cầu riêng, nhưng nhìn chung Cloudflare đã làm rất tốt trong việc cho phép các bot hợp pháp hoạt động thông qua các nhóm Known Bot và Verified Bot.
Về việc tạo danh sách trắng (Whitelisting)
Trong bộ quy tắc này, tôi không đưa vào danh sách cho phép các dịch vụ bên thứ ba vì muốn xác định chính xác những dịch vụ nào chưa được Cloudflare liệt kê trong các quy tắc Known Bots hoặc Verified Bots. Nhiều dịch vụ bên thứ ba mà chúng ta sử dụng có thể đã được Cloudflare bao phủ, nhưng tôi cần kiểm tra kỹ hơn. Vì mỗi người dùng sử dụng các dịch vụ khác nhau, tôi rất mong bạn thử nghiệm trên một số trang web khách hàng của mình rồi phản hồi lại cho tôi. Tôi đã định tạo danh sách IP của Cloudflare, nhưng gặp khó khăn khi Cloudflare không chấp nhận một số địa chỉ IPv6.
Ở phần Edit expression bạn dán đoạn code bên dưới vào là được!
(cf.client.bot) or (cf.verified_bot_category in {"Search Engine Crawler" "Search Engine Optimization" "Monitoring & Analytics" "Advertising & Marketing" "Page Preview" "Academic Research" "Security" "Accessibility" "Webhooks" "Feed Fetcher"}) or (http.user_agent contains "letsencrypt" and http.request.uri.path contains "acme-challenge")

Thử thách các trình thu thập có hại
Quy tắc này được thiết kế để chặn các bot quá mức kiên trì. Trong khi nó hiệu quả ngăn chặn nhiều bot giả, nó cũng có thể chặn các bot thu thập dữ liệu SEO có tính chất hung hăng.
Tương tự cách làm như trên!
(http.user_agent contains "yandex") or (http.user_agent contains "sogou") or (http.user_agent contains "semrush") or (http.user_agent contains "ahrefs") or (http.user_agent contains "baidu") or (http.user_agent contains "python-requests") or (http.user_agent contains "neevabot") or (http.user_agent contains "CF-UC") or (http.user_agent contains "sitelock") or (http.user_agent contains "crawl" and not cf.client.bot) or (http.user_agent contains "bot" and not cf.client.bot) or (http.user_agent contains "Bot" and not cf.client.bot) or (http.user_agent contains "Crawl" and not cf.client.bot) or (http.user_agent contains "spider" and not cf.client.bot) or (http.user_agent contains "mj12bot") or (http.user_agent contains "ZoominfoBot") or (http.user_agent contains "mojeek") or (ip.geoip.asnum in {135061 23724 4808} and http.user_agent contains "siteaudit")
Ở phần Edit expression bạn dán đoạn code bên dưới vào là được!

Thử thách các nhà cung cấp lớn / quốc gia
Quy tắc này giải quyết hai vấn đề chính. Nó quản lý các kết nối thách thức từ các máy chủ VPS được lưu trữ trên Google Cloud, Amazon EC2 và Azure, cũng như các lượt truy cập từ bên ngoài quốc gia của bạn.
Tin tặc và kẻ gửi thư rác thường sử dụng các máy chủ VPS từ Google, Amazon và Azure để tiến hành các cuộc tấn công nhanh vào các trang web hoặc tiêu tốn tài nguyên bằng cách quét trang web. Các máy chủ này có thể hoạt động trong một ngày hoặc lâu hơn, tiêu tốn tài nguyên và gây ra mối đe dọa cho trang web của bạn.
Ở phần Edit expression bạn dán đoạn code bên dưới vào là được!
(ip.geoip.asnum in {7224 16509 14618 15169 8075 396982} and not cf.client.bot and not cf.verified_bot_category in {"Search Engine Crawler" "Search Engine Optimization" "Monitoring & Analytics" "Advertising & Marketing" "Page Preview" "Academic Research" "Security" "Accessibility" "Webhooks" "Feed Fetcher" "Aggregator"} and not http.request.uri.path contains "acme-challenge")
Và tùy chọn như hình bên dưới!

Thử thách Path / quản lý VPN
Quy tắc này giải quyết hai vấn đề chính: quản lý các kết nối thử thách từ các nhà cung cấp VPN và giám sát truy cập vào các đường dẫn cụ thể (wp-login.php và xmlrpc.php).
Mặc dù người dùng hợp pháp cũng sử dụng VPN, nhưng hacker và spammer thường lợi dụng chúng. Theo kinh nghiệm của tôi, tác động tiêu cực từ những người truy cập ác ý vượt trội hơn lợi ích dành cho người dùng hợp pháp. Do đó, tôi hạn chế quyền truy cập đầy đủ vào trang web cho các nhà cung cấp VPN bằng cách triển khai các thử thách được quản lý qua Cloudflare.
Ở phần Edit expression bạn dán đoạn code bên dưới vào là được!
(ip.geoip.asnum in {60068 9009 16247 51332 212238 131199 22298 29761 62639 206150 210277 46562 8100 3214 206092 206074 206164 213074}) or (http.request.uri.path contains "wp-login")
Và tùy chọn như hình bên dưới!

Chặn các Web Host / Paths / TOR
Quy tắc này dựa trên danh sách các nhà cung cấp dịch vụ web mà tôi đã tổng hợp trong nhiều năm. Mặc dù không bao phủ hết tất cả, nhưng nó bao gồm hầu hết các nhà cung cấp lớn. Ngoài ra, quy tắc cũng chặn truy cập đến các đường dẫn nhạy cảm như xmlrpc.php, wp-config.php và wlwmanifest, đồng thời ngăn chặn các AI Crawler và bot nằm trong danh sách Bot đã xác minh của Cloudflare.
Trong một số trường hợp hiếm hoi, có thể có người sử dụng VPN tùy chỉnh hoặc chạy VMWARE trên các nhà cung cấp như Digital Ocean, phoenixNAP (thay vì các nhà cung cấp lớn hơn), và quy tắc này sẽ chặn họ. Với những trường hợp đó, bạn có thể cân nhắc để quy tắc ở chế độ “Managed Challenge” thay vì “Block”. Tuy nhiên, điều này rất ít khi xảy ra.
Theo kinh nghiệm của tôi, rủi ro từ việc không chặn cao hơn lợi ích, nên tôi luôn giữ quy tắc ở chế độ “Block” và áp dụng tương tự cho trang thương mại điện tử lớn nhất mà tôi quản lý. Kể từ khi áp dụng việc chặn VPN, các vụ gian lận trên trang đã giảm đáng kể.
Tôi không cho phép truy cập qua TOR hoặc các nút thoát TOR khi dùng Cloudflare. Dù người dùng hợp pháp có thể sử dụng TOR, nhưng vì kẻ xấu cũng dùng nên tôi chọn cách chặn hoàn toàn.
Ở phần Edit expression bạn dán đoạn code bên dưới vào là được!
(ip.geoip.asnum in {26496 31815 18450 398101 50673 7393 14061 205544 199610 21501 16125 51540 264649 39020 30083 35540 55293 36943 32244 6724 63949 7203 201924 30633 208046 36352 25264 32475 23033 32475 212047 32475 31898 210920 211252 16276 23470 136907 12876 210558 132203 61317 212238 37963 13238 2639 20473 63018 395954 19437 207990 27411 53667 27176 396507 206575 20454 51167 60781 62240 398493 206092 63023 213230 26347 20738 45102 24940 57523 8100 8560 6939 14178 46606 197540 397630 9009 11878}) or (http.request.uri.path contains "xmlrpc") or (http.request.uri.path contains "wp-config") or (http.request.uri.path contains "wlwmanifest") or (cf.verified_bot_category in {"AI Crawler" "Other"}) or (ip.geoip.country in {"T1"})
Và tùy chọn như hình bên dưới!

Whitelisting Server IP
Vì chúng ta đang chặn một số máy chủ website, nên việc thêm địa chỉ IP máy chủ web của bạn vào phần Công cụ trong mục Bảo mật—WAF trên Cloudflare là bắt buộc để đảm bảo các công việc định kỳ (cron jobs) của bạn tiếp tục hoạt động.

Tắt Onion Routing
Như đã đề cập ở trên, tôi không cho phép TOR đến các nút thoát TOR, vì vậy tôi cũng tắt Onion Routing của Cloudflare. Cài đặt này nằm dưới tab mạng trên Cloudflare.

Lời kết
Cloudflare WAF miễn phí là giải pháp bảo mật hiệu quả cho các website nhỏ, giúp ngăn chặn các cuộc tấn công phổ biến như SQL Injection, XSS mà không phải đầu tư chi phí lớn. Tuy nhiên, phiên bản miễn phí chỉ cho phép tạo tối đa 5 rules và bị giới hạn một số tính năng nâng cao so với bản trả phí. Điều này khiến Cloudflare WAF miễn phí phù hợp hơn với các trang web cá nhân hoặc doanh nghiệp nhỏ, không yêu cầu cấu hình phức tạp hay bảo vệ chuyên sâu.
Nếu bạn cần một giải pháp bảo mật toàn diện, hiệu suất cao cùng khả năng mở rộng, nên cân nhắc sử dụng dịch vụ hosting doanh nghiệp như Rocket.net hoặc FlyingCDN (sử dụng với FlyingPress), nơi cung cấp Cloudflare CDN Enterprise với chi phí hợp lý và nhiều tính năng nâng cao. Việc lựa chọn đúng giải pháp sẽ giúp website của bạn không chỉ an toàn mà còn tối ưu về hiệu suất và trải nghiệm người dùng. Đừng quên cập nhật và theo dõi các thiết lập bảo mật thường xuyên để đảm bảo website luôn được bảo vệ tốt nhất.