Checklist bảo mật

🌐 Ngôn ngữ: 🇻🇳 Tiếng Việt (hiện tại) · 🇬🇧 English · 🇯🇵 日本語

Checklist bảo mật — theo thời điểm và những lỗi hay gặp

Giới thiệu

Trang này là danh sách kiểm tra bảo mật cho site GP247, chia theo thời điểm: ngay sau khi cài, trước khi mở bán, định kỳ, và khi có sự kiện (nhân viên nghỉ, chuyển máy chủ, nghi bị lộ). Cuối trang là những lỗi hay gặp kèm hậu quả và cách tránh. Trang dành cho chủ site và người phụ trách kỹ thuật; in ra hoặc chép vào công cụ quản lý công việc để đánh dấu được. Mỗi mục dẫn tới trang hướng dẫn chi tiết.

Nhìn nhanh

Bốn nhóm việc, theo vòng đời của một site:

flowchart LR
    A["Ngay sau khi cài"] --> B["Trước khi mở bán"] --> C["Định kỳ<br/>tháng / quý"]
    C --> C
    C -.-> D["Khi có sự kiện"]
  • Ngay sau khi cài — thay tài khoản mặc định, đặt khoá riêng, sao lưu .env.
  • Trước khi mở bán — HTTPS, tắt debug, kiểm .env không tải được, có lịch sao lưu.
  • Định kỳ — cập nhật, xem nhật ký, thử khôi phục.
  • Khi có sự kiện — làm ngay trong ngày, theo đúng thứ tự.

Ngay sau khi cài

Trước khi mở bán

Định kỳ

Hằng tháng

Hằng quý

  • Thử khôi phục bản sao lưu lên một site thử — Khoá mã hoá & sao lưu
  • Rà vai trò và quyền: ai giữ Administrator, ai có quyền quản lý file, cài plugin, chi tiền
  • Rà token REST API và MCP: thu hồi token không dùng
  • Gỡ plugin không dùng

Khi có sự kiện

Nhân viên nghỉ việc — chi tiết

  • Đổi mật khẩu rồi tắt tài khoản của người đó; thu hồi token MCP
  • Đổi bí mật người đó từng biết (hosting, cơ sở dữ liệu, SMTP, cổng thanh toán)

Chuyển máy chủ hoặc nhân bản site — chi tiết

  • Chép nguyên file .env; không chạy php artisan key:generate
  • Chạy php artisan gp247:doctor; dòng secret_decryptable phải PASS

Nghi bị lộ — chi tiết

  • Cô lập → sao lưu hiện trạng → đổi mật khẩu & token → đổi bí mật tại nhà cung cấp → đổi khoá nếu .env lộ → điều tra → khôi phục

Những lỗi hay gặp

Mười lỗi dưới đây gây phần lớn sự cố trên site thật. Mỗi lỗi có hậu quả và cách tránh.

# Lỗi Hậu quả Cách tránh
1 Không sao lưu .env (chứa khoá) Máy chủ hỏng: mật khẩu SMTP, secret thanh toán, license thành rỗng, không lấy lại được Sao lưu .env ngay sau khi cài và sau mỗi lần sửa — chi tiết
2 Chạy php artisan key:generate trên site đang chạy Mọi người bị đăng xuất; secret webhook hỏng; chưa có khoá riêng thì mất cả bí mật cấu hình Không bao giờ chạy trên site thật; đổi khoá theo quy trình — chi tiết
3 APP_DEBUG=true trên site thật Khách thấy đường dẫn, câu truy vấn, cấu hình khi có lỗi APP_ENV=production + APP_DEBUG=false — chi tiết
4 Dùng nguyên .env.example APP_ENV=local, LOG_LEVEL=debug, mật khẩu cơ sở dữ liệu mẫu Sửa theo bảng biến production — chi tiết
5 Sửa .env mà quên php artisan config:clear Site vẫn chạy cấu hình cũ, kể cả debug cũ Chạy php artisan config:clear sau mỗi lần sửa — chi tiết
6 Đưa .env lên Git hoặc document root sai Mọi bí mật lộ .gitignore có .env; document root là public/ — chi tiết
7 Giữ tài khoản admin / admin Bị chiếm trang quản trị trong vài phút Thay ngay sau khi cài — chi tiết
8 Có sao lưu nhưng chưa từng thử khôi phục Tới lúc cần mới biết bản sao lưu thiếu hoặc hỏng Thử khôi phục mỗi quý — chi tiết
9 docker compose down -v trên production Xoá volume chứa cơ sở dữ liệu Chỉ dùng docker compose down (không -v) — chi tiết
10 Cài plugin không rõ nguồn Plugin đọc được .env và cơ sở dữ liệu Chỉ cài từ thư viện GP247 hoặc tác giả tin cậy — chi tiết

Điều kiện & ràng buộc (hiểu trước khi thao tác)

  • Checklist mô tả bản phát hành mới nhất — site chưa cập nhật có thể thiếu một vài màn hình hoặc tuỳ chọn; cập nhật trước.
  • Mục có dòng lệnh cần quyền máy chủ — trên shared hosting không có dòng lệnh, nhờ người phụ trách kỹ thuật hoặc nhà cung cấp.
  • Đánh dấu xong không có nghĩa là an toàn mãi — các mục định kỳ phải lặp lại.

Hỏi & Đáp (Q&A)

Câu 1: Tôi không có thời gian, làm ít nhất những mục nào?

→ Ba mục: thay tài khoản admin, sao lưu .env + cơ sở dữ liệu ra ngoài máy chủ, APP_DEBUG=false.

Câu 2: Tôi dùng shared hosting, mục nào làm được không cần dòng lệnh?

→ Gần hết: sửa .env bằng trình quản lý file, bật HTTPS và sao lưu ở bảng điều khiển hosting, các việc trên trang quản trị. Chỉ gp247:doctor, gp247:info và config:clear cần dòng lệnh — không có thì nhờ hosting.

Câu 3: Có cần làm lại checklist "Ngay sau khi cài" khi cập nhật không?

→ Không. Khi cập nhật, làm mục "Định kỳ" và quy trình ở Cập nhật GP247 an toàn.

Câu 4: Tôi phát hiện đã mắc một lỗi trong bảng, có nghĩa là site đã bị xâm nhập?

→ Không nhất thiết. Sửa lỗi đó ngay, rồi xem màn Nhật ký truy cập và Người dùng tìm dấu hiệu lạ. Có dấu hiệu thì làm theo mục "Nghi bị lộ".

Câu 5: Checklist này có thay được kiểm thử bảo mật chuyên nghiệp không?

→ Không. Đây là mức tối thiểu cho mọi site. Site lớn hoặc xử lý nhiều dữ liệu khách nên thuê đánh giá bảo mật định kỳ.


📅 Cập nhật lần cuối: 2026-11-04 · ✍️ Tác giả (Author): GP247