Ubuntu如何确保来自镜像的软件包和ISO文件的安全性?

我目前的位置距离Ubuntu主服务器有数千公里,因此我只能使用该国境内的Ubuntu镜像站点。

Ubuntu的所有者是否采取措施定期检查其镜像站点的文件(例如ISO映像、更新和安全补丁),以确保它们未被篡改并且未被黑客引入恶意软件/木马程序?

我个人使用主服务器安装和更新Ubuntu的经验至少需要两个小时,而当我使用我所在国家的Ubuntu镜像站点时,相同的过程只需10到15分钟。


11给那些给我点踩的人:请用简短的评论解释一下为什么你们要点踩;如果有什么问题,我至少认为这个问题是表达一个合理关切的努力。如果你们有理由认为不必担心,也请解释一下为什么。谢谢。 - nutty about natty
9投票者们:这个问题并不是离题的。它可能需要一些改进,毕竟世界上没有什么东西是绝对无法被黑客和篡改的。但是,一个关于Ubuntu项目如何监控由其他人维护的镜像安全性的问题是一个好问题(无论是从总体上还是根据FAQ来看都是如此)。 - Eliah Kagan
我稍微修改了标题,使其更加通用,这样应该可以回答问题中的要点。 - Jorge Castro
1相关阅读:http://askubuntu.com/questions/56509/danger-of-using-an-untrusted-apt-mirror-or-proxy - user25656
2对于ISO文件,我认为你可以对从镜像站点下载的ISO文件进行MD5哈希校验,以确保其与源站点获取的MD5值相同。因为它们是同一个ISO文件,所以应该具有相同的MD5值。 - Ahmadgeo
@ vasa1:感谢提供文章链接。我如何知道一个apt镜像或代理是否不可信?Ubuntu项目有可信的apt镜像或代理列表吗? - n00b
@Ahmadgeo:我对ISO文件没有任何问题,因为我总是通过从主服务器获取的哈希校验和来验证它们的完整性。 - n00b
1个回答

Ubuntu软件存档中的软件包都使用GPG密钥进行签名,而试图在镜像上替换代码的人不一定拥有这些密钥。虽然可能伪造一个已签名的软件包,但这并不是非常简单。

通常情况下,您可以信任那些使用这些GPG密钥签名的软件包。当通过update-managerapt进行更新时,如果软件包未使用系统apt软件包密钥环中的密钥进行签名,系统将发出警告。您需要手动确认安装此类软件包。如果您在来自官方Ubuntu存档或其镜像的软件包上看到此警告,则可能不应该安装该软件包,并立即报告一个错误。

对于ISO镜像文件,您需要与官方Ubuntu服务器上的校验和哈希值进行验证。


1@ dobey: 谢谢您的信息。如果Ubuntu项目能提供一个更新的可信镜像列表,那将是很好的。特别是我希望了解我所在国家的镜像是否已被Ubuntu项目认证为可信镜像。 - n00b
@ dobey:PPA软件包怎么样?它们可信吗?还是可能包含恶意软件?(对于这个问题我很抱歉,我是Linux的新手) - n00b
1如果你关心安全和稳定性的话,最好不要添加PPA源。虽然这些源中的软件包是经过签名的,但总体上并没有真正的保证。 - dobey
这是对问题的一半的回答。那么ISO镜像呢?(当然,你不必回答这部分。) - Eliah Kagan
@ dobey:只是为了我理解正在发生的事情。我可以这样说吗,当我下载完整的Ubuntu操作系统套件、软件包或安全补丁,并在Ubuntu安装它们之前,我所在国家的Ubuntu镜像会默默地(即在后台)验证我下载的软件的哈希校验和吗?这是为了确保所下载文件的完整性。 - n00b
1我不知道镜像服务器是否验证软件包的GPG签名和校验和。但是,您系统上运行的本地软件确实会检查GPG签名。 - dobey
1你应该不要安装这个软件包,并立即报告一个关于它的错误。我认为先运行apt-get update,然后再尝试安装并报告错误是一个更好的方法。有时候如果在apt-get update过程中连接断开,如果你在更新之前尝试安装软件包,你会得到相同的警告。 - Dan
1@Dan 那个时候的警告是在更新软件包信息时出现的,并不是在安装软件包时。这与软件包的安装有关。 - dobey
@dobey 包裹已经进行了哈希处理,并且包含哈希值的文件已经签名。但是,这些包裹本身并没有直接签名,对吗? - Eliah Kagan
@EliahKagan 的确,签名是分离的。 - dobey
@dobey 您可能需要更新您的答案以反映这一点。(这也是解释使用了哪种类型的哈希的机会。) - Eliah Kagan