Linux 서버에서 마스터 암호 캐싱

Linux 서버에서 마스터 암호 캐싱

나는 사용하려고열쇠고리데비안 최신 안정 버전에서는 약간의 어려움이 있습니다. 온라인으로 검색해봐도 해결책을 찾을 수 없었지만 이 경우에는 다른 접근 방식이나 다른 도구가 더 나을 수도 있다고 생각했습니다.

나는 합리적으로 간단한 것을 달성하고 싶습니다.

  • 재부팅 후 루트로 서버에 로그인하면 사용자에게 다음을 묻는 메시지가 표시됩니다.마스터 암호 한 번.
  • 이 암호는 메모리에 로드되어 잠금을 해제하는 데 사용됩니다.둘 다( ssh private key원격 Git 저장소, 원격 인증 등에서 코드를 가져오는 데 사용됨) 및 gpg private key(git에서 오는 일부 구성 매개변수를 해독하는 데 사용됨).

이렇게 하면 루트 계정에 액세스하거나 메모리를 덤프할 수 있는 경우에만 암호를 추출할 수 있습니다. 서버가 재부팅되자마자 암호가 지워집니다. HSM이나 더 정교한 것을 위한 예산/리소스가 없습니다. 나는 간단하고 저렴하며 충분히 안정적이고 안전하게 작동하는 것을 원합니다.

키체인이 좋은 후보인 것 같지만 두 요구 사항을 모두 충족하기 위해 제대로 작동하도록 할 수는 없습니다. 즉, 암호 문구를 두 번 요청하고 gpg로 무언가를 해독하려고 할 때 세 번째로 요청합니다... 키체인이나 다른 도구 또는 셸 스크립트를 사용하여 이를 안전하게 달성할 수 있는 방법이 있습니까?

[이것이 ServerFault에 속하는지 여기에 속하는지 확실하지 않습니다.]

답변1

별도의 암호화된 파일 시스템을 사용하십시오(실제로 일반 파일에 저장하고 dm을 통해 마운트할 수 있음). 보안 측면에서 파일 시스템 액세스 권한은 실행 중인 프로세스의 가상 메모리에 이를 유지하는 것과 동일한 트릭을 수행합니다. 둘 다 루트로 액세스할 수 있습니다(이를 방지하기 위해 추가 조치를 취하지 않는 한). 실제로 에이전트 도우미에서 암호를 캐싱하는 경우보다 암호가 스왑으로 끝날 가능성이 낮아집니다. 하지만 보안이 주요 관심사라면 스왑을 암호화된 상태로 유지해야 합니다(또는 완전히 비활성화해야 함).

관련 정보