it-swarm-vi.com

Tôi chỉ gửi tên người dùng và mật khẩu qua https. Được không

Khi người dùng đăng nhập vào trang web của tôi, họ sẽ gửi tên người dùng và mật khẩu của họ cho tôi qua https. Ngoài ssl, không có mật khẩu nào đặc biệt - nó tồn tại trong bộ nhớ trong trình duyệt.

Có điều gì khác tôi nên làm không? Tôi có nên giữ nó băm bằng cách nào đó, ngay cả trong RAM?

53
Riley Lark

Điều này là tốt Bạn không cần phải làm gì khác. Không cần phải băm nó hoặc làm xáo trộn nó trong RAM.

Bạn nên cẩn thận để băm mật khẩu một cách thích hợp ở phía máy chủ trước khi lưu nó vào bộ nhớ liên tục (ví dụ: trong cơ sở dữ liệu) và bạn nên cẩn thận sử dụng các phương pháp thích hợp để băm mật khẩu. Xem, ví dụ: Cách băm mật khẩu an toàn? , Tôi nên sử dụng phương pháp băm mật khẩu nào? , Thuật toán băm mật khẩu an toàn nhất? , Có chuyên gia bảo mật nào khuyên dùng bcrypt để lưu trữ mật khẩu không? .

Nếu bạn muốn cung cấp bảo mật bổ sung cho người dùng của mình, đây là một số bước bạn có thể thực hiện:

  • Sử dụng SSL/TLS trên toàn trang web. Mọi nỗ lực truy cập trang web của bạn thông qua HTTP sẽ ngay lập tức chuyển hướng đến HTTPS.

  • Bật HSTS trên trang web của bạn. Điều này báo cho các trình duyệt chỉ kết nối với bạn thông qua HTTPS. Paypal sử dụng nó. Nó được hỗ trợ trong các phiên bản gần đây của Firefox và Chrome.

Tôi không nói rằng bạn cần phải làm những điều này (mặc dù SSL/TLS trên toàn trang web tạo ra sự khác biệt lớn). Nhưng đây là một số tùy chọn có thể giúp tăng cường bảo mật chống lại một số vectơ tấn công phổ biến.

43
D.W.

Một điều nữa bạn có thể làm là sử dụng chứng chỉ ứng dụng khách. Máy chủ chỉ có thể tự đảm bảo rằng không có MitM bằng cách yêu cầu chứng chỉ ứng dụng khách. Mặt khác, anh ta phải tin tưởng khách hàng để xác nhận hợp lệ sự vắng mặt của MitM. Điều này là nhiều hơn rất nhiều dịch vụ nên sẵn sàng tin tưởng.

6
Steve Dispensa