CloudFlare là một dịch vụ CDN (Content Delivery Network) cung cấp nhiều tính năng bảo mật, trong đó có khả năng chặn truy cập từ quốc gia cụ thể. Tính năng này có thể được sử dụng để hạn chế truy cập từ quốc tế, và trong trường hợp này chỉ cho phép người dùng từ Việt Nam truy cập website.
Lý do chặn quốc tế
Có nhiều lý do để bạn muốn chặn truy cập từ quốc tế. Một số lý do phổ biến bao gồm:
- Bảo vệ khỏi tấn công DDoS: Các cuộc tấn công DDoS thường được thực hiện từ các quốc gia khác. Chặn truy cập từ quốc tế có thể giúp giảm thiểu nguy cơ bị tấn công DDoS.
- Tiết kiệm chi phí: Nếu bạn chỉ muốn website của mình được truy cập bởi người dùng Việt Nam, bạn có thể chặn truy cập từ quốc tế để tiết kiệm chi phí băng thông.
- Cung cấp nội dung theo khu vực: Nếu website của bạn cung cấp nội dung chỉ dành cho người dùng Việt Nam, bạn có thể chặn truy cập từ quốc tế để tránh người dùng từ các quốc gia khác truy cập và sử dụng nội dung không được phép.
Cách chặn quốc tế với CloudFlare
Tôi có một tên miền là quantrivps.com
, trước khi thực hiện thì tên miền này vẫn truy cập bình thường ở quốc tế. Như ảnh bên dưới đang trả về mã 200.
Bây giờ tôi sẽ thực hiện tạo các quy tắc sau để chặn. Để tạo bạn truy cập vào CloudFlare sau đó chọn Security => WAF => Create rule
Sau đó bạn cần thực hiện tạo 3 rule sau.
Rule 1: Chặn toàn bộ quốc tế
Bạn hãy tạo một rule với các giá trị như ảnh sau. Sau khi tạo xong thì nhận Save để lưu lại
Hoặc bạn bấm vào Edit expression và dán giá trị này vào.
(not ip.geoip.country in {"VN"})
Rule 2: Cho phép truy cập từ Việt Nam
Tiếp theo bạn hãy tạo một rule với các giá trị như ảnh sau. Sau khi tạo xong thì nhận Save để lưu lại
Hoặc bạn bấm vào Edit expression và dán giá trị này vào.
(ip.geoip.country in {"VN"})
Sau khi thiết lập xong 2 rule trên tôi thực hiện kiểm tra thì kết quả đã như mong muốn. Các quốc gia ngoài Việt Nam truy cập vào sẽ bị chặn và trả về mã 403. Còn ở Việt Nam truy cập sẽ trả về mã 200
Tuy nhiên nếu chỉ với 2 rule trên thì ngay cả Googlebot cũng bị chặn. Do đó nếu bạn cần BotGoole truy cập thì bạn hãy tạo thêm rule thứ 3.
Rule 3: Cho phép Googlebot truy cập
Trước khi cấu hình tôi sẽ kiểm tra Bot ở trang https://botsimulator.com/. Và kết quả trả về mã 403
Bạn hãy tạo một rule mới theo thông tin như ảnh bên dưới. Hoặc bạn bấm vào Edit expression và dán giá trị này vào.
(cf.client.bot) or (http.user_agent contains "Googlebot")
Tiếp theo bạn cần sắp xếp lại các quy tắc theo thư tự sau để hoạt động
- Allow Bot Google
- Allow VN
- Block QT
Và kết quả sau khi thực hiện, Botgoogle đã được đi qua.
Lưu ý
Khi chặn truy cập từ quốc tế, bạn cần lưu ý rằng điều này có thể ảnh hưởng đến lưu lượng truy cập của website. Nếu website của bạn có nhiều khách truy cập từ quốc tế, bạn có thể cân nhắc sử dụng giải pháp khác để bảo vệ website khỏi tấn công DDoS.
Kết luận
Chặn quốc tế với CloudFlare là một cách đơn giản và hiệu quả để hạn chế truy cập từ quốc tế. Tính năng này có thể được sử dụng để bảo vệ website khỏi tấn công DDoS, tiết kiệm chi phí băng thông hoặc cung cấp nội dung theo khu vực.
Nguồn tài liệu : https://dotrungquan.info/huong-dan-chan-quoc-te-voi-cloudflare/