NSA가 폭로한 모든 편집증을 감안할 때 데비안 패키지 설치 메커니즘이 기본적으로 HTTPS를 사용하는 것은 물론이고 왜 HTTPS 전송을 지원하지 않는지 궁금합니다.
데비안 패키지가 일종의 서명 확인을 위해 GPG를 사용한다는 것을 알고 있지만 이것이 보안 측면에서 얼마나 중요한지 고려하면 HTTP 대신 HTTPS 전송을 사용하는 것이 여전히 어렵지 않을 것이라고 생각합니다.
편집: 저는 주로 데비안 이미지 관리자가 아닌 MitM 공격(트래픽 스니핑 포함)으로부터 자신을 보호하고 싶습니다. HTTP 저장소는 데비안 미러 트래픽을 스누핑하는 모든 사람이 사용할 수 있도록 전체 시스템 설정을 데스크탑에 배치합니다.
답변1
2017년 업데이트:1.5에 적합https는 기본적으로 지원됩니다. 더 이상 apt-transport-https 패키지를 별도로 설치할 필요가 없습니다.
http 저장소를 사용하는 apt에 대한 여러 공격과 취약점이 있습니다.
https 저장소를 사용하려면 sources.list
패키지를 설치해야 합니다.apt-transport-https
.
deb https://some.server.com/debian stable main
답변2
가정이 잘못되었습니다. HTTPS를 사용하여 다운로드할 수 있습니다. 이를 지원하는 미러를 찾아 해당 URL을 소스 목록에 넣으면 됩니다. 당신은 설치해야합니다apt-transport-https
팩.
데비안에서는 이점이 최소화되므로 HTTPS 다운로드를 쉽게 만들지 않습니다. 데비안 패키지 배포판에는 이미 패키지를 확인하는 메커니즘이 포함되어 있습니다. 모든 패키지가 서명되었습니다.총 단백질. 활성 중간자(man-in-the-middle)가 손상된 패키지가 포함된 서버로 트래픽을 리디렉션하는 경우 GPG 서명이 유효하지 않기 때문에 손상이 감지됩니다. HTTPS 대신 GPG를 사용하면 더 많은 위협으로부터 보호할 수 있다는 장점이 있습니다. 즉, 최종 사용자 연결의 중간자 공격뿐만 아니라 악성 이미지나 감염된 이미지, 패키지 배포 체인의 기타 문제로부터도 보호할 수 있다는 것입니다.
HTTPS는 다운로드하는 패키지를 마스킹하므로 약간의 개인 정보 보호 이점을 제공합니다. 그러나 수동적인 관찰자는 여전히 귀하의 컴퓨터와 패키지 서버 사이의 트래픽을 감지할 수 있으므로 귀하가 데비안 패키지를 다운로드하고 있다는 것을 알 수 있습니다. 또한 파일 크기를 통해 다운로드 중인 패키지에 대한 좋은 정보를 제공합니다.
HTTPS가 도움이 될 수 있는 곳 중 하나는 유효한 것으로 알려진 설치 이미지에 대한 신뢰를 부트스트랩하는 것입니다. 데비안은 이것을 제공하지 않는 것 같습니다: 다음과 같은 체크섬이 있습니다설치 미디어, 그러나 HTTP를 통해서만 가능합니다.
답변3
최근에 회사의 적절한 저장소에 문제가 발생했습니다. 문제는 표준 http 전송을 사용하면 다른 사람들이 패키지를 쉽게 얻을 수 있다는 것입니다. 회사가 자체 독점 소프트웨어를 패키징하고 있으며 이를 모든 사람과 공유하고 싶지 않기 때문에 http 전송이 문제가 됩니다. 비극이 아니라 문제입니다. 패키지에 대한 액세스를 제한하는 방법에는 방화벽, 웹 서버 수준에서 액세스 제한, ssh를 전송으로 사용하는 등 여러 가지 방법이 있습니다. 이 주제에 대한 매우 읽기 쉬운 내용은 다음에서 찾을 수 있습니다. 개인 Debian 저장소에 대한 액세스를 제한하세요.
우리의 경우에는 https 전송 + 클라이언트 인증서 인증을 사용하기로 결정했습니다. 즉, 필요한 것은 다음과 같습니다.
- 자체 서명된 인증서, 클라이언트 및 서버 준비(easy-rsa 사용)
nginx에 대해 https만 허용하도록 저장소 프런트엔드의 웹 서버를 구성합니다.
server { listen 443; root /path/to/public; server_name secure_repo; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:; ssl_prefer_server_ciphers on; ssl_client_certificate /etc/nginx/ssl/ca.crt; ssl_verify_client on; location / { autoindex on; } }
클라이언트 인증서, 클라이언트 키 및 CA 인증서를 /etc/apt/ssl에 배치하고 Ubuntu를 사용하는 경우 00https 파일을 /etc/apt/apt.conf.d에 추가합니다.
Debug::Acquire::https "true"; Acquire::https::example.com { Verify-Peer "true"; Verify-Host "false"; CaInfo "/etc/apt/ssl/ca.crt"; SslCert "/etc/apt/ssl/client.crt"; SslKey "/etc/apt/ssl/client.key"; };
자체 서명된 인증서를 사용하는 경우 호스트 확인을 끄는 것이 중요합니다. Verify-Host "false";
이렇게 하지 않으면 다음 오류가 발생합니다.
SSL: certificate subject name (blah-blah-blah) does not match target host name 'example.com'
이 시점에서는 더 이상 저장소에 대한 무단 액세스가 없습니다. 그래서 이것은 매우 유용하고 강력한 것입니다.
답변4
"익명" 사용 사례의 경우 resources.list 파일에 apt-transport-tor
URI를 넣을 수도 있습니다 . tor+http://
이는 단순히 미러 연결을 암호화하는 것보다 더 나은 익명성 보호입니다.
예를 들어, HTTPS를 사용하더라도 로컬 관찰자는 귀하가 소프트웨어를 업데이트하거나 설치하고 있음을 계속 알 수 있으며 귀하가 수행 중인 작업에 대해(그리고 크기에 따라 어떤 패키지도) 추측할 수 있습니다.
데비안은 Tor "onion 서비스"를 통해 APT 저장소를 제공하므로 종단 간 암호화를 얻기 위해 도메인 이름 시스템을 신뢰할 필요가 없습니다(TLS와 유사). 바라보다onion.debian.org이 방법으로 모든 데비안 서비스를 사용할 수 있습니다. 주요 데비안 FTP 저장소는 다음 위치에 있습니다.vwakviie2ienjx6t.onion