7.5. Keylime 등록 기관을 컨테이너로 배포


등록 기관은 모든 에이전트의 데이터베이스가 포함된 Keylime 구성 요소이며 신뢰할 수 있는 플랫폼 모듈(TPM) 공급업체의 공개 키를 호스팅합니다. 등록 기관의 HTTPS 서비스에서 TPM 공개 키를 허용하면 따옴표를 확인하기 위해 이러한 공개 키를 가져오는 인터페이스가 표시됩니다. 호스트의 바이너리 또는 패키지 없이 Keylime 등록 기관을 RPM 방법 대신 컨테이너로 구성할 수 있습니다. 컨테이너 배포로 Keylime 구성 요소의 격리, 모듈성 및 재현성을 개선할 수 있습니다.

컨테이너를 시작한 후 Keylime 등록 기관이 기본 구성 파일과 함께 배포됩니다. 다음 방법 중 하나 이상을 사용하여 구성을 사용자 지정할 수 있습니다.

  • 구성 파일이 포함된 호스트의 디렉터리를 컨테이너에 마운트합니다. 이는 모든 RHEL 9 버전에서 사용할 수 있습니다.
  • 컨테이너에서 직접 환경 변수를 수정합니다. RHEL 9.3 이상 버전에서 사용할 수 있습니다. 환경 변수를 수정하면 구성 파일의 값이 재정의됩니다.

사전 요구 사항

  • podman 패키지 및 해당 종속 항목은 시스템에 설치됩니다.
  • 선택 사항: Keylime이 등록 기관의 데이터를 저장하는 데이터베이스에 액세스할 수 있습니다. 다음 데이터베이스 관리 시스템을 사용할 수 있습니다.

    • SQLite(기본값)
    • PostgreSQL
    • MySQL
    • MariaDB
  • 인증 기관의 유효한 키와 인증서가 있습니다.

절차

  1. 선택 사항: keylime-registrar 패키지를 설치하여 구성 파일에 액세스합니다. 이 패키지 없이 컨테이너를 구성할 수 있지만 패키지와 함께 제공된 구성 파일을 더 쉽게 수정할 수 있습니다.

    # dnf install keylime-registrar
  2. /etc/keylime/registrar .conf.d/ 디렉터리에 새 .conf 파일을 생성하여 등록 기관을 모든 사용 가능한 IP 주소에 바인딩합니다(예: /etc/keylime/registrar.conf.d/00-registrar-ip.conf ).

    [registrar]
    ip = *
    • 선택적으로 port 옵션을 사용하여 Keylime 에이전트가 연결하는 포트 를 변경합니다. 기본값은 8890 입니다.
    • 필요한 경우 tls_port 옵션을 사용하여 Keylime 테넌트가 연결하는 TLS 포트를 변경합니다. 기본값은 8891 입니다.
  3. 선택 사항: 에이전트 목록에 대한 등록 기관의 데이터베이스를 구성합니다. 기본 구성에서는 등록 기관의 /var/lib/keylime/reg_data.sqlite 디렉터리의 SQLite 데이터베이스를 사용합니다. /etc/keylime/registrar .conf.d/ 디렉터리에 새 .conf 파일을 생성할 수 있습니다(예: /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에 대한 권한이 있는지 확인합니다.

  4. 등록 기관에 인증서 및 키를 추가합니다.

    • 기본 구성을 사용하여 키와 인증서를 /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 = &lt;/path/to/server_key&gt;
      server_cert = &lt;/path/to/server_cert&gt;
      trusted_client_ca = ['&lt;/path/to/ca/cert1&gt;', '&lt;/path/to/ca/cert2&gt;']
      참고

      절대 경로를 사용하여 키 및 인증서 위치를 정의합니다. 또는 tls_dir 옵션에 디렉터리를 정의하고 해당 디렉터리에 상대적인 경로를 사용할 수 있습니다.

  5. 방화벽에서 포트를 엽니다.

    # firewall-cmd --add-port 8890/tcp --add-port 8891/tcp
    # firewall-cmd --runtime-to-permanent

    다른 포트를 사용하는 경우 8890 또는 8891.conf 파일에 정의된 포트 번호로 바꿉니다.

  6. 컨테이너를 실행합니다.

    $ podman run --name keylime-registrar \
      -p 8890:8890 \
      -p 8891:8891 \
      -v /etc/keylime/registrar.conf.d:/etc/keylime/registrar.conf.d:Z \
      -v /var/lib/keylime/reg_ca:/var/lib/keylime/reg_ca:Z \
      -d \
      -e KEYLIME_REGISTRAR_SERVER_KEY_PASSWORD=&lt;passphrase1&gt; \
      registry.access.redhat.com/rhel9/keylime-registrar
    • -p 옵션은 호스트 및 컨테이너에서 기본 포트 88908881 을 엽니다.
    • -v 옵션은 디렉터리에 대한 바인딩 마운트를 컨테이너에 생성합니다.

      • Z 옵션을 사용하면 Podman은 비공개 비공유 레이블로 콘텐츠를 표시합니다. 즉, 현재 컨테이너만 개인 볼륨을 사용할 수 있습니다.
    • d 옵션은 컨테이너 분리 및 백그라운드에서 실행됩니다.
    • 옵션 -e KEYLIME_VERIFIER_SERVER_KEY_PASSWORD= <passphrase1& gt;은 서버 키 암호를 정의합니다.
    • -e KEYLIME_REGISTRAR _<ENVIRONMENT_VARIABLE> = <value > 옵션을 사용하여 환경 변수로 구성 옵션을 덮어쓸 수 있습니다. 추가 옵션을 수정하려면 각 환경 변수에 대해 -e 옵션을 별도로 삽입합니다. 환경 변수 및 기본값의 전체 목록은 7.12절. “Keylime 환경 변수” 을 참조하십시오.

검증

  • 컨테이너가 실행 중인지 확인합니다.

    $ podman ps -a
    CONTAINER ID  IMAGE                               COMMAND            CREATED             STATUS             PORTS                                           NAMES
    07d4b4bff1b6  localhost/keylime-registrar:latest  keylime_registrar  12 seconds ago      Up 12 seconds      0.0.0.0:8881->8881/tcp, 0.0.0.0:8891->8891/tcp  keylime-registrar

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.