이것우분투 apt-key 매뉴얼 페이지다음 관련 참고사항을 포함하세요 apt-key add
.
참고: 이 명령은 사용하면 안 됩니다. 대신 설명이 포함된 이름과 "gpg" 또는 "asc"를 파일 확장자로 사용하여 키링을 /etc/apt/trusted.gpg.d/ 디렉터리에 직접 배치해야 합니다.
이런 조언은 다른 곳에서는 본 적이 없는 것 같아요. 자체 리포지토리를 호스팅하는 대부분의 프로젝트에서는 키 파일을 다운로드하여 apt-key
.
- 이 제안의 동기는 무엇입니까?
- 이것이 우분투주의인가? 아니면 APT 기반 배포판에 적용됩니까?
답변1
이 항목에 대한 설명이 오래되었습니다. 내가 포스팅했기 때문에 나는 이것을 안다.데비안 저장소Debian 9 APT에서 변경 사항을 발견했을 때 지침을 업데이트했습니다. 사실, 매뉴얼의 이 부분은 잘못된 디렉토리에 있기 때문에 이제 더 이상 사용되지 않습니다.
.d
이는 실제로 APT의 사이트 간 취약점을 방지하기 위한 디렉터리 등과는 아무런 관련이 없습니다 . 이전 시스템에서는 편의를 위해 별도의 키링 파일을 사용했지만 이제는 보안을 위한 필수 사항입니다.당신의안전.
이것이 취약점입니다. 두 저장소 게시자 A와 B를 생각해 보세요. Debian 8 및 이전 버전에서는 두 게시자의 키가 사용자 컴퓨터의 단일 전역 키링에 있었습니다. 게시자 A가 게시자 B의 저장소 WWW 사이트를 어떻게든 교체할 수 있다면 게시자 A는 파괴적인 패키지를 게시할 수 있습니다.A 자신의 키로 서명, APT는 기꺼이 이를 수락하고 설치합니다. 결국 A의 키는 모든 저장소에서 전역적으로 신뢰됩니다.
완화 조치는 사용자가게시자마다 별도의 키링을 사용하세요.Signed-By
, 저장소 정의에서 별도의 설정을 사용하여 이러한 키링을 참조합니다. 구체적으로 게시자 A의 키는 저장소 A에서만 사용되고 Signed-By
게시자 B의 키는 Signed-By
저장소 B에서만 사용됩니다. 따라서 게시자 A가 게시자 B의 저장소를 교체하는 경우 APT는 해당 패키지와 저장소가 게시자 B의 키가 아닌 게시자 A의 키로 서명되므로 해당 패키지에 포함된 파괴적인 패키지를 허용하지 않습니다.
현재의 메커니즘은 /etc/apt/trusted.gpg.d
2005년경부터 시작된 빈곤층 노인을 위한 다소 결함이 있는 중간 거주지인데, 이는 충분하지 않습니다. 패키지 관리자가 패키지하고 다른 파일처럼 한 단계로 설치(또는 fetch
// 를 사용하여 다운로드)할 수 있도록 별도의 파일에 키링을 설정합니다 . (패키지 관리자는 A 퍼블리셔의 특별 광고를 차단하는 역할을 담당합니다.curl
wget
이것은 내 저장소 키링입니다.그러나 여전히 모든 리포지토리에서 전역적으로 신뢰하는 키 세트에 추가됩니다. 현재 존재하는 완전한 메커니즘은 별도의아니요전역적으로 신뢰할 수 있는 키링 파일 /usr/share/keyrings/
.
내 지침이 이미 거기에 있습니다. ☺ 현재 데비안 자체 저장소를 이 메커니즘으로 이동하여 더 이상 신뢰할 수 있는 전역 키를 사용하지 않도록 하는 조치가 취해지고 있습니다. 당신이 찾은 "가장 많은 항목"에 대해 이야기하고 싶을 수도 있습니다. 결국, 그들은 현재 귀하의 컴퓨터에서 APT에 대한 글로벌 액세스 권한을 그들에게 넘겨주라고 지시하고 있습니다.
추가 읽기
- 다니엘 칸 길모어(2017-05-02). 버전별 키를 별도로 외부로 배송해 주세요.
/etc/apt/trusted.gpg.d/
. 데비안 버그 #861695. - 다니엘 칸 길모어(2017-07-27). 데비안
sources.list
항목에는 특정 키를 가리키는 서명 옵션이 있어야 합니다.. 데비안 버그 #877012. - "source.list-항목".타사 저장소 연결 지침. 데비안 위키. 2018.
- source.list에 추가해도 보안 위험이 발생하지 않는 이유는 무엇입니까?
- Debian 9, APT 및 "GPG 오류: ...InRelease: 다음 서명이 유효하지 않습니다:"
답변2
apt-key del
Accept keyid
, 이것은 의미 없는 키 해시입니다.
의미 있는 이름(예: 파일 이름)을 사용하여 키를 제거할 수 있다면 더 간단할 것입니다.
JdeBP가 말했듯이 이는 데비안 패키지의 일부로 설치된 신뢰할 수 있는 키 파일과 잘 작동합니다. 키 파일을 수동으로 설치하는 것도 좋을 것 같아요.
이는 현재 "예비 테스트" 중인 새로운 메커니즘에서 더욱 단순화되었습니다. 다음 한 가지만 제거/비활성화하면 됩니다.저장소(sources.list/sources.list.d에 있음) 그러면 이 저장소에 대해 구성된 키 허용이 자동으로 중지됩니다(다른 저장소에서도 사용되지 않는 한).
새로운 보안 메커니즘을 활용하는 방법을 모르겠습니다. 나는 누군가의 패키지를 사용하려면 누군가를 신뢰해야 한다고 가정합니다. 패키지 설치 프로세스가 계속 실행 중입니다 root
:-).