Mật khẩu và phân quyền

Hai chốt chặn quan trọng nhất để bảo vệ "ngôi nhà" website của bạn trên Internet.

1. Nguyên tắc đặt mật khẩu

  • Độ dài: Tối thiểu 12 ký tự.
  • Độ khó: Bao gồm chữ Hoa, chữ thường, số và ký tự đặc biệt (!@#$).
  • Không trùng lặp: Mật khẩu database phải KHÁC mật khẩu Admin, và KHÁC mật khẩu Hosting.
  • Không đoán được: Đừng bao giờ dùng tên miền, tên riêng hay ngày sinh làm mật khẩu.

2. Phân quyền File/Thư mục (CHMOD)

Trên máy chủ Linux, mỗi file/thư mục đều có chế độ cấp quyền (Read - Write - Execute). Bạn có thể thấy các con số như 777, 755, 644... trong File Manager hoặc FileZilla.

Các mức quyền chuẩn:

  • File: Nên là 644. (Chủ sở hữu đọc/ghi, người khác chỉ đọc).
  • Thư mục: Nên là 755.
  • File cấu hình (config.php): Nên là 440 hoặc 400 (chặt chẽ hơn) để không ai đọc được nội dung nhạy cảm.
CẢNH BÁO TUYỆT ĐỐI: Không bao giờ set quyền 777 (Full quyền ghi cho tất cả mọi người) cho bất kỳ thư mục hay file nào, trừ khi bạn hiểu rất rõ mình đang làm gì (thường chỉ set tạm thời cho thư mục upload ảnh, nhưng cũng rất rủi ro).

3. Phân quyền trong ứng dụng (Dành cho các hệ thống mã nguồn mở)

Đa số các mã nguồn mở (như WordPress, Joomla, NukeViet...) đều có hệ thống phân quyền rất mạnh. Vấn đề là người quản trị thường chủ quan và cấp quyền "vô tội vạ".

a. Bảo vệ quyền lực tối cao (Super Admin)

Mỗi website chỉ nên có DUY NHẤT 1 tài khoản Super Admin (quyền to nhất).

  • Tài khoản này nắm quyền sinh sát: cài/xóa plugin, sửa đổi cấu hình hệ thống, xóa database.
  • Tuyệt đối không dùng tài khoản này để viết bài hàng ngày.
  • Chỉ đăng nhập khi cần bảo trì, cập nhật hoặc xử lý sự cố hệ thống.

b. Phân quyền hợp lý cho cộng sự

Khi có nhiều người cùng quản trị web, hãy cấp cho họ quyền vừa đủ để làm việc của họ, không hơn không kém.

  • Biên tập viên (Editor): Chỉ cấp quyền Đăng bài/Sửa bài. Không cho quyền cài Plugin hay sửa Giao diện.
  • Nhân viên bán hàng (Shop Manager): Chỉ cấp quyền Quản lý đơn hàng/Sản phẩm. Không cho quyền can thiệp vào bài viết tin tức hay cấu hình.
  • Thành viên đăng ký (Subscriber): Chỉ có quyền sửa hồ sơ cá nhân và bình luận.
Rủi ro thường gặp: Nhiều bạn lười tạo user riêng nên gửi luôn user admin cho nhân viên viết bài. Hậu quả là nhân viên lỡ tay bấm nhầm xóa giao diện, hoặc tệ hơn là khi nghỉ việc họ có thể "trả thù" bằng cách xóa sạch dữ liệu nếu ta quên đổi mật khẩu.

c. Nguyên tắc 3 KHÔNG

  1. KHÔNG dùng chung tài khoản: Mỗi người một nick, để khi có lỗi xảy ra còn biết ai làm (xem lịch sử log).
  2. KHÔNG cấp quyền Admin cho người ngoài: Dù là đối tác SEO hay dev sửa web freelance, hãy tạo tài khoản giới hạn hoặc xóa ngay sau khi họ làm xong.
  3. KHÔNG để user "test": Đừng bao giờ tạo user kiểu demo/demo123 để test rồi quên xóa. Đó là cửa mời hacker vào nhà.