apt-get
使用https或任何类型的加密吗?有没有办法配置它来使用它?
apt-get
使用https或任何类型的加密吗?有没有办法配置它来使用它?
apt-get
(以及其他与APT库相同的包操作命令)可以使用HTTP、HTTPS和FTP(以及挂载的文件系统)。如果您在/etc/apt/sources.list
和/etc/apt/sources.list.d/*
中指定了https://
URL,则APT将使用HTTPS。
APT验证软件包的签名。因此,您不需要具备提供数据认证的传输方式。如果攻击者修改您正在下载的文件,这将被注意到。使用签名验证比使用HTTPS连接更好,因为它可以检测到您从服务器下载的攻击,而不仅仅是传输过程中的攻击。
更准确地说,一个软件包的(简化的)数据流如下:
HTTPS确保第4步正确进行。软件包的签名确保第2至第4步正确进行。
实际上,对于第4步骤来说,HTTPS有一个小的好处:包签名只能确保包是真实的。在第4步骤中,攻击者可以冒充合法服务器并提供过时版本的软件包。例如,攻击者可以阻止您下载任何安全更新,希望利用您的计算机上的漏洞,如果没有这次攻击,您本应该修补这些漏洞。虽然这不是一个非常现实的情况,因为它需要一个主动攻击者(也就是控制您的互联网连接的人),但从原理上讲,这是可能发生的。apt-get
的哈希算法的说法提供更多信息(或参考资料)吗? - Eliah Kaganapt-get update
会报错。使用ppas也是一样的情况。有人尝试过吗? - Strapakowskyarchive.ubuntu.com
不支持。您可以在浏览器中通过在URL前加上https://来检查服务器是否支持,看看是否会显示目录列表等内容。 - isharchive.ubuntu.com
不支持 HTTPS。有人知道有哪些服务器支持吗? - Simónapt update
时,如果有个人在中间提供虚假的索引,apt将快乐地接受中间人提供的任何内容,并将其写入/var/lib/apt/lists。这不仅仅是针对邪恶的中间人,而是像您在酒店的WiFi上被重定向到登录页面一样,如果您在登录之前运行了apt update
,您的/var/lib/apt/lists 将会被酒店主页的HTML破坏。虚假!
无论如何,基本的TLS证书检查可以立即解决这个问题。 - Marius我认为这个问题需要一个适合外行人的答案,所以...
在Ubuntu 19.10(Eoan)的每日构建版本中,默认情况下APT仍然不使用HTTPS(该版本仍在开发中)。可以通过检查/etc/apt/sources.list文件并注意到所有源URL都使用"http:" URL方案来验证这一点。
要配置它使用HTTPS,可以按照以下说明进行操作:
首先,找到一个可信赖的官方Ubuntu存档镜像,支持HTTPS:
例如,我认为维基媒体基金会是可信任的,所以我访问了http://mirrors.wikimedia.org/ubuntu/镜像URL,随后将其更改为https://mirrors.wikimedia.org/ubuntu/,成功解析。
如果您使用的是Firefox(67.0.4)并且安装了HTTPS Everywhere(2019.6.27)扩展,并启用了“加密所有符合条件的网站”功能(通过工具栏按钮面板),则可以省略步骤(4)和(5),因为该扩展将自动修改URL以利用HTTPS,从而更快地确定“https:”版本的URL是否可解析。sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
备份您的更新源列表。
2. 在命令sudo sed --in-place --regexp-extended 's http://(us\.archive\.ubuntu\.com|security\.ubuntu\.com) https://mirrors.wikimedia.org g' /etc/apt/sources.list
中,将镜像基本URL(在此处显示为https://mirrors.wikimedia.org)替换为您首选镜像的基本URL,然后执行该命令。apt-cache show apt-transport-https
后显示的信息中也有说明。https
开头的URL即可。对于Debian来说,可能是这样的:deb https://deb.debian.org/debian/ stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb https://deb.debian.org/debian/ stretch-updates main
公寓 1.5 在2017年发布,原生支持https。现在不再需要单独安装apt-transport-https软件包。
针对使用http仓库的apt存在多种攻击和漏洞: