플러그인에 대한 OpenSSL 보안 서명 사용

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기2분
  • 에이전트 클라이언트 수집기 플러그인에 대해 자체 서명된 인증서를 생성합니다. 다음 절차는 OpenSSL을 사용하여 x509 인증서를 만드는 방법에 대한 예시를 제공합니다. 다른 인증서 유형은 OpenSSL 설명서를 참조하십시오.

    시작하기 전에

    • 플러그인 서명을 검증하기 위해 에이전트의 acc.yml 파일에서 verify-plugin-signature 속성이 True로 설정되어 있는지 확인하십시오.
    • OpenSSL이 시스템에 설치되어 있는지 확인합니다.
    필요한 역할: agent_client_collector_admin

    이 태스크 정보

    플러그인에 대한 OpenSSL 보안 서명 메커니즘을 활성화하면 Linux 시스템에 설치된 에이전트 클라이언트 수집기에서 작동합니다.

    프로시저

    1. tar.gz 확장명을 사용하여 플러그인 파일을 생성합니다.
      자세한 내용은 에이전트 클라이언트 수집기 플러그인 생성 및 편집 문서를 참조하십시오.
    2. 플러그인 파일에 대한 보안 자체 인증서를 직접 만듭니다.
      1. x509 인증서를 생성합니다.
        openssl req -nodes -x509 -sha256 -newkey rsa:2048 -keyout "sign.key" -out "sign.crt" -days 365 -subj
                "/C=<CountryName>/ST=<StateOrProvinceName>/L=<Locality>/O=<Organization>/OU=<OrganizationalUnit>/CN=sign"
      2. 플러그인 파일에 서명합니다.
        openssl dgst -sha256 -sign "sign.key" -out sign.txt.sha256 <plugin-name>.tar.gz

        인증 기관을 이용하여 플러그인에 서명할 수도 있습니다. 그렇게 하는 경우 .pem 형식의 인증서를 할당하고 에이전트의 cert 디렉터리에 배치합니다.

      3. 서명이 올바르게 구성되어 있는지 확인합니다.
        openssl dgst -sha256 -verify  <(openssl x509 -in "sign.crt" -pubkey -noout) -signature sign.txt.sha256 <plugin-name>.tar.gz
        파일이 유효하면 출력은 검증 확인 완료입니다.
      4. base64 코딩으로 서명 인증서를 인코딩합니다.
        base64 sign.txt.sha256 > sign.txt.sha256_encode64.sig
        sign.txt.sha256_encode64.sig 파일이 생성됩니다.
    3. 다음 명령을 실행하여 새 디렉터리를 만들고 tar.gzsign.txt.sha256_encode64.sig 파일을 삽입합니다.
      1. mkdir signed-plugin
      2. mv <plugin-name>.tar.gz signed-plugin
      3. mv sign.txt.sha256_encode64.sig signed-plugin
      4. cd signed-plugin
    4. 첫 번째 tar.gz 파일에 대해 실행한 것과 동일한 명령을 실행하여 다른 tar.gz 파일을 생성합니다.
      1. tar -C . -zcvf ../<plugin-name>.tar.gz *
      2. cd..
        주:
        현재 디렉터리에 있는 원본 <plugin-name>.tar.gz 파일과의 이름 충돌을 방지하려면 새 파일을 ../<plugin-name>.tar.gz로 저장합니다.
    5. tar.gz 플러그인 파일을 인스턴스에 업로드합니다.
    6. 플러그인 파일을 active=true로 설정합니다.
    7. config 폴더에 있는 에이전트의 cert 디렉터리에 sign.crt 파일을 배치합니다.
    8. acc.yml 파일에서 verify-plugin-signaturetrue로 설정합니다.