Xem Nội Dung Ngay

Tăng cường bảo mật website Ghost với Cloudflare Firewall miễn phí

Cloudflare đã rất rộng rãi khi miễn phí cho người dùng cài đặt thêm 5 quy tắc bảo mật tường lửa Firewall cho website của bạn.

Cường Trần
Cường Trần
5 phút đọc
Tăng cường bảo mật website Ghost với Cloudflare Firewall miễn phí

Cloudflare cho phép bạn thêm tối đa 5 quy tắc cho tường lửa Firewall miễn phí hoàn toàn cho MỖI website. Dù Ghost CMS được xây dựng với khả năng bảo mật cao nhưng không phải vì vậy mà bạn chủ quan trước hacker và spam bot.

Ở chế độ mặc định, Cloudflare đã có bảo vệ website của bạn với DDOS (chống Brute Force Hack tương đối). Bạn còn được thưởng thêm với chế độ Fighter Bot Mode (bật thêm trong Tool) để lọc hạn chế bot spam.

Vì vậy, hầu hết các bạn hay bỏ qua tính năng cực quan trọng Firewall của Cloudflare. Kinh nghiệm cho thấy bạn không được lãng phí bất kỳ tính năng nào của Cloudflare (hầu hết đều hữu dụng) một khi đã bật Cloudflare Proxy.

Hãy tăng cường thêm một lớp bảo mật cực chất của Cloudflare với 5 quy tắc cài đặt sau tối ưu cho Ghost.

Lưu ý, trước khi làm theo hướng dẫn bạn cần đảm bảo rằng bạn đang dùng Cloudflare cho Ghost (đã bật sáng đám mây màu cam) và thứ tự của từng quy tắc.

Quy tắc 1: Chặn Crawler Bot xấu hoặc không cần thiết

Không ai muốn chặn Googlebot, Yandexbot hay Bingbot vì bạn cầu cho chúng thu thập dữ liệu website của bạn càng nhanh càng tốt.

Nhưng bên cạnh đó, có những con bot không có mục đích tốt cho bạn hoặc mục đích không rõ ràng, bạn cần chặn những vị khách không mời này vì nó đang làm hại web server của bạn.

Chặn Crawler Bot xấu hoặc không cần thiết
Danh sách Bad Bots = Block
(http.user_agent contains "MJ12bot") or (http.user_agent contains "SEMrushBot") or (http.user_agent contains "MauiBot") or (http.user_agent contains "python") or (http.user_agent contains "muckrack") or (http.user_agent contains "PetalBot") or (http.user_agent contains "AspiegelBot")
Copy và dán vào Edit expression

Các quy tắc trong bài viết bạn chỉ cần copy và dán vào Edit Expression thì tự động nó sẽ tạo quy tắc cho bạn như hình. Bạn không cần làm thủ công.

Quy tắc 2: Cho phép Bot phổ biến vào site của bạn

Các bot phổ biến sẽ bao gồm Googlebot, Bingbot, Yandexbot, Ahrefbots,...

Thực tế, quy tắc này tạo ra để đảm bảo các quy tắc khác không chặn những con bot này và quan trọng hơn là bạn hỗ trợ cho quy tắc 1 ở trên.

Làm sao bạn biết bot xấu hoặc không cần thiết?

Nhờ quy tắc này, bạn sẽ xem được các Logs (thông tin chi tiết kể cả khi Google đang crawl blog của bạn) từ đó bạn thêm dần dần vào quy tắc 1 ở trên tùy theo site và thị trường.

Cho phép Bot phổ biến vào site của bạn
Known Bots = Allow
(cf.client.bot)
Copy và dán vào Edit expression

Quy tắc 3: Chặn các request nguy hiểm từ IP xấu

Cloudflare có một cơ sở dữ liệu lưu trữ các IP xấu (Blacklist IP) của riêng họ và Cloudflare sẽ đánh giá nó dựa vào thang điểm Cloudflare Threat Score.

Bạn sẽ không rõ cách tính của họ như thế nào, nhưng bạn có thể cài đặt quy tắc dựa theo mẫu số chung như sau (số điểm được xem là nguy cơ cao từ hacker).

Chặn các request nguy hiểm từ IP xấu
Threat Score > 20 = Block
(cf.threat_score gt 20)
Copy và dán vào Edit expression

Quy tắc 4: Hạn chế các request có rủi ro

Đã là rủi ro thì bạn thà giết lầm hơn bỏ sót. Có điều bạn sẽ không chặn nó hoàn toàn mà là giảm khả năng sát thương của nó đến site bạn.

Bạn sẽ dùng tính năng JS Challenge để tạm giữ (delay) request đó trong 5 giây, sau đó mới cho phwsp truy cập. Cách này đã đủ nản lòng các bot tự động gây hại site bạn.

Cài đặt như sau.

Hạn chế các request có rủi ro
Threat Score > 10 = JS Challenge
(cf.threat_score gt 10)
Copy và dán vào Edit expression

Quy tắc 5: Bảo vệ trang đăng nhập Ghost

Mặc dù Ghost đã bảo vệ sẵn cho bạn trang đăng nhập admin với tính năng giới hạn đăng nhập sai (auto BAN). Ghost sẽ lock IP bạn nếu sai nhiều lần mật khẩu.

"Cẩn tắc vô áy náy"

Bạn nên phòng thủ thêm một lớp của Cloudflare thay vì dựa 100% vào Ghost và Server.

Bảo vệ trang đăng nhập Ghost
Ghost Admin URL + Truy cập tại Việt Nam = Capcha Challenge
(http.request.uri.path eq "/ghost/" and not ip.geoip.country in {"VN"})
Copy và dán vào Edit expression

Lời kết...

Nhắc bạn một lần nữa là bạn phải đảm bảo:

  1. Đã bật Cloudflare Proxy cho site để dùng Cloudflare Firewall.
  2. Bạn phải kéo thả theo đúng thứ tự, không đảo lộn thứ tự của các quy tắc.
Cloudflare Firewall Rule tối ưu cho Ghost
Thứ tự các quy tắc Cloudflare Firewall

Bạn nên loại trừ bot từ Github Action để deploy theme bằng Github không bị chặn bằng Firewall Tools như bên dưới. AS8075 là ASN của Microsoft.

Fire Tools loại trừ bot từ Github của Microsoft
Fire Tools loại trừ bot từ Github của Microsoft

Các quy tắc được sắp xếp theo độ ưu tiên từ trên xuống, quy tắc nào trên quy tắc nào sẽ có lý do của nó. Bạn không được đảo lộn thứ tự của quy tắc.

Firewall Rule không đơn giản để biết hết chuyên sâu, bạn không nên vọc nếu không hiểu rõ về nó.

Hướng Dẫn

Bạn có thể quan tâm

Tự tạo thông báo email khi có thành viên mới đăng ký bằng IFTTT

Hướng dẫn tự tạo thông báo email thời gian thực khi có thành viên mới đăng ký bằng IFTTT miễn phí.

Tự tạo thông báo email khi có thành viên mới đăng ký bằng IFTTT

Thủ thuật chuyển đổi "đồng loạt" mọi định dạng ảnh sang WebP

Hướng dẫn chuyển đổi "all-in-one" đồng loạt mọi định dạng ảnh cho bài viết sang webp với một lệnh đơn giản.

Thủ thuật chuyển đổi đồng loạt mọi định dạng ảnh sang WebP

Mẹo tạo popup thông báo đơn giản cho website Ghost

Hướng dẫn cách tạo Popup thông báo cho Ghost siêu nhanh và đơn giản.

Mẹo tạo popup thông báo đơn giản cho website Ghost
Cường Trần

Cường Trần

Cường chuyên viết về giải pháp liên quan đến WordPress và Ghost, là một How-to blogger thực chiến.