Tài liệu này dùng để giới thiệu và hướng dẫn sử dụng OneShield+ trên hosting OnePanel và cPanel của iNET. Các ảnh minh họa được chụp từ giao diện thực tế; số liệu lưu lượng trong ảnh là dữ liệu động và có thể thay đổi theo thời gian.

Nguyên tắc an toàn trước khi thay đổi

- Chọn đúng website/tên miền trên OnePanel/cPanel trước khi chỉnh cấu hình.

- Ghi lại cấu hình cũ hoặc chụp ảnh trước khi thay đổi.

- Bảo đảm quản trị viên còn một phiên đăng nhập hoạt động để kiểm tra.

- Ưu tiên chế độ ghi log hoặc challenge trước khi chặn cứng.

- Không thêm dải IP cho phép quá rộng và không tắt toàn bộ WAF chỉ vì một quy tắc chặn nhầm

Các thuật ngữ thường gặp

- False positive: yêu cầu hợp lệ nhưng bị quy tắc nhận nhầm là tấn công.

- Challenge: yêu cầu người truy cập xác minh trước khi tiếp tục, nhẹ hơn chặn cứng.

- Paranoia Level: mức nhạy của bộ quy tắc OWASP CRS; mức càng cao càng dễ phát hiện rộng nhưng càng dễ chặn nhầm.

- Rule ID: mã định danh của một quy tắc, dùng để tra cứu hoặc loại trừ đúng quy tắc gây vấn đề.

- CIDR: cách biểu diễn một địa chỉ hoặc dải IP, ví dụ 203.0.113.10/32 hay 203.0.113.0/24.

* Với Hosting chạy OnePanel:

Khi đăng nhập vào hosting chạy OnePanel của iNET, hệ thống sẽ hiển thị thông báo OneShield+ đã được kích hoạt như hình bên dưới:

Picture1.pngHình 1: Thông báo kích hoạt OneShield+ thành công.

Menu OneShield+ được bổ sung trực tiếp trong giao diện quản trị OnePanel để người quản trị cấu hình bảo mật và tăng tốc cho website.

upload.png
Hình 2: Menu OneShield+ hiển thị trong OnePanel.

Cấu trúc menu bao gồm: Bảo mật WAF và Tăng tốc

upload.png
Hình 3: Cấu trúc menu OneShield+.

* Với Hosting chạy cPanel:

Khi đăng nhập vào hosting chạy cPanel của iNET, tại mục Bảo mật (Security), chọn OneShield+:

upload.png

Hình 4: Cấu trúc menu Oneshield+ tại cPanel

I. Mục Bảo vệ WAF

1. Tab Bảo vệ

Tab Bảo vệ là nơi bắt đầu khi cấu hình lớp WAF cho website. Giao diện hiển thị các đề xuất được tạo từ loại website và lưu lượng quan sát được, sau đó cho phép chọn mức bảo vệ và bật/tắt các nhóm quy tắc chính.

Lưu ý: tuỳ vào mỗi loại mã nguồn của web và lưu lượng quan sát được mà OneShield+ sẽ đề xuất riêng cho từng website.

upload.png

Hình 5. Tab Bảo vệ với các đề xuất bảo mật dành riêng cho từng website.

1.1. Xử lý đề xuất bảo mật

Mỗi đề xuất có ba cách xử lý:

- Áp dụng (ghi log): dùng để quan sát yêu cầu khớp trước khi thực thi; đây là lựa chọn nên dùng đầu tiên.

- Thực thi ngay: bắt đầu chặn hoặc challenge theo nội dung đề xuất.

- Bỏ qua: ẩn đề xuất khi đã xác định không phù hợp với website.

1.2. Các đề xuất nên ưu tiên cho WordPress

- Chống dò mật khẩu tại /wp-login.php và /wp-admin.

- Chặn thực thi tệp PHP trong /wp-content/uploads/.

- Giới hạn tần suất theo IP khi tỷ lệ lỗi 4xx hoặc dấu hiệu dò quét tăng cao.

Cách triển khai: Áp dụng ở chế độ ghi log → theo dõi tab Hoạt động → kiểm thử đăng nhập, quản trị, tải ảnh và form → chỉ chuyển sang thực thi khi không thấy chặn nhầm.

1.3. Chọn mức bảo vệ

upload.png

Hình 6. Bốn mức bảo vệ WAF và trạng thái cấu hình minh họa.

* Ý nghĩa của 4 mức bảo vệ nên dùng và các lưu ý:

MứcOWASP CRSNên dùng khiLưu ý
Tắt-Chuẩn đoán tạm thời.Không có lớp bảo vệ WAF.
NhẹPL1Khởi động và website đang chạy thật.Khuyến nghị cho lần đầu bật.
Nghiệm ngặtPL2Đã theo dõi ổn định, cần phát hiện rộng hơn.Phải kiểm thử form và thanh toán.
Cực kỳ nghiêm ngặtPL3Trang tĩnh hoặc API kiểm soát chặt.Rủi ro false positive cao.
1.4. Quy trình bật WAF lần đầu

Bước 1: Chọn đúng website/tên miền cần cấu hình trên OnePanel.

Bước 2: Chọn mức Nhẹ (Khuyến nghị).

Bước 3: Mở website ở cửa sổ riêng và kiểm tra trang chủ, trang sản phẩm, tìm kiếm và ảnh.

Bước 4: Kiểm tra đăng nhập WordPress, wp-admin, đăng bài và tải tệp.

Bước 5: Nếu có thương mại điện tử, kiểm tra giỏ hàng, thanh toán, callback và email giao dịch.

Bước 6: Theo dõi tab hoạt động trong 24 - 48 giờ; chỉ nâng lên Nghiêm ngặt sau khi lưu lượng ổn định.

 

Không nên: Bật thẳng mức Cực kỳ nghiêm ngặt trên website WordPress đang vận hành. Một false positive có thể làm hỏng form, tải tệp, AJAX hoặc thanh toán.

 

2. Tab hoạt động

 

Tab Hoạt động là nơi theo dõi và điều tra lưu lượng của website. Người quản trị có thể chọn khoảng thời gian từ 5 phút đến 30 ngày, thêm bộ lọc và xem tổng yêu cầu, số bị chặn, số được cho phép, challenge, tỷ lệ chặn và số mối đe dọa.

upload.png

Hình 7. Tổng quan lưu lượng, yêu cầu bị chặn và biểu đồ theo thời gian.

2.1. Cách đọc dữ liệu

- Tổng yêu cầu: toàn bộ lưu lượng trong khoảng thời gian đã chọn.

- Bị chặn: yêu cầu không được đi tiếp; phải kiểm tra xem là tấn công thật hay false positive.

- Cho phép: yêu cầu đi qua các lớp kiểm tra.

- Thách thức: yêu cầu phải xác minh trước khi truy cập.

- Độ trễ p50/p95/p99: giúp nhận biết WAF hoặc ứng dụng có gây chậm bất thường hay không.

- IP, quốc gia, ASN, đường dẫn và User-Agent hàng đầu: dùng để nhận diện bot, crawler và chiến dịch dò quét.

2.2. Điều tra một lỗi 403

- Ghi lại thời gian, URL, hành động người dùng và IP gặp lỗi.

- Chọn khoảng thời gian hẹp, ví dụ 5–15 phút.

- Thêm bộ lọc theo đường dẫn, IP hoặc hành động Chặn.

- Mở dòng nhật ký và ghi Rule ID hoặc tên quy tắc.

- Xác nhận yêu cầu có hợp lệ bằng cách lặp lại thao tác trong môi trường kiểm soát.

- Nếu là false positive, tạo ngoại lệ hẹp theo Rule ID và đường dẫn; không tắt toàn bộ WAF.

3. Tab Quy tắc WAF

Tab Quy tắc WAF dùng để điều khiển ModSecurity, mức Paranoia và các quy tắc OWASP CRS. Ngoài quy tắc chuẩn, hệ thống còn hỗ trợ quy tắc tùy chỉnh và mẫu có sẵn.

upload.png

Hình 8: Giao diện tab Quy tắc WAF.

3.1. ModSecurity và Paranoia Level

upload.png

Hình 9: Cấu hình ModSecurity và mức Paranoia.

ModSecurity là engine thực thi các quy tắc. Khi công tắc này tắt, danh sách quy tắc bên dưới không tạo thành lớp WAF đầy đủ.

- Paranoia 1 phù hợp cho lần triển khai đầu.

- Paranoia 2 phát hiện rộng hơn nhưng cần kiểm thử form phức tạp.

- Paranoia 3–4 chỉ nên dùng khi có hiểu biết sâu về lưu lượng và quy trình loại trừ false positive.

3.2. Nhóm quy tắc

- SQLi, XSS, RCE, LFI/RFI và SSRF: chặn các kiểu tấn công ứng dụng phổ biến.

- PHP, Java, WebShell: phát hiện tải lên hoặc thực thi mã nguy hiểm.

- DataLeakage và các nhóm Leakage: phát hiện dữ liệu, mã nguồn hoặc thông báo lỗi rò rỉ trong phản hồi.

- Protocol: kiểm tra phương thức, header và cấu trúc HTTP bất thường.

Nguyên tắc ngoại lệ: Chỉ tắt đúng Rule ID đã được chứng minh gây false positive; giới hạn ngoại lệ theo đường dẫn, phương thức hoặc tham số khi giao diện cho phép.

4. Tab Rate Limit

 

Rate Limit giới hạn số yêu cầu trong một khoảng thời gian nhằm giảm brute-force, dò quét, bot dồn tải và lạm dụng API. Cấu hình mặc định hiện hiển thị 1.000 yêu cầu/phút, Burst 50 và Subnet 0.

upload.png

Hình 10. Giới hạn mặc định và khu vực tạo quy tắc riêng.

4.1. Ý nghĩa các trường

- Yêu cầu/phút: hạn mức cơ bản trong một phút.

- Burst: số yêu cầu tăng đột biến được dung nạp trong thời gian ngắn.

- Subnet yêu cầu/phút: giới hạn tổng cho cả dải mạng; giá trị 0 thường có nghĩa là chưa áp dụng.

4.2. Quy tắc gợi ý cho WordPress

- /wp-login.php: bắt đầu khoảng 5 lần/phút/IP, ưu tiên challenge.

- /wp-admin: dùng hạn mức cao hơn và whitelist IP quản trị ổn định nếu phù hợp.

- Form liên hệ hoặc API nhạy cảm: đặt hạn mức theo hành vi thực tế, tránh làm gián đoạn người dùng hợp lệ.

- Đường dẫn bị bot truy cập dồn dập: quan sát log trước, sau đó áp hạn mức riêng thay vì hạ hạn mức toàn website.

Cảnh báo: Không áp hạn mức quá thấp cho tài nguyên tĩnh, AJAX, wp-cron, API thanh toán hoặc callback. Một lượt tải trang có thể tạo nhiều yêu cầu.

 

5. Tab nâng cao

Tab Nâng cao dùng để quản lý AntiBot, chính sách quốc gia và ba danh sách IP dùng chung toàn tài khoản: chặn, cho phép và bắt xác minh.

upload.png

Hình 11. AntiBot, IP hiện tại và các IP có nhiều yêu cầu nhất.

5.1. Bảo vệ chống Bot

upload.png

Hình 12: Bật/tắt bảo vệ chống Bot.

Nên giữ AntiBot đang bật. Khi phát hiện bot hợp lệ bị ảnh hưởng, kiểm tra User-Agent, ASN, đường dẫn và tần suất trước khi thêm vào danh sách cho phép.

5.2. Chính sách quốc gia

upload.png

Hình 13: Thiết lập chính sách quốc gia.

- Tắt: không lọc theo quốc gia; đây là lựa chọn an toàn khi chưa có yêu cầu kinh doanh rõ ràng.

- Whitelist: chỉ cho phép các quốc gia đã chọn; rủi ro khóa khách hàng, quản trị viên hoặc dịch vụ bên thứ ba.

- Blacklist: chặn các quốc gia đã chọn; phù hợp khi có bằng chứng tấn công lặp lại và website không phục vụ khu vực đó.

5.3. Danh sách IP

upload.png

Hình 14: Quản lý danh sách địa chỉ IP.

- Danh sách chặn: từ chối IP/CIDR đã xác định là nguồn xấu.

- Danh sách cho phép: bỏ qua một số kiểm tra cho nguồn tin cậy; cần dùng rất hạn chế.

- Bắt xác minh: phù hợp khi IP đáng ngờ nhưng chưa đủ căn cứ để chặn.

- Ghi chú rõ lý do, người thêm và ngày xem xét lại cho mỗi mục.

Tránh tự khóa: Trước khi bật chính sách quốc gia hoặc thêm dải chặn, kiểm tra IP quản trị hiện tại và bảo đảm có phương án truy cập dự phòng.

6. Tab Kết nối ra ngoài

Tab Kết nối ra ngoài theo dõi lưu lượng outbound do website hoặc máy chủ chủ động gửi ra Internet. Đây là tín hiệu quan trọng để phát hiện plugin bị xâm nhập, mã độc, spam hoặc đánh cắp dữ liệu.

upload.png

Hình 15: Tab Kết nối ra ngoài và các chỉ số theo dõi

6.1. Chỉ số cần theo dõi

- Kết nối: tổng số phiên outbound trong khoảng thời gian.

- Đích duy nhất: số IP hoặc dịch vụ khác nhau được máy chủ liên hệ.

- Đích nguy hiểm: đích bị hệ thống đánh giá có rủi ro; cần điều tra ngay khi lớn hơn 0.

- Dữ liệu gửi đi: mức tăng đột biến có thể là dấu hiệu rò rỉ dữ liệu hoặc gửi spam.

6.2. Khi phát hiện đích lạ

- Ghi lại IP đích, thời gian, số kết nối và dung lượng.

- Đối chiếu với plugin, cron job, DNS, dịch vụ email, thanh toán và API hợp lệ.

- Kiểm tra tệp mới thay đổi, tài khoản quản trị, plugin lạ và tiến trình bất thường.

- Nếu không xác định được nguồn hợp lệ, cô lập website và nhờ bộ phận kỹ thuật kiểm tra mã độc.

7. Quy trình triển khai 48 giờ đầu

Giai đoạn 1 - Chuẩn bị:

  • Chụp lại cấu hình và ghi nhận chỉ số lưu lượng trước khi bật.
  • Xác định người phụ trách kiểm thử và người có quyền rollback.
  • Liệt kê các luồng quan trọng: đăng nhập, wp-admin, AJAX, tìm kiếm, tải tệp, form, giỏ hàng, thanh toán, webhook.

- Giai đoạn 2 - Bật mức Nhẹ:

  • Bật WAF/ModSecurity ở Paranoia Level 1.
  • Giữ AntiBot bật.
  • Áp dụng đề xuất WordPress ở chế độ ghi log.
  • Không đổi đồng thời quá nhiều quy tắc; mỗi thay đổi cần có thời điểm và lý do.

- Giai đoạn 3 - Theo dõi và kiểm thử

  • Kiểm tra ngay các luồng quan trọng sau khi bật.
  • Theo dõi 5 - 15 phút đầu để phát hiện lỗi diện rộng.
  • Sau 1 giờ, xem IP, đường dẫn và Rule ID bị chặn nhiều nhất.
  • Sau 24 - 48 giờ, tổng hợp false positive và điều chỉnh ngoại lệ hẹp.

- Giai đoạn 4 - Tăng cường có kiểm soát

  • Chuyển các đề xuất đã chứng minh an toàn từ ghi log sang thực thi.
  • Tạo Rate Limit riêng cho wp-login.php và các đường dẫn bị lạm dụng.
  • Chỉ cân nhắc Paranoia Level 2 khi Level 1 đã ổn định.
  • Đặt lịch rà soát danh sách IP và quy tắc tùy chỉnh hàng tháng.

Tiêu chí thành công: Website hoạt động bình thường, không có lỗi 403 bất thường, các luồng kinh doanh hoàn tất được, tỷ lệ chặn có thể giải thích và nhật ký cho thấy các cuộc dò quét bị hạn chế.

8. Xử lý sự cố và checklist vận hành

8.1. Website hoặc form bị lỗi sau khi bật

- Không tắt toàn bộ WAF ngay nếu website vẫn truy cập được.

- Lọc nhật ký theo thời gian, URL và IP người kiểm thử.

- Xác định Rule ID gây chặn.

- Chuyển đúng quy tắc sang ghi log hoặc tạo ngoại lệ hẹp.

- Kiểm thử lại và lưu lý do thay đổi.

8.2. Quản trị viên bị khóa

- Thử kết nối từ mạng dự phòng để xác nhận lỗi theo IP hay toàn hệ thống.

- Kiểm tra Rate Limit, danh sách chặn, chính sách quốc gia và AntiBot.

- Gỡ đúng IP/CIDR hoặc quy tắc gây vấn đề; tránh thêm IP động vào danh sách cho phép vĩnh viễn.

8.3. Tỷ lệ chặn tăng đột biến

So sánh với thời điểm bình thường và xác định IP, ASN, quốc gia, User-Agent, đường dẫn nổi bật.

- Nếu là crawler hợp lệ, điều chỉnh Rate Limit hoặc cho phép có điều kiện.

- Nếu là dò quét, áp challenge/Rate Limit trước; chặn cứng khi đã có bằng chứng.

- Nếu cùng lúc xuất hiện outbound lạ, kiểm tra khả năng website bị xâm nhập.

* Checklist định kỳ:

Hàng ngày: xem tỷ lệ chặn, mối đe dọa, đường dẫn và Rule ID nổi bật.

Hàng tuần: rà IP/ASN bất thường, Rate Limit và lỗi 403 do người dùng báo.

Hàng tháng: rà danh sách allow/block/challenge và xóa mục không còn cần thiết.

Sau cập nhật lớn: kiểm thử lại đăng nhập, form, tải tệp, thanh toán và webhook.

Khi có sự cố: lưu thời gian, cấu hình trước/sau, Rule ID và kết quả rollback.

Lưu ý cuối: Các thay đổi WAF nên được thực hiện từng bước, có kiểm thử và có khả năng quay lại cấu hình trước. Nhật ký là căn cứ chính để phân biệt tấn công thật với false positive.

II. Mục Tăng tốc & Cache
Phần này giúp website tải nhanh hơn bằng cách lưu trang ở bộ nhớ đệm, giảm số lần máy chủ phải xử lý lại cùng một nội dung. Trong ví dụ minh họa, chức năng này đang bật cho website đang quản trị và có thêm lớp chống bot phá cache bằng link rác.

upload.png

Hình 16: Giao diện tab Tăng tốc & Cache

1. Chống phá cache bằng link rác

upload.png

Hình 17: Chức năng chống phá cache bằng link rác.

Cơ chế này gom các URL có tham số ngẫu nhiên, ví dụ ?abc=xyz, về cùng một bản lưu cache. Nhờ vậy bot không thể tạo hàng loạt đường dẫn lạ chỉ để né cache và bắt máy chủ phải render lại trang liên tục.