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

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

    시작하기 전에

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

    이 태스크 정보

    플러그인에 대한 OpenSSL 보안 서명 메커니즘을 활성화하면 Linux 시스템에 설치된 Agent Client Collector에서 작동합니다.

    프로시저

    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로 설정합니다.