2010-08-07 32 views
7

Hầu hết thông tin mà tôi tìm thấy và đọc về lưu trữ mật khẩu đúng cách trong cơ sở dữ liệu nói rằng tôi nên băm mật khẩu rõ ràng bằng một giá trị muối duy nhất cho mỗi người dùng và sau đó lưu trữ băm đó trong cơ sở dữ liệu. Nhưng quá trình này không phù hợp với nhu cầu của tôi ...Lưu trữ và truy xuất mật khẩu đúng cách cho tài khoản dịch vụ?

Tôi có dịch vụ cửa sổ được viết bằng C# cần kết nối với các máy từ xa khác trong các trung tâm dữ liệu khác nhau bằng tài khoản dịch vụ cụ thể. Các tài khoản dịch vụ này giống như các tài khoản người dùng miền, nhưng không có người thực sự đứng sau họ và họ chỉ có quyền thích hợp để thực hiện tải trọng dịch vụ trên mỗi máy chủ cụ thể. Thông tin acount dịch vụ được lưu trữ trong một bảng SQL Server bao gồm cả mật khẩu cho mỗi tài khoản. Hiện tại, tôi đang sử dụng mã hóa đối xứng (Rijndael) để làm xáo trộn mật khẩu trong bảng DB. Khóa được lưu trong tệp cấu hình riêng biệt có quyền truy cập nghiêm ngặt.

Mỗi khi dịch vụ có tải trọng được lên lịch chạy trên máy từ xa, tôi tra cứu thông tin tài khoản dịch vụ thích hợp trên bảng và tách nó bằng cách sử dụng phím. Ngoài ra còn có một trang web nội bộ về cơ bản là giao diện người dùng để quản lý các cài đặt khác nhau cho dịch vụ này và trong đó quản trị viên có thể xem và thay đổi mật khẩu của tài khoản dịch vụ.

Đây có phải là cách tiếp cận tốt để giữ mọi thứ an toàn không? Có bất kỳ sai sót rõ ràng trong chương trình này?

+0

Trang web nội bộ có sử dụng HTTPS khi gửi mật khẩu tới đầu cuối không? Có lẽ là máy mà dịch vụ đang chạy được bảo mật từ con mắt tò mò. –

+0

Có và Có ... Trang web nội bộ đang chạy trên https và máy dịch vụ có quyền truy cập hạn chế. –

Trả lời

Các vấn đề liên quan