Tôi sắp bắt đầu thiết lập ứng dụng Rails chỉ dành cho nhân viên tại công ty của chúng tôi để làm việc với thông tin nhạy cảm. Sẽ có một bức tường lửa, các biện pháp an ninh vật lý, vv Vấn đề của tôi bây giờ là quá trình đăng nhập cho ứng dụng.Cấu hình Devise an toàn nhất có thể là gì?
Tôi muốn sử dụng Devise để xác thực. Cấu hình an toàn nhất có thể cho Devise là gì?
Tôi nghĩ tôi wil làm như sau:
- tài khoản Khóa sau khi một số ít nỗ lực đăng nhập thất bại
- Sử dụng
config.paranoid
vì vậy một kẻ tấn công không thể nói nếu họ đã đoán một giá trị địa chỉ email - Có thể vô hiệu hóa đặt lại mật khẩu qua email?
Một số trong những điều cụ thể tôi không rõ, với dấu ngoặc kép từ devise.rb
in nghiêng:
- Peppers. Devise có tùy chọn để "Thiết lập hạt tiêu để tạo mật khẩu được mã hóa". Sự hiểu biết của tôi là đây là một giá trị cụ thể cho từng ứng dụng, biến đổi mật khẩu ngu ngốc như "password123" thành "password123K # (! @ Akdlwekdf" hoặc "*%! Kd39gpassword123" hoặc bất kỳ nội dung nào trước khi băm. ngăn chặn các cuộc tấn công bảng cầu vồng, nhưng sự hiểu biết của tôi từ this article là nó không tốt bằng một muối duy nhất cho mỗi mật khẩu. Sau đó, một lần nữa, this article và this paper nói rằng bcrypt có muối được tích hợp sẵn. , và có bất kỳ nhu cầu, cũng có một cột muối?
- Trải dài. "đối với bcrypt, đây là chi phí cho băm mật khẩu và mặc định là 10." Dựa trên this question, tôi nghĩ đến việc sử dụng hệ số công việc là 12. Điều đó có vẻ hợp lý không?
- Độ dài mật khẩu. Một mật khẩu dài hơn có vẻ an toàn hơn nói chung, nhưng tôi không muốn nó quá khó để người dùng viết nó lên một mảnh giấy ở đâu đó. Độ dài mật khẩu có quan trọng không nếu chúng ta sử dụng bcrypt?
- Cookie SSL. Đối với các ứng dụng công khai đã bật SSL, đánh dấu cookie là "điều này chỉ có thể được truyền qua HTTPS" bảo vệ chống lại các cuộc tấn công kiểu Firesheep. Nhưng tôi không chắc chắn nó có ý nghĩa như thế nào khi có chứng chỉ bảo mật cho một ứng dụng nội bộ. Đó là ngớ ngẩn?
Tôi còn thiếu gì nữa?
SSL không phải là ngớ ngẩn. Đó là * luôn luôn * quan trọng khi bạn gửi thông tin xác thực đăng nhập trên mạng. – meagar
Tôi có cùng một câu hỏi. Bạn có thể đăng câu trả lời tự để chia sẻ những gì bạn đã học và những gì bạn đã sử dụng không? – KobeJohn