Trường hợp các công ty thường lưu trữ chứng chỉ SSL để sử dụng trong tương lai?


26

Gần đây chúng tôi đã mua chứng chỉ SSL ký tự đại diện cho tên miền của chúng tôi. Chúng tôi đã chuyển đổi tất cả các certs thành kho khóa Java, nhưng bây giờ chúng tôi đang tự hỏi mình nên lưu trữ chúng ở đâu để sử dụng sau.

Mọi người có sử dụng kiểm soát nguồn như BitBucket cho các loại tệp này không hoặc chỉ tạo mỗi khi cần, hoặc một cái gì khác?

Chúng tôi tự hỏi liệu có một giải pháp tiêu chuẩn hoặc bất kỳ "thực tiễn tốt nhất" nào xung quanh việc lưu trữ các chứng chỉ này để sử dụng trong tương lai.


Sao lưu chúng được mã hóa vào giải pháp sao lưu truyền thống của bạn. Không lưu trữ khóa riêng không được mã hóa với bất kỳ nhà cung cấp bên ngoài nào. Tôi thường bao gồm các vấn đề và ngày hết hạn trong tên tệp chứng chỉ và khóa của tôi để phân biệt.
Andrew Domaszek

Câu trả lời:


22

Có nhiều giải pháp:

Một đại lộ là một kho khóa cụ thể hoặc là một thiết bị dựa trên phần cứng, mô-đun bảo mật phần cứng hoặc tương đương dựa trên phần mềm.

Một cách khác là chỉ cần thu hồi khóa cũ và tạo một cặp khóa riêng / chung mới khi tình huống phát sinh. Điều đó phần nào chuyển vấn đề từ duy trì bảo mật chính sang bảo mật tên người dùng / mật khẩu của tài khoản với nhà cung cấp chứng chỉ và quy trình của họ để cấp lại. Ưu điểm là hầu hết các tổ chức đã có giải pháp quản lý tài khoản đặc quyền, ví dụ 1 2

Có nhiều cách lưu trữ ngoại tuyến, từ in một bản sao cứng của cặp khóa riêng và khóa chung bao gồm cả mật khẩu (nhưng đó sẽ là một con chó cái để khôi phục) đến việc lưu trữ chúng trên phương tiện kỹ thuật số được xếp hạng để lưu trữ trong thời gian dài .

Những nơi thực sự tồi tệ là GitHub, nhóm của bạn WiKi hoặc chia sẻ mạng (và bạn có ý tưởng).

Cập nhật 2015/4/29: Keywhiz dường như cũng là một cách tiếp cận thú vị.


Tôi tò mò, ý của bạn là "tương đương dựa trên phần mềm" cho HSM là gì?

Một số nhà cung cấp thiết bị phần cứng hiện nay bán thiết bị của họ cũng dưới dạng thiết bị ảo, VM. Ngoài ra còn có những thứ như kho khóa của OracleSoftHSM mã nguồn mở để đặt tên cho một số.
HBruijn

Về cơ bản, điều đó cho phép biến một máy tính tiêu chuẩn thành HSM ...

1
"nhưng đó sẽ là một con chó cái để khôi phục" -> Cái này làm cho tôi một ngày! Đùa sang một bên, bạn nên mã hóa nó trước khi lưu.
Ismael Miguel

Theo định nghĩa, bạn sẽ tiết lộ khóa công khai của mình cho mọi người. Không có lý do để mã hóa điều đó. Nhưng đó không phải là lý do để cẩu thả với nó. Bảo mật chủ yếu dành cho khóa riêng, thường được mã hóa / bảo vệ bằng mật khẩu. Bạn nên đặt mục tiêu có càng ít bản sao càng tốt.
HBruijn

21

Không, chứng chỉ SSL không đi trong kiểm soát nguồn, ít nhất không phải là phần khóa riêng.

Đối xử với họ như bạn sẽ làm một mật khẩu. Chúng tôi thực sự được lưu trữ chính xác giống như cách mật khẩu của chúng tôi thực hiện - trong KeePass. Nó cho phép bạn đính kèm tập tin, và được mã hóa.


3

Nếu bạn đặt khóa riêng trong kiểm soát nguồn, bất kỳ ai có quyền truy cập vào nó đều có thể mạo danh máy chủ của bạn. Nếu máy chủ web của bạn không sử dụng PFS (bảo mật hoàn hảo về phía trước) thì cũng có thể giải mã bất kỳ lưu lượng SSL nào bị bắt bằng các công cụ nguồn mở phổ biến như Wireshark.

Bạn có thể bảo vệ khóa bằng cách mã hóa DES hoặc AES bằng cụm mật khẩu bằng OpenSSL. OpenSSL có sẵn cho Linux, OSX và Windows.

OpenSSL cũng có thể xóa cụm mật khẩu khi cụm mật khẩu không thuận tiện (ví dụ: trên máy chủ web khởi động tự động nhưng không hỗ trợ nhập cụm mật khẩu tự động).

Thêm cụm mật khẩu sử dụng mã hóa AES (an toàn hơn DES): -

openssl rsa -aes256 -in private.key -out encrypted.private.key

Xóa cụm mật khẩu (bạn sẽ được nhắc nhập cụm mật khẩu): -

openssl rsa -in encrypted.private.key -out decrypted.private.key

1
Nếu bạn đang thực hiện đúng cách thì ngay cả việc lộ khóa riêng cũng không dẫn đến thỏa hiệp lưu lượng truy cập trong quá khứ, mặc dù điều đó chắc chắn sẽ khiến MITM'ing thỏa hiệp lưu lượng truy cập trong tương lai dễ dàng hơn nhiều.
một CVn

Xin chào @Michael, về mặt lý thuyết, nhưng thật đáng buồn là tôi đã có thể giải mã được rất nhiều bản chụp Apache và IIS để tôi chỉ có thể giả sử PFS bị tắt theo mặc định. Thậm chí rất nhiều IPSEC VPN đã tắt.
Tricky

PFS không có quá nhiều mặc định vì nó không được hỗ trợ bởi nhiều bộ mật mã. Hãy thử kiểm tra máy chủ SSL Labs một thời gian; nó chỉ ra bộ mật mã nào hỗ trợ FS. Tất nhiên, việc vô hiệu hóa tất cả các bộ mật mã không phải là FS có thể khiến nhiều khách hàng bị lạnh vì họ không hỗ trợ các bộ mật mã FS. Tuy nhiên, việc cung cấp các bộ phần mềm FS sẽ có hiệu quả (nhưng tôi khuyên bạn không nên tự đặt hàng bộ mật mã trừ khi bạn biết bạn đang làm gì và điểm mạnh và điểm yếu tương đối của chúng).
CVn

Cảm ơn lời giới thiệu trên SSL Labs @Michael. Thật không may, các máy chủ của tôi không phải đối mặt với internet nhưng tôi đã chơi xung quanh với các mật mã được kích hoạt và như bạn đề xuất PFS dường như chỉ được hỗ trợ bởi một số mật mã. PFS thực sự ngăn tôi giải mã dấu vết gói. Tôi sẽ cập nhật câu trả lời của tôi cho phù hợp.
Tricky

1

Một lựa chọn khác, sau khi đọc về KeyWhiz, là HashiCorp's Vault. Nó không chỉ là một trình quản lý mật khẩu, mà còn là một cửa hàng Secrets, tôi tin rằng có phần giống với KeyWhiz. Nó được viết bằng GO, và máy khách cũng hoạt động như máy chủ và nối vào một loạt các phụ trợ và phương thức xác thực. Vault cũng là nguồn mở, với tùy chọn Enterprise là tốt.

Vì Khóa và Chứng chỉ SSL chỉ là tệp văn bản, bạn có thể mã hóa 64 mã và lưu nó dưới dạng chuỗi trong Vault hoặc thậm chí chỉ là văn bản trong Vault. Không có WebUI hoặc GUI, tất cả dòng lệnh hoặc tập lệnh được điều khiển và có API web ổn định, rất tốt để khởi động.

  1. https://www.vaultproject.io/
  2. https://github.com/hashicorp/vault

0

Tôi khuyên bạn nên xem xét một HSM ngoại tuyến (như mã thông báo mã hóa phần cứng hoặc CAC) để lưu trữ khóa riêng và chứng chỉ. Điều này không chỉ bảo vệ khóa riêng khỏi sự thỏa hiệp ngẫu nhiên, nó còn cung cấp một số giảm tải mật mã cơ bản.

Nếu bạn có nhiều tài sản mật mã để quản lý, tôi khuyên bạn nên xem xét phần mềm Quản lý chứng chỉ & khóa doanh nghiệp, có thể tự động gia hạn, theo dõi vòng đời, tự động cung cấp cho các điểm cuối, v.v. CLOB trong cơ sở dữ liệu.


Tại sao các downvote? Không phàn nàn; tò mò về những gì sai với câu trả lời này.
Matt

Không chắc chắn tại sao nó đã bỏ phiếu. HSM được thiết kế đặc biệt để lưu trữ khóa an toàn và mã hóa tốc độ cao. Tôi chỉ có thể đoán nó liên quan đến chi phí hoặc quản lý phức tạp hơn. Tất cả các ngân hàng lớn sử dụng HSM cho các hoạt động chính trong các hoạt động như giao dịch Chip & Pin.
Tricky
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.