7.9. 패키지에서 Keylime 에이전트 배포


Keylime 에이전트는 Keylime에서 모니터링할 모든 시스템에 배포된 구성 요소입니다.

기본적으로 Keylime 에이전트는 모니터링된 시스템의 /var/lib/keylime/ 디렉터리에 모든 데이터를 저장합니다.

참고

구성 파일을 드롭인 디렉터리 내에 구성하려면 두 자리 숫자 접두사가 있는 파일 이름을 사용합니다(예: /etc/keylime/agent.conf.d/00-registrar-ip.conf ). 구성 처리는 드롭인 디렉터리 내의 파일을 사전순으로 읽고 각 옵션을 읽은 마지막 값으로 설정합니다.

사전 요구 사항

  • 모니터링되는 시스템에 대한 root 권한이 있습니다.
  • 모니터링된 시스템에는 신뢰할 수 있는 플랫폼 모듈(TPM)이 있습니다. 확인하려면 tpm2_pcrread 명령을 입력합니다. 출력에 여러 해시가 반환되면 TPM을 사용할 수 있습니다.
  • 다른 Keylime 구성 요소가 구성된 시스템에 대한 네트워크 액세스 권한이 있습니다.

    Verifier
    자세한 내용은 Keylime verifier 구성을 참조하십시오.
    Registrar
    자세한 내용은 Keylime 등록 기관 구성을 참조하십시오.
    테넌트
    자세한 내용은 Keylime 테넌트 구성을 참조하십시오.
  • 모니터링되는 시스템에서 무결성 측정 아키텍처(IMA)가 활성화됩니다. 자세한 내용은 무결성 측정 아키텍처 활성화 및 확장 검증 모듈을 참조하십시오.

절차

  1. Keylime 에이전트를 설치합니다.

    # dnf install keylime-agent

    이 명령은 keylime-agent-rust 패키지를 설치합니다.

  2. 구성 파일에 에이전트의 IP 주소와 포트를 정의합니다. /etc/keylime/agent .conf.d/ 디렉터리에 새 .conf 파일을 만듭니다(예: /etc/keylime/agent.conf.conf.d/00-agent-ip.conf ).

    [agent]
    ip = '<agent_ip>'
    참고

    Keylime 에이전트 구성은 다른 구성 요소의 구성에 사용되는 INI 형식과 다른 TOML 형식을 사용합니다. 따라서 유효한 TOML 구문에 값을 입력합니다(예: 단일 따옴표로 경로 및 여러 경로의 배열은 대괄호로 묶습니다.

    • & lt;agent_IP_address& gt;를 에이전트의 IP 주소로 바꿉니다. 또는 ip = '*' 또는 ip = '0.0.0.0' 을 사용하여 사용 가능한 모든 IP 주소에 에이전트를 바인딩합니다.
    • 선택적으로 port = ' <agent_port> ' 옵션을 사용하여 기본 값 9002 에서 에이전트의 포트 를 변경할 수도 있습니다.
  3. 구성 파일에 등록 기관의 IP 주소와 포트를 정의합니다. /etc/keylime/agent .conf.d/ 디렉터리에 새 .conf 파일을 만듭니다(예: /etc/keylime/agent.conf.d/00-registrar-ip.conf ).

    [agent]
    registrar_ip = '<registrar_IP_address>'
    • & lt;registrar_IP_address&gt;를 등록 기관의 IP 주소로 바꿉니다.
    • 선택적으로 registrar_port = ' <registrar_port>' 옵션을 사용하여 기본 값 8890 에서 등록 기관 포트 를 변경할 수도 있습니다.
  4. 선택 사항: 에이전트의 UUID(Universally unique identifier)를 정의합니다. 정의되지 않은 경우 기본 UUID가 사용됩니다. /etc/keylime/agent .conf.d/ 디렉터리에 새 .conf 파일을 만듭니다(예: /etc/keylime/agent.conf.conf.d/00-agent-uuid.conf ).

    [agent]
    uuid = '<agent_UUID>'
    • < agent_UUID >를 에이전트의 UUID(예: d432fbb3-d2f1-4a97-9ef7-abcdef012345 )로 바꿉니다. uuidgen 유틸리티를 사용하여 UUID를 생성할 수 있습니다.
  5. 선택 사항: 에이전트의 기존 키 및 인증서를 로드합니다. 에이전트에서 no server_keyserver_cert 를 수신하면 자체 키와 자체 서명된 인증서를 생성합니다.

    구성에서 키와 인증서의 위치를 정의합니다. /etc/keylime/agent .conf.d/ 디렉터리에 새 .conf 파일을 만듭니다(예: /etc/keylime/agent.conf.d/00-keys-and-certs.conf ).

    [agent]
    server_key = '</path/to/server_key>'
    server_key_password = '<passphrase1>'
    server_cert = '</path/to/server_cert>'
    trusted_client_ca = '[</path/to/ca/cert3>, </path/to/ca/cert4>]'
    참고

    절대 경로를 사용하여 키 및 인증서 위치를 정의합니다. Keylime 에이전트는 상대 경로를 허용하지 않습니다.

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

    # firewall-cmd --add-port 9002/tcp
    # firewall-cmd --runtime-to-permanent

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

  7. keylime_agent 서비스를 활성화하고 시작합니다.

    # systemctl enable --now keylime_agent
  8. 선택 사항: Keylime 테넌트가 구성된 시스템에서 에이전트가 올바르게 구성되어 등록 기관에 연결할 수 있는지 확인합니다.

    # keylime_tenant -c regstatus --uuid <agent_uuid>
    Reading configuration from ['/etc/keylime/logging.conf']
    ...
    ==\n-----END CERTIFICATE-----\n", "ip": "127.0.0.1", "port": 9002, "regcount": 1, "operational_state": "Registered"}}}
    • & lt;agent_uuid& gt;를 에이전트의 UUID로 바꿉니다.

      등록 기관 및 에이전트가 올바르게 구성된 경우 출력에 에이전트의 IP 주소와 포트가 표시되고 그 뒤에 "operational_state"가 표시됩니다. "Registered".

  9. /etc/ima/ima-policy 파일에 다음 내용을 입력하여 새 IMA 정책을 생성합니다.

    # PROC_SUPER_MAGIC = 0x9fa0
    dont_measure fsmagic=0x9fa0
    # SYSFS_MAGIC = 0x62656572
    dont_measure fsmagic=0x62656572
    # DEBUGFS_MAGIC = 0x64626720
    dont_measure fsmagic=0x64626720
    # TMPFS_MAGIC = 0x01021994
    dont_measure fsmagic=0x1021994
    # RAMFS_MAGIC
    dont_measure fsmagic=0x858458f6
    # DEVPTS_SUPER_MAGIC=0x1cd1
    dont_measure fsmagic=0x1cd1
    # BINFMTFS_MAGIC=0x42494e4d
    dont_measure fsmagic=0x42494e4d
    # SECURITYFS_MAGIC=0x73636673
    dont_measure fsmagic=0x73636673
    # SELINUX_MAGIC=0xf97cff8c
    dont_measure fsmagic=0xf97cff8c
    # SMACK_MAGIC=0x43415d53
    dont_measure fsmagic=0x43415d53
    # NSFS_MAGIC=0x6e736673
    dont_measure fsmagic=0x6e736673
    # EFIVARFS_MAGIC
    dont_measure fsmagic=0xde5e81e4
    # CGROUP_SUPER_MAGIC=0x27e0eb
    dont_measure fsmagic=0x27e0eb
    # CGROUP2_SUPER_MAGIC=0x63677270
    dont_measure fsmagic=0x63677270
    # OVERLAYFS_MAGIC
    # when containers are used we almost always want to ignore them
    dont_measure fsmagic=0x794c7630
    # MEASUREMENTS
    measure func=BPRM_CHECK
    measure func=FILE_MMAP mask=MAY_EXEC
    measure func=MODULE_CHECK uid=0

    이 정책은 실행된 애플리케이션의 런타임 모니터링을 대상으로 합니다. 시나리오에 따라 이 정책을 조정할 수 있습니다. MAGIC 상수는 시스템의 statfs(2) 매뉴얼 페이지에서 찾을 수 있습니다.

  10. 커널 매개변수를 업데이트합니다.

    # grubby --update-kernel DEFAULT --args 'ima_appraise=fix ima_canonical_fmt ima_policy=tcb ima_template=ima-ng'
  11. 시스템을 재부팅하여 새 IMA 정책을 적용합니다.

검증

  1. 에이전트가 실행 중인지 확인합니다.

    # systemctl status keylime_agent
    ● keylime_agent.service - The Keylime compute agent
         Loaded: loaded (/usr/lib/systemd/system/keylime_agent.service; enabled; preset: disabled)
         Active: active (running) since ...

다음 단계

모니터링하려는 모든 시스템에 에이전트를 구성한 후 Keylime을 배포하여 다음 함수 중 하나 또는 둘 다를 수행할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.