7.11. 측정된 부팅 테스트를 위해 Keylime 구성


측정된 부팅 테스트용으로 Keylime을 구성할 때 Keylime은 측정된 시스템의 부팅 프로세스가 정의한 상태에 해당하는지 확인합니다.

사전 요구 사항

절차

  1. Keylime 에이전트가 구성되어 실행되는 모니터링 시스템에서 create_mb_refstate 스크립트가 포함된 python3-keylime 패키지를 설치합니다.

    # dnf -y install python3-keylime
    Copy to Clipboard Toggle word wrap
  2. 모니터링된 시스템에서 create_mb_refstate 스크립트를 사용하여 시스템의 현재 상태의 측정된 부팅 로그에서 정책을 생성합니다.

    # /usr/share/keylime/scripts/create_mb_refstate /sys/kernel/security/tpm0/binary_bios_measurements <./measured_boot_reference_state.json>
    Copy to Clipboard Toggle word wrap
    • 스크립트에서 생성된 정책을 저장하는 경로로 < ./measured_boot_reference_state.json >을 바꿉니다.
    • UEFI 시스템에 Secure Boot가 활성화되어 있지 않은 경우 --without-secureboot 인수를 전달합니다.

      중요

      create_mb_refstate 스크립트를 사용하여 생성된 정책은 시스템의 현재 상태를 기반으로하며 매우 엄격하게 사용됩니다. 커널 업데이트 및 시스템 업데이트를 포함한 시스템을 변경하면 부팅 프로세스가 변경되고 시스템이 테스트되지 않습니다.

  3. 생성된 정책을 keylime_tenant 유틸리티가 구성된 시스템에 복사합니다. 예를 들면 다음과 같습니다.

    # scp root@<agent_ip>:<./measured_boot_reference_state.json> <./measured_boot_reference_state.json>
    Copy to Clipboard Toggle word wrap
  4. Keylime 테넌트가 구성된 시스템에서 keylime_tenant 유틸리티를 사용하여 에이전트를 프로비저닝합니다.

    # keylime_tenant -c add -t <agent_ip> -u <agent_uuid> --mb_refstate <./measured_boot_reference_state.json> --cert default
    Copy to Clipboard Toggle word wrap
    • & lt;agent_ip& gt;를 에이전트의 IP 주소로 바꿉니다.
    • & lt;agent_uuid& gt;를 에이전트의 UUID로 바꿉니다.
    • & lt;./measured_boot_reference_state.json >을 측정된 부팅 정책의 경로로 바꿉니다.

    런타임 모니터링과 함께 측정된 부팅을 구성하는 경우 keylime_tenant -c add 명령을 입력할 때 두 사용 사례 모두에서 모든 옵션을 제공합니다.

    참고

    # keylime_tenant -c delete -t <agent_ ip> -u < agent_uuid > 명령을 사용하여 노드 모니터링에서 Keylime을 중지할 수 있습니다.

    keylime_tenant -c update 명령을 사용하여 이미 등록된 에이전트의 구성을 수정할 수 있습니다.

검증

  1. 모니터링된 시스템을 재부팅하고 에이전트가 성공적으로 테스트되었는지 확인합니다.

    # keylime_tenant -c cvstatus -u <agent_uuid>
    ...
    {"<agent.uuid>": {"operational_state": "Get Quote"..."attestation_count": 5
    ...
    Copy to Clipboard Toggle word wrap

    & lt;agent_uuid& gt;를 에이전트의 UUID로 바꿉니다.

    operational_state 값이 Get Quote 이고 attestation_count 가 0이 아닌 경우 이 에이전트의 인증이 성공적으로 수행됩니다.

    operational_state 값이 Invalid Quote 또는 Failed attestation에 실패하면 명령과 유사한 출력이 표시됩니다.

    {"<agent.uuid>": {"operational_state": "Invalid Quote", ... "ima.validation.ima-ng.not_in_allowlist", "attestation_count": 5, "last_received_quote": 1684150329, "last_successful_attestation": 1684150327}}
    Copy to Clipboard Toggle word wrap
  2. 테스트에 실패하면 검증기 로그에 세부 정보를 표시합니다.

    # journalctl -u keylime_verifier
    {"d432fbb3-d2f1-4a97-9ef7-75bd81c00000": {"operational_state": "Tenant Quote Failed", ... "last_event_id": "measured_boot.invalid_pcr_0", "attestation_count": 0, "last_received_quote": 1684487093, "last_successful_attestation": 0}}
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동