Làm cách nào để quản lý máy chủ web Bảo vệ khóa riêng SSL (mật khẩu so với không có mật khẩu)?


18

Chúng tôi có một cuộc thảo luận trong nhóm bảo mật của công ty tôi về những điều tồi tệ hơn trong các tùy chọn sau đây để quản lý khóa riêng SSL.

Máy chủ web cần truy cập vào khóa riêng cho hoạt động mã hóa. Tập tin này cần được bảo vệ khỏi sự truy cập trái phép. Đồng thời, máy chủ sẽ tự động khởi động mà không cần sự can thiệp của con người (nếu nó đủ an toàn).

Chúng tôi đang thảo luận về ba lựa chọn:

  1. Bảo vệ chìa khóa với perms hệ thống tập tin.

  2. Sử dụng khóa được bảo vệ bằng mật khẩu và nhập khóa theo cách thủ công trong mỗi lần khởi động lại.

  3. Sử dụng khóa được bảo vệ bằng mật khẩu và lưu trữ khóa trong hệ thống tệp để tự động khởi động lại.

Mối quan tâm của chúng tôi là như sau:

  1. Với tùy chọn 1, khởi động lại là tự động nhưng một thỏa hiệp có thể sao chép khóa riêng và, như không được bảo vệ, có thể được sử dụng để giải mã thông tin liên lạc hoặc mạo danh máy chủ của chúng tôi.

  2. Tùy chọn 2 có vẻ an toàn hơn nhưng nó cần sự can thiệp của con người và các hệ thống được quan tâm nếu nó xảy ra ngoài giờ. Ngoài ra, mật khẩu nên được chia sẻ với một số sysadins và bạn biết một bí mật được chia sẻ không còn là bí mật nữa.

  3. Tùy chọn 3 có các tùy chọn tốt nhất trong cả hai tùy chọn trước đó nhưng nếu ai đó có quyền truy cập vào khóa cũng có thể có quyền truy cập vào mật khẩu :(, vì vậy nó dường như không an toàn chút nào.

Làm thế nào để bạn quản lý bảo mật các khóa riêng của máy chủ của bạn? Có lựa chọn nào khác (an toàn hơn) không?

Câu trả lời:


10

Lựa chọn 1 là tôi nghĩ tiêu chuẩn được chấp nhận.

Tuy nhiên, nếu bạn thực sự muốn bảo mật thêm, tại sao bạn không có máy chủ bảo mật (không phải trong DMZ của bạn) được thiết lập để giám sát máy chủ web của bạn và nếu apache bị hỏng, nó có thể tự động đăng nhập từ xa và khởi động lại apache , cung cấp cụm mật khẩu.

Vì vậy, cụm mật khẩu được giữ trên máy tính, nhưng không phải là mật khẩu giống như apache đang chạy và không có trong DMZ của bạn. Bạn có được sự bảo mật bổ sung khi sử dụng cụm mật khẩu và duy trì khả năng tự động khởi động lại.


5

Nếu ai đó có đủ quyền truy cập vào máy chủ để đọc khóa, thì rất có thể họ cũng có đủ quyền truy cập để đính kèm trình gỡ lỗi và lấy khóa từ bộ nhớ.

Trừ khi bạn thực sự muốn thức dậy vào giữa đêm để nhập mật khẩu, hãy chọn tùy chọn 1. Khi bạn có nhiều máy chủ, bạn muốn tự động khởi động lại khi không thành công và tùy chọn 2 không cho phép điều đó.


1

Một khả năng để bảo mật cao hơn 1. nhưng ít thời gian hơn 2. là tạo các khóa riêng có hiệu lực ngắn và thường xuyên tái chế chúng. Bằng cách đó bạn có thể lưu trữ chúng mà không cần cụm mật khẩu nhưng giảm cửa sổ dễ bị tổn thương.

Như bạn đã nhận ra, tùy chọn 3. không cung cấp bất kỳ bảo mật bổ sung nào trên 1.


1

Tính thực tiễn cho thấy rằng trong hầu hết các tình huống bạn sẽ kết thúc bằng cách sử dụng tùy chọn (1). Perms hệ thống tập tin là cách tốt nhất để đi trong hầu hết các tình huống bảo mật và thực tế.

Trên hệ thống * nix, bạn chỉ có thể giới hạn khóa riêng chỉ để root, vì hầu hết các máy chủ web tốt (như apache) sẽ bắt đầu bằng root nhưng hạ cấp quyền riêng tư của họ cho người dùng bị hạn chế khi họ có các cổng đặc quyền họ cần (80, 443, v.v.) .

Như bạn đã đề cập tùy chọn (3) là từ quan điểm bảo mật giống như tùy chọn (1).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.