Làm cách nào tôi có thể tự động hóa giải mã gpg sử dụng cụm mật khẩu trong khi giữ bí mật?


13

Tôi được giao nhiệm vụ tự động hóa giải mã gpg bằng cron (hoặc bất kỳ công cụ lập lịch công việc tương thích với Ubuntu Server nào). Vì nó phải được tự động hóa nên tôi đã sử dụng --passphrasenhưng nó kết thúc trong lịch sử shell nên nó hiển thị trong danh sách quy trình.

Làm cách nào tôi có thể tự động hóa giải mã trong khi duy trì các tiêu chuẩn bảo mật tốt (tốt nhất là tuyệt vời)?

Một ví dụ sẽ được đánh giá cao.


Các đối số như thế này có thể nhìn thấy trong psvv trừ khi bạn hidepidbật /proc, nhưng trình bao chạy tập lệnh (từ cron hoặc cách khác) không tương tác và không nên viết lịch sử trừ khi được định cấu hình sai.
dave_thndry_085

Câu trả lời:


23

Lưu trữ cụm mật khẩu trong một tệp mà người dùng cron job chỉ có thể đọc được và sử dụng --passphrase-filetùy chọn để nói gpgđể đọc cụm mật khẩu ở đó.

Điều này sẽ đảm bảo rằng cụm mật khẩu không hiển thị trong thông tin quy trình trong bộ nhớ. Mức độ bảo mật sẽ được xác định bởi mức độ truy cập vào tệp lưu trữ cụm mật khẩu (cũng như mức độ truy cập vào tệp chứa khóa), bao gồm mọi nơi mà nội dung của nó được sao chép vào (vì vậy hãy cẩn thận với các bản sao lưu), và khả năng truy cập ngoại tuyến (kéo đĩa ra khỏi máy chủ). Mức độ bảo mật này có đủ hay không sẽ tùy thuộc vào các điều khiển truy cập của bạn đến máy chủ đang giữ tệp, vật lý và phần mềm và vào các tình huống bạn đang cố gắng giảm thiểu.

Nếu bạn muốn các tiêu chuẩn bảo mật tuyệt vời, bạn cần sử dụng một mô-đun bảo mật phần cứng thay vì lưu trữ khóa (và cụm mật khẩu) cục bộ. Điều này sẽ không ngăn khóa được sử dụng tại chỗ , nhưng nó sẽ ngăn không cho sao chép và sử dụng ở nơi khác.


+1 để đề cập đến mô-đun bảo mật phần cứng, giải pháp duy nhất, thực sự, cho câu hỏi hóc búa này.
MariusMatutiae

Stephen cảm ơn vì đã đề cập đến mô-đun bảo mật phần cứng, tôi sẽ thực hiện một số nghiên cứu. Cám ơn đã chỉ tôi hướng đi đúng.
Zakk Coetzee

@StephenKitt Phím phần cứng rất tuyệt khi làm việc. Khi họ không, tốt ...
Satō Katsura

@ SatōKatsura đúng, mặc dù tôi sẽ chỉ ra rằng Yubikey không phải là HSM. (Điều đó không có nghĩa là HSM không dễ bị tổn thương .)
Stephen Kitt

"Nếu bạn muốn các tiêu chuẩn bảo mật tuyệt vời", thì bạn không thể giải mã công việc tự động hoặc ký bất cứ điều gì.
JimmyB

5

Tự động giải mã có nghĩa là bạn phải lưu trữ cụm mật khẩu ở đâu đó hoặc không sử dụng cụm mật khẩu (trừ khi bạn sử dụng các tùy chọn bổ sung như được chỉ ra trong câu trả lời khác do Stephen gửi trong khi tôi đang gõ của tôi)! Không ai trong số những người phù hợp với yêu cầu của bạn cho các tiêu chuẩn bảo mật tốt hoặc tuyệt vời.

tức là yêu cầu của bạn không tương thích với nó được an toàn.

Bạn có thể dựa vào những thứ như - bạn phải root, tôi đã cung cấp tệp trong đó cụm mật khẩu của tôi được lưu trữ một tên thực sự khó hiểu, tôi đã mã hóa các hệ thống tệp cơ bản, v.v., nhưng chúng đều là các lớp đó là tầm thường để phá vỡ một khi bạn đã root ở vị trí đầu tiên.

Tùy chọn ngăn cụm mật khẩu hiển thị trong danh sách quy trình là --passphrase-file <file-name>.

Tuy nhiên, điều đó không an toàn hơn việc chỉ xóa cụm mật khẩu ở vị trí đầu tiên.


Cảm ơn bạn đã giải thích Tony, bạn đã đưa ra một cái nhìn tốt hơn về vấn đề này. Một mô-đun bảo mật phần cứng như được đề cập bởi Stephen sẽ là mục tiêu chính.
Zakk Coetzee

@ZakkCoetzee: Như tôi đã nói trong câu trả lời khác, điều gì ngăn kẻ tấn công sử dụng HSM nếu chúng là root?
Martin Bonner hỗ trợ Monica

@MartinBonner Như đã nói ở trên của Stephen Kitt, điều đó ngăn họ lấy chìa khóa, điều này chắc chắn tốt hơn là lấy chìa khóa.
Zakk Coetzee

Đó là, nhưng không tốt hơn nhiều. Hỏi Diginotar (người có chìa khóa của họ trong HSM, nhưng vẫn để HSM được kết nối và với thẻ thông minh có liên quan trong khe - để kẻ tấn công có thể ký một số chứng chỉ của kẻ tấn công.)
Martin Bonner hỗ trợ Monica
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.