Quy trình triển khai mã nguồn an toàn qua SFTP
Quy trình triển khai mã nguồn an toàn: local development, SFTP và production
Vấn đề thường gặp
Nếu tài khoản developer có quyền sửa mọi file trên production, lỗi thao tác hoặc tài khoản bị chiếm có thể ảnh hưởng trực tiếp đến dịch vụ và secret.
Mô hình đề xuất
- Developer làm việc trên máy local hoặc môi trường development.
- Mã nguồn được review và kiểm thử.
- Artifact hoặc file đã duyệt được chuyển qua kênh triển khai được kiểm soát.
- SFTP chỉ cấp quyền cần thiết đến đúng thư mục hoặc khu vực staging.
- Quy trình deploy đưa phiên bản đã duyệt vào vị trí chạy.
- Có backup/rollback và kiểm tra sau triển khai.
Quy tắc phân quyền
- Không dùng một tài khoản chung cho nhiều người.
- Tách quyền đọc log, upload file và thay đổi cấu hình hệ thống.
- Không cho tài khoản deploy đọc secret nếu không cần.
- Dùng SSH key và chính sách xác thực phù hợp.
- Ghi log thao tác và thu hồi quyền khi không còn nhu cầu.
Checklist triển khai
- Có bản sao hoặc phương án rollback.
- Mã nguồn đã được kiểm thử.
- File được upload đúng thư mục.
- Owner/group và permission vẫn đúng.
- Secret không bị ghi đè hoặc đưa vào repository.
- Ứng dụng và log đã được kiểm tra sau deploy.
Cân bằng bảo mật và tiện lợi
Một quy trình an toàn có thể cần thêm bước review hoặc upload, nhưng đổi lại giảm rủi ro sửa nhầm file, lộ secret và thay đổi không có kiểm soát trên production.