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