Checklist mật khẩu mạnh khi onboard repo khách | Length, passphrase, không gửi Slack
Onboard repo khách: mật khẩu dài + unique + manager + 2FA. Myth “phải có !@#” kém hiệu quả hơn 16+ ký tự ngẫu nhiên. Passphrase hữu ích khi phải nhớ/gõ. Không paste output generator vào Slack/Zalo. Sinh local bằng Password Generator, lưu manager ngay, rồi xóa clipboard.
Khách gửi Zalo: user deploy / Pass: Shop2024! kèm IP VPS. Bạn forward vào Slack team “để mọi người vào được”. Ba tháng sau leak channel — bot quét credential. Không cần brute-force; mật khẩu đã nằm trong search lịch sử.
Bài này là checklist cho freelancer / agency nhỏ Việt Nam khi nhận quyền Git, hosting, DB khách — không phải bài “đổi mật khẩu Facebook” chung chung.
Bài viết này giúp bạn
- Biết length vs complexity myth
- Chọn random vs passphrase theo ngữ cảnh
- Quy tắc không gửi chat
- Checklist onboard / offboard
- Dùng Password Generator Kawa an toàn (local)
Myth: “Phải có đủ loại ký tự”
Policy kiểu: 1 hoa + 1 thường + 1 số + 1 ký hiệu + tối đa 8–10 ký tự → user chọn Shop2024! hoặc Admin@123.
| Mật khẩu | Nhìn có 'đủ rule'? | Thực tế |
|---|---|---|
Shop2024! | Có — hoa, số, ký hiệu | Ngắn, từ điển + năm; list-attack rất nhanh |
correct-horse-battery-staple (nếu từ ngẫu nhiên) | Ít ký hiệu | Dài → không gian đoán lớn hơn nhiều chuỗi 8 ký tự có !@ |
| 16 ký tự random từ generator | Đầy đủ loại nếu bật option | Mạnh; lưu manager, không cần nhớ |
Nguyên tắc thực dụng 2026:
- Dài trước (12 tối thiểu, 16+ cho infra).
- Unique mỗi dịch vụ (chống credential stuffing).
- Ngẫu nhiên — không tên shop, năm, SĐT.
- 2FA — lớp cứu khi lộ.
- Ký hiệu: bật nếu policy bắt; đừng tin rằng
!thay cho độ dài.
Random generator vs passphrase
| Loại | Phù hợp | Không phù hợp |
|---|---|---|
| Random (generator) | CI token, panel host, DB user, Git deploy | Thứ bạn phải gõ mỗi giờ trên TV/console khó paste |
| Passphrase (nhiều từ ngẫu nhiên) | Master password manager, tài khoản phải gõ tay | Đặt thành tên pet + năm — đó không phải passphrase |
Sinh random trên trình duyệt: mở Password Generator → chọn độ dài 16–24 → copy → dán thẳng vào Bitwarden/1Password → không để lại ô chat.
Passphrase tốt: từ lấy từ wordlist ngẫu nhiên (diceware), không phải câu thơ yêu thích. Ví dụ minh họa cấu trúc (đừng dùng nguyên văn): máng-tre-quạt-đèn-9f — dài và khó đoán hơn MatKhau123.
Tuyệt đối: không lưu output generator vào Slack
Kênh chat không phải password manager:
- Search toàn company ra secret cũ
- Bot / integration đọc message
- Screenshot, forward, export compliance
- Người out công ty vẫn đọc lịch sử nếu không rotate
Kênh phân phối chấp nhận được hơn:
- Share secure của password manager (hết hạn, revoke được)
- Portal khách / ticket có TTL
- Gặp trực tiếp / gọi + đọc từng phần (vẫn kém manager)
- One-time secret link (tự xóa) — vẫn rotate sau onboard
Không chấp nhận: README repo, Notion public, Google Sheet “Passwords”, Zalo nhóm, email CC cả team.
Generator chỉ tạo chuỗi. Việc giao và lưu là bước khác — đừng gộp bằng “paste Slack cho nhanh”.
Checklist onboard repo / infra khách
Trước khi git clone production:
Account & mật khẩu
- Mỗi hệ một mật khẩu (GitHub/GitLab, VPS SSH hoặc panel, DB, CDN, email transactional)
- Độ dài ≥ 16 cho infra; bật ký hiệu nếu policy host yêu cầu
- Sinh bằng generator local hoặc manager — không tự bịa
- Lưu manager với tên rõ:
khach-x / vps-prod - Không commit
.envcó secret; dùng secret store CI
2FA & recovery
- Bật 2FA Git host + cloud
- Recovery code in / lưu offline — không ảnh trong Drive chung
- Tài khoản dùng email công ty/freelance riêng, không dùng Gmail chung nhóm
Nhận secret từ khách
- Từ chối (lịch sự) nếu khách chỉ gửi Slack mãi — đề xuất manager share
- Nếu buộc nhận qua chat: đổi ngay sau lần login đầu + xóa message nếu được
- Rotate mọi key có trong ticket onboarding cũ
Khi offboard (bạn hoặc member khác rời)
- Đổi mật khẩu / revoke deploy key / xóa SSH key
- Revoke token CI cá nhân
- Không để passphrase Wi-Fi văn phòng khách trong note vĩnh viễn
Case study
1. “Mật khẩu đủ mạnh” theo form host
Panel bắt 1 ký hiệu nhưng max 12 ký tự. Bạn tạo A7k!pQ2mR9xL (12) thay vì cố nhồi tên shop. Lưu manager. Đủ rule form và entropy tốt hơn Shop@2024.
2. Team 4 freelancer một VPS
Một người generate, paste Slack. Sau này dùng một vault shared với quyền; mỗi người SSO — không nhân bản chuỗi trong 4 thiết bị chat.
3. Passphrase master, random mọi chỗ khác
Bạn nhớ một passphrase dài cho Bitwarden. Mọi mật khẩu site/VPS là random 20 ký tự từ generator hoặc generator trong manager. Không tái sử dụng master cho SSH.
Quy trình 60 giây khi cần mật khẩu mới
- Mở Password Generator (local, không upload)
- Length 16–24; bật chữ hoa/thường/số/ký hiệu tùy policy
- Generate → copy
- Paste vào password manager entry mới
- Paste vào form đăng ký/đổi mật khẩu
- Xóa clipboard / đợi auto-clear
- Bật 2FA nếu có màn hình ngay sau đó
Không có bước “gửi cho team trên Slack”.
Tóm tắt
| Việc | Nên | Không nên |
|---|---|---|
| Độ mạnh | Dài + unique + random | Tin vào ! trên chuỗi ngắn |
| Nhớ | Passphrase / manager | Một mật khẩu cho mọi khách |
| Phân phối | Manager share / one-time | Slack, Zalo, README |
| Sau lộ | Đổi + 2FA | Chỉ thêm số vào cuối |
Freelancer giữ nhiều cửa hàng / repo → bạn là điểm tập trung rủi ro. Checklist trên rẻ hơn một đêm rotate key khi channel bị dump.