10.12. 고가용성 NBDE 시스템 배포
Tang은 고가용성 배포를 구축하기 위한 두 가지 방법을 제공합니다.
- 클라이언트 중복(권장)
-
클라이언트를 여러 Tang 서버에 바인딩할 수 있는 기능으로 구성해야 합니다. 이 설정에서 각 Tang 서버에는 자체 키가 있으며 클라이언트는 이러한 서버의 하위 집합에 연결하여 암호를 해독할 수 있습니다. Clevis는 이미
sss
플러그인을 통해 이 워크플로를 지원합니다. Red Hat은 고가용성 배포에 이 방법을 권장합니다. - 키 공유
-
중복성을 위해 둘 이상의 Tang 인스턴스를 배포할 수 있습니다. 두 번째 또는 후속 인스턴스를 설정하려면
tang
패키지를 설치하고SSH
를 통해rsync
를 사용하여 키 디렉터리를 새 호스트에 복사합니다. 키를 공유하면 키 손상 위험이 증가하고 추가 자동화 인프라가 필요하므로 Red Hat은 이 방법을 권장하지 않습니다.
Shamir의 Secret Sharing를 사용한 고급 기능
Shamir의 SDS(Secret Sharing)는 시크릿을 여러 가지 고유한 부분으로 나누는 암호화 체계입니다. 시크릿을 복원하려면 여러 부분이 필요합니다. 이 수를 임계값이라고 하며 SSS를 임계값 지정 체계라고도 합니다.
Clevis는 SSS 구현을 제공합니다. 키를 생성하고 여러 조각으로 나눕니다. 각 조각은 SSS를 포함하여 다른 핀을 사용하여 암호화됩니다. 또한 t
임계값을 정의합니다. TPM 배포가 최소 t
조각을 암호 해독하는 경우 암호화 키를 복구하고 암호 해독 프로세스가 성공합니다. Clevis가 임계값에 지정된 것보다 적은 수의 부분을 감지하면 오류 메시지를 출력합니다.
예 1: 두 개의 Tang 서버를 통한 이중화
다음 명령은 두 개의 Tang 서버 중 하나를 사용할 수 있는 경우 LUKS 암호화 장치의 암호를 해독합니다.
# clevis luks bind -d /dev/sda1 sss '{"t":1,"pins":{"tang":[{"url":"http://tang1.srv"},{"url":"http://tang2.srv"}]}}'
이전 명령에서는 다음 구성 스키마를 사용했습니다.
{ "t":1, "pins":{ "tang":[ { "url":"http://tang1.srv" }, { "url":"http://tang2.srv" } ] } }
이 구성에서 SSS 임계값 t
는 1
로 설정되고 clevis luks bind
명령은 나열된 두 개 이상의 tang
서버가 사용 가능한 경우 시크릿을 성공적으로 재구성합니다.
예 2: Tang 서버 및 TPM 장치의 공유 시크릿
다음 명령은 tang
서버와 tpm2
장치를 모두 사용할 수 있을 때 LUKS 암호화 장치를 성공적으로 해독합니다.
# clevis luks bind -d /dev/sda1 sss '{"t":2,"pins":{"tang":[{"url":"http://tang1.srv"}], "tpm2": {"pcr_ids":"0,7"}}}'
SSS 임계값 't'가 '2'로 설정된 구성 스키마는 이제 다음과 같습니다.
{ "t":2, "pins":{ "tang":[ { "url":"http://tang1.srv" } ], "tpm2":{ "pcr_ids":"0,7" } } }
추가 리소스
-
Tang(8)
(섹션High Availability
),clevis(1)
(섹션Shamir의 Secret Sharing
) 및clevis-encrypt-ssss(1)
도움말 페이지