나는 사용하려고열쇠고리데비안 최신 안정 버전에서는 약간의 어려움이 있습니다. 온라인으로 검색해봐도 해결책을 찾을 수 없었지만 이 경우에는 다른 접근 방식이나 다른 도구가 더 나을 수도 있다고 생각했습니다.
나는 합리적으로 간단한 것을 달성하고 싶습니다.
- 재부팅 후 루트로 서버에 로그인하면 사용자에게 다음을 묻는 메시지가 표시됩니다.마스터 암호 한 번.
- 이 암호는 메모리에 로드되어 잠금을 해제하는 데 사용됩니다.둘 다(
ssh private key
원격 Git 저장소, 원격 인증 등에서 코드를 가져오는 데 사용됨) 및gpg private key
(git에서 오는 일부 구성 매개변수를 해독하는 데 사용됨).
이렇게 하면 루트 계정에 액세스하거나 메모리를 덤프할 수 있는 경우에만 암호를 추출할 수 있습니다. 서버가 재부팅되자마자 암호가 지워집니다. HSM이나 더 정교한 것을 위한 예산/리소스가 없습니다. 나는 간단하고 저렴하며 충분히 안정적이고 안전하게 작동하는 것을 원합니다.
키체인이 좋은 후보인 것 같지만 두 요구 사항을 모두 충족하기 위해 제대로 작동하도록 할 수는 없습니다. 즉, 암호 문구를 두 번 요청하고 gpg로 무언가를 해독하려고 할 때 세 번째로 요청합니다... 키체인이나 다른 도구 또는 셸 스크립트를 사용하여 이를 안전하게 달성할 수 있는 방법이 있습니까?
[이것이 ServerFault에 속하는지 여기에 속하는지 확실하지 않습니다.]
답변1
별도의 암호화된 파일 시스템을 사용하십시오(실제로 일반 파일에 저장하고 dm을 통해 마운트할 수 있음). 보안 측면에서 파일 시스템 액세스 권한은 실행 중인 프로세스의 가상 메모리에 이를 유지하는 것과 동일한 트릭을 수행합니다. 둘 다 루트로 액세스할 수 있습니다(이를 방지하기 위해 추가 조치를 취하지 않는 한). 실제로 에이전트 도우미에서 암호를 캐싱하는 경우보다 암호가 스왑으로 끝날 가능성이 낮아집니다. 하지만 보안이 주요 관심사라면 스왑을 암호화된 상태로 유지해야 합니다(또는 완전히 비활성화해야 함).