Security Policies
Tab Security Policies cho phép FSP Admin cấu hình bảo mật đa lớp cho domain qua pipeline 3 bước được đánh giá từ trái sang phải: IP Rules → Rate Limit → WAF/OWASP. Tất cả thay đổi được gom lại (draft state) và chỉ áp dụng khi click "Save Changes".
Tab Security Policies chỉ truy cập được khi WAF = On. Nếu WAF Off, toàn bộ khu vực tab bị thay bằng panel "WAF is turned off" — cần bật lại WAF trước.
Truy cập Security Policies
- Từ Domain Details, click tab "Security Policies". Pipeline header "How Rules Are Evaluated" hiển thị với 3 step button và 2 nút "Discard" / "Save Changes" (disabled khi chưa có thay đổi).
Thứ tự đánh giá rule (trái → phải, first match wins):
IP Rules → Rate Limit → WAF / OWASP (Custom → FPT Managed → OWASP CRS) → Origin
- IP Allow → bypass Rate Limit và WAF, đến Origin ngay
- IP Block → reject 403, dừng đánh giá
- Rate Limit match → Block (403) hoặc Challenge
- WAF/OWASP match → Block / Allow / Challenge / Log only
Step 1 — IP Rules
- Click step button "1. IP Rules" (mặc định active). Bảng IP Rules hiển thị.

Bảng gồm: Priority · IP/CIDR · Action (Allow xanh / Block đỏ) · Note · Added At — sắp xếp theo Priority tăng dần.
Thêm IP Rule
- Click "Add IP Rule" → dialog mở ra.

-
Điền các field:
- Priority (bắt buộc) — số nguyên dương, không được trùng
- IP addresses or CIDR ranges (bắt buộc) — một hoặc nhiều giá trị cách nhau bằng dấu phẩy (VD:
1.2.3.4, 10.0.0.0/8). IPv4 và CIDR IPv4 only. - Action —
Block(mặc định) /Allow - Note (tuỳ chọn) — ghi chú lý do tạo rule
-
Click "Add IP Rule" → rule(s) thêm vào bảng draft; dialog đóng.
Sửa IP Rule
- Click ⋮ → Edit → dialog Edit mở với dữ liệu đã điền.

- Cập nhật IP/CIDR, Action hoặc Note (Priority là read-only sau khi tạo).
- Click "Save Rule" để lưu vào draft.
Xóa IP Rule
Click ⋮ → Delete → rule bị xóa ngay khỏi draft (không cần xác nhận).
Rule Allow cho IP cụ thể sẽ bị shadow bởi rule Block cho CIDR chứa IP đó nếu Block có Priority nhỏ hơn. Đặt rule cụ thể (specific IP) có Priority nhỏ hơn rule catch-all (CIDR rộng).
Step 2 — Rate Limit
- Click step button "2. Rate Limit". Bảng Rate Limit Rules và thẻ Challenge Settings hiển thị.

Bảng gồm: Priority · Path · Threshold · Action · Scope — sắp xếp theo Priority tăng dần.
Thêm Rate Limit Rule
- Click "Add Rate Limit Rule" → dialog mở ra.

-
Điền các field:
- Priority (bắt buộc) — không được trùng
- Path (bắt buộc) — URL path pattern (VD:
/login,/api/*) - Threshold (bắt buộc) — số request tối đa trong window (mặc định
60) - Window —
10 sec/30 sec/1 min(mặc định) /5 min/10 min/1 hour - Action —
Block(reject 403) /Challenge(Browser Verification) - Scope —
Per IP(mặc định) /Per IP + Path
-
Click "Add Rate Limit Rule" → rule thêm vào draft; dialog đóng.
Ví dụ: Bảo vệ trang đăng nhập khỏi brute-force: Path = /login, Threshold = 5, Window = 1 min, Action = Block, Scope = Per IP.
Challenge Settings

Thẻ Challenge Settings hiển thị thường trực trong Step 2 — mô tả Browser Verification Challenge khi Action = Challenge. Click "Preview what visitors see →" để xem trước trang challenge.
Sửa / Xóa Rate Limit Rule
Click ⋮ → Edit hoặc Delete — tương tự IP Rules.

Step 3 — WAF / OWASP
- Click step button "3. WAF / OWASP". 4 phần hiển thị.
Paranoia Level (OWASP Protection Level)

Kéo slider Paranoia Level (PL1–PL4) để điều chỉnh mức độ nhạy của OWASP CRS. Label và description cập nhật ngay lập tức:
| Mức | Tên | Mô tả |
|---|---|---|
| PL1 | Conservative | Baseline — false positive thấp, an toàn dùng ngay trong production |
| PL2 | Balanced | Phát hiện tấn công tinh vi hơn; false positive tăng |
| PL3 | Aggressive | Rất chặt — có thể block ứng dụng với payload phức tạp |
| PL4 | Maximum | Cực kỳ chặt — chỉ dùng cho ứng dụng có input validation nghiêm ngặt |
Bắt đầu bằng PL1 và theo dõi WAF Logs trước khi tăng lên PL2+. Kiểm tra kỹ false positive trước khi áp PL3/PL4 lên production.
FPT Managed Rules (read-only)

Bảng chỉ đọc — rule do đội bảo mật FPT Cloud duy trì và cập nhật. Không thể Add/Edit/Delete. Gồm: Rule ID · Name · Category (Fraud / CVE / Webshell / Bot / Upload).
Custom Rules
Bảng quản lý rule tùy chỉnh: Priority · Name · Match Summary · Action · ⋮
Badge Action: Block (đỏ) · Allow (xanh) · Challenge (amber) · Log only (xám)
Thêm Custom Rule
- Click "Add Custom Rule" → dialog Custom Rule Builder mở ra.

-
Điền:
- Priority (bắt buộc) — không được trùng với rule khác
- Rule name (bắt buộc) — tên mô tả (VD: "Block sqlmap scanner")
- Match conditions — Field + Operator + Value:
- Field: Request path / Source IP or CIDR / HTTP method / User-Agent / Request header / Query string / Request body
- Operator: equals / starts with / ends with / contains / matches regex
- Nhiều condition kết hợp theo logic AND
- Action: Block / Allow / Challenge / Log only
-
Click "Add Custom Rule" → rule thêm vào draft; dialog đóng.
Ví dụ: Block request có User-Agent chứa "sqlmap": Field = User-Agent, Operator = contains, Value = sqlmap, Action = Block.
Sửa Custom Rule
Click ⋮ → Edit → dialog sửa mở ra.

Lưu và hủy thay đổi
Mọi thao tác Add/Edit/Delete rule hay đổi Paranoia Level tạo ra Dirty state — text "Unsaved changes" xuất hiện và 2 nút "Save Changes" / "Discard" được enabled.
- "Save Changes" → lưu toàn bộ policy → toast "Changes saved." → Clean state.
- "Discard" → dialog "Discard Changes" xuất hiện.

Click "Discard" (đỏ) → hoàn tác về trạng thái lưu lần cuối. Click "Cancel" để giữ draft.
Navigation guard:
Cố thoát khi Dirty → dialog "Unsaved Changes" xuất hiện.

- "Stay" → ở lại, draft giữ nguyên.
- "Leave Anyway" → thoát và hủy toàn bộ thay đổi chưa lưu.
Chuyển qua lại giữa 3 step (IP Rules ↔ Rate Limit ↔ WAF/OWASP) KHÔNG trigger dialog này — draft được giữ nguyên.
Bước tiếp theo
- WAF Logs — theo dõi traffic và kiểm tra hiệu quả policy.