Bảo mật phần mềm theo yêu cầu không phải là một tính năng gắn thêm vào cuối dự án. Đó là tập hợp các thói quen làm việc: ai được vào hệ thống, dữ liệu được lưu và sao lưu thế nào, mỗi lần cập nhật được kiểm tra ra sao. Bạn không cần hiểu mã nguồn để kiểm tra những điều này. Bạn chỉ cần biết hỏi đúng câu và nhận ra câu trả lời mơ hồ.
Cần nói thẳng một điều: không có hệ thống nào an toàn tuyệt đối. Mục tiêu hợp lý là giảm rủi ro, phát hiện sớm khi có sự cố và có cách khôi phục. Dưới đây là mười câu hỏi bạn có thể đặt cho bất kỳ đơn vị nào làm phần mềm cho mình, kể cả khi bạn không chọn chúng tôi.
Mười câu hỏi nên hỏi trước khi ký
Về quyền truy cập
- Hệ thống có phân quyền theo vai trò không? Kế toán, kho, nhân viên bán hàng và chủ doanh nghiệp không nên thấy cùng một thứ. Xem thêm cách thiết kế ở bài phân quyền người dùng trong phần mềm.
- Có nhật ký thao tác không? Khi một số liệu bị sửa, bạn cần biết ai sửa, lúc nào, sửa từ gì thành gì.
- Khi nhân viên nghỉ việc, tài khoản được khóa thế nào? Câu trả lời nên là một thao tác rõ ràng, không phải việc phải nhờ lập trình viên làm hộ.
Về dữ liệu
- Dữ liệu được sao lưu bao lâu một lần, lưu ở đâu? Và quan trọng hơn: đã thử khôi phục lần nào chưa? Chi tiết nằm ở bài sao lưu dữ liệu phần mềm.
- Kết nối giữa người dùng và hệ thống có dùng HTTPS không? Đây là mức tối thiểu cho mọi hệ thống chạy qua mạng.
- Mật khẩu được lưu thế nào? Câu trả lời đúng là không lưu mật khẩu dạng đọc được. Nếu bên làm không giải thích được điều này, hãy dè chừng.
Về cách làm việc
- Mỗi lần cập nhật có được kiểm tra tự động trước khi đưa lên không? Xem thêm ở bài kiểm thử tự động và CI/CD.
- Ai giữ khóa truy cập máy chủ và cơ sở dữ liệu? Không nên chỉ một cá nhân giữ, và bạn nên biết danh sách người có quyền.
- Thư viện và khung phần mềm bên thứ ba được cập nhật thế nào? Phần mềm dùng nhiều thành phần dựng sẵn, và các thành phần này thỉnh thoảng có lỗ hổng được công bố. Cần có người theo dõi và cập nhật.
- Khi bàn giao, bạn nhận được những gì? Mã nguồn, dữ liệu và tài liệu truy cập nên thuộc về bạn theo hợp đồng.
Cách đọc câu trả lời
Một câu trả lời tốt thường cụ thể và có thể kiểm chứng. Ví dụ "chúng tôi sao lưu định kỳ và có quy trình khôi phục" cụ thể hơn "dữ liệu của anh chị rất an toàn". Hãy yêu cầu xem, không chỉ nghe: màn hình phân quyền, màn hình nhật ký thao tác, mô tả quy trình sao lưu.
Cảnh giác với những cam kết tuyệt đối như "không thể bị tấn công" hay "bảo mật 100%". Những người làm nghề nghiêm túc biết rằng điều đó không ai đảm bảo được. Họ nói về biện pháp và cách ứng phó.
Những gì Prime Technology làm
Với phần mềm theo yêu cầu, chúng tôi xây phân quyền theo vai trò, sao lưu dữ liệu định kỳ, và chạy kiểm thử tự động cùng kiểm tra mã tự động trong quy trình CI/CD trước khi cập nhật được đưa lên. Mã nguồn và dữ liệu được bàn giao cho khách hàng theo hợp đồng. Phạm vi cụ thể của từng dự án được thống nhất sau bước phân tích quy trình, nên bạn có thể hỏi chi tiết cho đúng hệ thống của mình.
Khi nào danh sách này chưa đủ
Danh sách này giúp bạn lọc những điểm yếu phổ biến về quy trình. Nó không thay thế việc đánh giá bảo mật chuyên sâu.
- Nếu hệ thống xử lý dữ liệu đặc biệt nhạy cảm hoặc chịu quy định riêng của ngành, bạn có thể cần một đợt đánh giá độc lập. Hãy tham khảo luật sư hoặc chuyên gia tuân thủ về nghĩa vụ pháp lý.
- Phần lớn sự cố trong doanh nghiệp đến từ thói quen của con người, như dùng chung mật khẩu hay để máy tính mở. Phần mềm tốt không thay được kỷ luật nội bộ.
- Bảo mật là việc liên tục. Một hệ thống an toàn khi bàn giao vẫn cần được cập nhật và theo dõi sau đó.
Bước tiếp theo
Nếu bạn đang cân nhắc dịch vụ viết phần mềm theo yêu cầu, hãy mang mười câu hỏi trên đến buổi trao đổi đầu tiên với bất kỳ đơn vị nào. Nếu hệ thống của bạn chủ yếu phục vụ vận hành nội bộ, bạn cũng có thể xem trước cách chúng tôi tiếp cận phần mềm quản lý theo yêu cầu để hỏi cho đúng trọng tâm.


