검색

3.3. GPG를 사용하여 리포지토리 메타데이터 확인

download PDF

손상된 패키지를 감지하고 방지하려면 DNF 패키지 관리자를 사용하여 RPM 패키지에서 GNU Privacy Guard(GPG) 서명을 확인하고, 리포지토리 메타데이터가 GPG 키로 서명되었는지 확인할 수 있습니다.

키 URL로 gpgkeys 필드를 설정하여 https 를 통해 확인할 gpgkey 를 입력할 수 있습니다. 또는 보안을 개선하기 위해 전체 키를 gpgkeys 필드에 삽입하여 URL에서 키를 가져오는 대신 직접 가져올 수도 있습니다.

사전 요구 사항

  • 리포지토리로 사용할 디렉터리가 존재하고 패키지가 포함되어 있습니다.

절차

  1. 리포지토리를 생성할 폴더에 액세스합니다.

    $ cd repo/
  2. createrepo_c 를 실행하여 RPM 패키지에서 리포지토리를 생성합니다.

    $ createrepo_c .
  3. repodata가 있는 디렉터리에 액세스합니다.

    $ cd repodata/
  4. repomd.xml 파일에 서명합니다.

    $ gpg -u <_gpg-key-email_> --yes --detach-sign --armor /srv/repo/example/repomd.xml
  5. 리포지토리에서 GPG 서명 검사를 활성화하려면 다음을 수행합니다.

    1. 리포지토리 소스에서 check_repogpg = true 를 설정합니다.
    2. 검사를 수행할 gpgkey 를 입력합니다. https 를 통해 키를 사용할 수 있는 경우 키 URL을 사용하여 gpgkeys 필드를 설정합니다. 필요한 만큼 URL 키를 추가할 수 있습니다.

      다음은 예제입니다.

      check_gpg = true
      check_ssl = true
      id = "signed local packages"
      name = "repository_name"
      type = "yum-baseurl"
      url = "https://local/repos/projectrepo/"
      check_repogpg = true
      gpgkeys=["https://local/keys/repokey.pub"]

      또는 gpgkeys 필드에 직접 GPG 키를 추가합니다. 예를 들면 다음과 같습니다.

      check_gpg = true
      check_ssl = true
      check_repogpg
      id = "custom-local"
      name = "signed local packages"
      type = "yum-baseurl"
      url = "https://local/repos/projectrepo/"
      gpgkeys=["https://remote/keys/other-repokey.pub",
      '''-----BEGIN PGP PUBLIC KEY BLOCK-----
      …​
      -----END PGP PUBLIC KEY BLOCK-----''']
      • 테스트에서 서명을 찾을 수 없는 경우 GPG 툴에 다음과 유사한 오류가 표시됩니다.

        $ GPG verification is enabled, but GPG signature is not available.
        This may be an error or the repository does not support GPG verification:
        Status code: 404 for http://repo-server/rhel/repodata/repomd.xml.asc (IP: 192.168.1.3)
      • 서명이 유효하지 않은 경우 GPG 툴에 다음과 유사한 오류가 표시됩니다.

        repomd.xml GPG signature verification error: Bad GPG signature

검증

  • 리포지토리의 서명을 수동으로 테스트합니다.

    $ gpg --verify /srv/repo/example/repomd.xml.asc
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.