Tôi đang xây dựng bộ công việc theo lô yêu cầu quyền truy cập thường xuyên vào cơ sở dữ liệu, chạy trên máy Solaris 10. Do ràng buộc thiết kế (không thể thay đổi), chúng tôi được yêu cầu sử dụng một chương trình nhất định để kết nối với nó. Giao diện được yêu cầu yêu cầu chúng tôi chuyển mật khẩu thuần văn bản qua dòng lệnh để kết nối với cơ sở dữ liệu. Đây là một thực hành an ninh khủng khiếp, nhưng chúng tôi đang mắc kẹt với nó.Các chiến lược bảo mật để lưu trữ mật khẩu trên đĩa
Tôi đang cố gắng đảm bảo mọi thứ được bảo mật đúng cách. Vì quá trình xử lý được tự động hóa (nghĩa là chúng tôi không thể nhắc mật khẩu) và tôi không thể lưu trữ bất kỳ thứ gì bên ngoài đĩa, tôi cần một chiến lược để lưu trữ mật khẩu của mình một cách an toàn.
Dưới đây là một số quy tắc cơ bản hệ thống
- có nhiều người dùng.
- Chúng tôi có thể giả định rằng các quyền của chúng tôi được thực thi đúng cách (ví dụ: nếu tệp có mã chmod'd thành 600, tệp đó sẽ không thể đọc được công khai)
- Tôi không quan tâm đến bất kỳ ai có quyền truy cập siêu người dùng lưu trữ mật khẩu
đây là những gì tôi đã có cho đến nay
- lưu trữ mật khẩu trong password.txt
- $ chmod 600 password.txt
- Process đọc từ password.txt khi cần thiết
- đệm ghi đè bằng số không khi nó không còn cần thiết
Mặc dù tôi chắc chắn rằng có một cách tốt hơn.
Và sử dụng dịch vụ LDAP (hoặc Kerberos) không phải là một lựa chọn? – SystematicFrank
môi trường của công ty, tất cả phần mềm phải được ủy ban phê duyệt. về cơ bản chúng tôi chỉ có các công cụ dòng lệnh unix chuẩn có sẵn. – Mike
Nếu có cách nào tốt hơn, tôi rất muốn nghe nó. – erickson