구성된 대부분의 타사 저장소에는 /etc/apt/sources.list.d
다음과 같이 구성된 서명 키가 있습니다 deb [signed-by=/etc/apt/keyrings/lutris.gpg] https://
.
그러나 postgresql과 같은 일부 시스템에는 이 구성이 없습니다. 그게 문제인가요? 이것이 문제가 될 수 있지만 반드시 문제가 되는 것은 아닌 경우, 이것이 존재하는지 어떻게 확인할 수 있습니까? 구체적으로,postgresql 저장소에는 저장소 서명 키가 있습니다.그런데 왜 거기에 명시할 필요가 없나요?
또한 Linux 다운로드 페이지에서 실행 중인 데이터베이스로 이러한 단계를 실행할 때
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
그것은 말했다Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
런타임 sudo apt-get update
출력에는 다음이 포함됩니다.
너비:https://apt.postgresql.org/pub/repos/apt/dists/bookworm-pgdg/InRelease: 키는 기존의trusted.gpg 키링(/etc/apt/trusted.gpg)에 저장됩니다. 자세한 내용은 apt-key(8)의 지원 중단 섹션을 참조하세요. N: 구성 파일 'main/binary-i386/Packages'를 저장소 'https://apt.postgresql.org/pub/repos/apt bookworm-pgdg InRelease'로 가져오는 것을 건너뛰는 것은 아키텍처 'i386'을 지원하지 않습니다.
- 후자의 문제는 파일을 편집하여
kwrite /etc/apt/sources.list.d/pgdg.list
해결할 수 있지만deb [arch=amd64] https:...
이것이 필수는 아닙니다(설정은 그대로 작동해야 합니다). for ...
이로 인해 긴 명령을 사용하여 해결할 수 있는 레거시 trust.gpg 키링 문제만 남게 됩니다.여기(이것은 확실히 필수는 아닙니다! 기본적으로 또는 사용자에게 메시지를 표시한 후 자동으로 키를 가져와야 하며 최소한 다운로드 페이지의 지침이 최신이 아니어야 합니다.)- 이 모든 작업이 완료되면 남은 질문은 pgdg.list 파일에 서명 키가 지정되지 않은 것이 문제가 아닌지 여부입니다. 다운로드 페이지도 업데이트해야 합니다.
답변1
고려해야 할 네 가지 사항이 있습니다.
에 대한
signed-by
(에 기록됨man 5 sources.list
, 그 목적은 특정 저장소에서 제공되는 패키지가 특정 키링의 키 또는 특정 키로 서명되도록 하는 것입니다. 해당 항목이 없는 저장소가 손상되어 APT 키링의 다른 키로 서명된 패키지 배송을 시작하면 오류가 발생하지 않습니다.보안 측면에서는 큰 차이가 없다고 생각합니다. 저장소 서명 키가 유출된 경우, 서명하려는 저장소는 손상된 패키지를 보내는 데 매우 잘 사용될 수 있습니다. 손상된 키에 대한 기능을 추가하여 다른 저장소의 패키지에 서명하는 것은 크게 증가하지 않는 것 같습니다. 공격 표면. 주요 예외는 APT 키링에 추가되어 잊어버린 키이지만, 대답은 APT 키링 사용을 중지하는 것입니다.
나에게 있어 주요 용도는
signed-by
문서화입니다. 어떤 키가 어디에 사용되는지 기록합니다. 이는 연결된 저장소가 삭제될 때 관리자가 키를 삭제하는 데 도움이 됩니다.APT 리포지토리의 주요 약점은 동일한 네임스페이스를 공유한다는 것입니다. 따라서 감염된 APT 저장소는
libc6
Debian 버전보다 최신 버전의 감염된 패키지를 게시할 수 있으며 해당 APT 저장소를 사용하는 시스템은 해당 패키지로 업그레이드됩니다. 시스템 관리자의 경우 최선의 방어는 타사 및 타사 키의 사용을 제한하는 것입니다. 모든 사람을 위한 상황을 개선하려면 데비안 측에서 많은 작업이 필요할 것입니다(패키지가 어디서 왔는지 기억하고 저장소가 변경될 때 경고하는 것과 같은 "간단한" 솔루션이라도 데비안 자체는 최소한 두 개의 서로 다른 리포지토리, 그리고 특정 버전에 대해 최대 4개의 리포지토리가 있을 수 있으며 현재 제3자 리포지토리가 데비안을 가장하는 것을 방지할 수 있는 방법은 없습니다(사용된 키 제외).데비안 소프트웨어 패키지의 신뢰성을 어떻게 보장하나요?지원 중단과 관련하여
apt-key
,"사용되지 않는"섹션man 8 apt-key
wget
에 의존하지 않도록 명령줄을 변환하는 방법을 정확하게 설명합니다apt-key
.해당
i386
알림(완전히 무해함)과 관련하여 그렇습니다. PostgreSQL 저장소 지시문(위에서 설명한 변경 사항과 함께)을 이상적으로 업데이트해야 합니다.위 내용은 PostgreSQL에만 국한된 것이 아니라 특히 PostgreSQL에 관한 것입니다. 타사 저장소를 사용하는 이유는 무엇입니까? Debian 12에는 업스트림 PostgreSQL 저장소에서 사용 가능한 최신 버전과 동일한 PostgreSQL 15.6이 포함되어 있습니다. (이전 버전을 사용해야 하나요?)