7.4. 패키지에서 Keylime 등록 기관 배포
등록 기관은 모든 에이전트의 데이터베이스가 포함된 Keylime 구성 요소이며 TPM 공급 업체의 공개 키를 호스팅합니다. 등록 기관의 HTTPS 서비스에서 신뢰할 수 있는 플랫폼 모듈(TPM) 공개 키를 허용하면 따옴표를 확인하기 위해 이러한 공개 키를 가져오는 인터페이스가 제공됩니다.
신뢰 체인을 유지하려면 등록 기관을 실행하는 시스템을 안전하게 유지하고 제어하에 두십시오.
요구 사항에 따라 별도의 시스템 또는 Keylime verifier와 동일한 시스템에 등록 기관을 설치할 수 있습니다. 별도의 시스템에서 검증기 및 등록 기관을 실행하면 성능이 향상됩니다.
구성 파일을 드롭인 디렉터리 내에서 유지하려면 두 자리 번호 접두사(예: /etc/keylime/registrar.conf.d/00-registrar-ip.conf
)와 함께 파일 이름을 사용합니다. 구성 처리는 드롭인 디렉터리 내의 파일을 사전순으로 읽고 각 옵션을 읽은 마지막 값으로 설정합니다.
사전 요구 사항
- Keylime 검증기가 설치되어 실행 중인 시스템에 대한 네트워크 액세스 권한이 있습니다. 자세한 내용은 7.2절. “패키지에서 Keylime verifier 배포”의 내용을 참조하십시오.
-
Keylime 구성 요소를 설치하려는 시스템 또는 시스템에 대한
루트
권한 및 네트워크 연결이 있습니다. Keylime이 등록 기관의 데이터를 저장하는 데이터베이스에 액세스할 수 있습니다. 다음 데이터베이스 관리 시스템을 사용할 수 있습니다.
- SQLite(기본값)
- PostgreSQL
- MySQL
- MariaDB
- 인증 기관의 유효한 키와 인증서가 있습니다.
절차
Keylime 등록 기관을 설치합니다.
# dnf install keylime-registrar
/etc/keylime/registrar
디렉터리에 새 .conf 파일을 생성하여 등록 기관의 IP 주소 및 포트를 정의합니다(예:.conf
.d//etc/keylime/registrar.conf.d/00-registrar-ip.conf
).[registrar] ip = <registrar_IP_address>
-
&
lt;registrar_IP_address>
;를 등록 기관의 IP 주소로 바꿉니다. 또는ip = *
또는ip = 0.0.0.0
을 사용하여 사용 가능한 모든 IP 주소에 등록 기관을 바인딩합니다. -
선택적으로 port 옵션을 사용하여 Keylime 에이전트가 연결하는
포트
를 변경합니다. 기본값은8890
입니다. -
필요한 경우
tls_port
옵션을 사용하여 Keylime verifier 및 테넌트가 연결하는 TLS 포트를 변경합니다. 기본값은8891
입니다.
-
&
선택 사항: 에이전트 목록에 대한 등록 기관의 데이터베이스를 구성합니다. 기본 구성에서는 등록 기관의
/var/lib/keylime/reg_data.sqlite
디렉터리의 SQLite 데이터베이스를 사용합니다./etc/keylime/registrar
디렉터리에 새 .conf 파일을 생성할 수 있습니다(예:.conf
.d//etc/keylime/registrar.conf.d/00-db-url.conf
).[registrar] database_url = <protocol>://<name>:<password>@<ip_address_or_hostname>/<properties>
<
protocol>://<name>:<password>@<ip_address_or_hostname>/<properties
>를 데이터베이스의 URL로 바꿉니다(예:postgresql://registrar:EKYYX-bqY2?#raXm@198.51.100.1/registrardb
).사용하는 인증 정보에 데이터베이스 구조를 생성하기 위한 Keylime에 대한 권한이 있는지 확인합니다.
등록 기관에 인증서 및 키를 추가합니다.
-
기본 구성을 사용하여 키와 인증서를
/var/lib/keylime/reg_ca/
디렉터리에 로드할 수 있습니다. 또는 구성에서 키와 인증서의 위치를 정의할 수 있습니다. /etc/keylime/registrar
.conf
.d/ 디렉터리에 새 .conf 파일을 만듭니다(예:/etc/keylime/registrar.conf.d/
00-keys-and-certs.conf[registrar] tls_dir = /var/lib/keylime/reg_ca server_key = </path/to/server_key> server_key_password = <passphrase1> server_cert = </path/to/server_cert> trusted_client_ca = ['</path/to/ca/cert1>', '</path/to/ca/cert2>']
참고절대 경로를 사용하여 키 및 인증서 위치를 정의합니다. 또는
tls_dir
옵션에 디렉터리를 정의하고 해당 디렉터리에 상대적인 경로를 사용할 수 있습니다.
-
기본 구성을 사용하여 키와 인증서를
방화벽에서 포트를 엽니다.
# firewall-cmd --add-port 8890/tcp --add-port 8891/tcp # firewall-cmd --runtime-to-permanent
다른 포트를 사용하는 경우
8890
또는8891
을.conf
파일에 정의된 포트 번호로 바꿉니다.keylime_registrar
서비스를 시작합니다.# systemctl enable --now keylime_registrar
참고기본 구성에서 확인자가 다른 Keylime 구성 요소에 대한 CA 및 인증서를 생성하므로
keylime_registrar
서비스를 시작하기 전에keylime_verifier
를 시작합니다. 사용자 정의 인증서를 사용할 때는 이 순서가 필요하지 않습니다.
검증
keylime_registrar
서비스가 활성 상태이고 실행 중인지 확인합니다.# systemctl status keylime_registrar ● keylime_registrar.service - The Keylime registrar service Loaded: loaded (/usr/lib/systemd/system/keylime_registrar.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2022-11-09 10:10:17 EST; 1min 42s ago ...