问题描述
我从https://www.ubuntu.com/download下载了ISO,选择了默认的”Ubuntu Desktop”选项。
该网站链接页面https://tutorials.ubuntu.com/tutorial/tutorial-how-to-verify-ubuntu,它提供了如何验证ubuntu的说明。
这看起来相当繁琐,我想知道从官方网站下载ISO有问题是多么现实。我注意到验证过程本身要求我下载对我来说不熟悉的软件,因此即使在我关闭另一个时,也会向我引入另一个攻击向量。
对于它的价值,我打算只使用Live USB而不是完全安装Ubuntu。这有什么区别吗?
最佳解决办法
是的,这是值得的。
md5sum /etc下载ISO只需几秒钟,它可以让您放心,不会被MITM攻击等等。除此之外,如果您遇到一些错误并需要进行调试,这些秒数可以保证浪费时间追逐错误no-one否则因为你的下载而获得(例如,你有网络问题&所以尝试调试;但网络被塞满了,因为这是错误的几个位…)认为checksum-checks是非常便宜的保险。
md5sum所需的软件通常来自其他来源(旧版本,有时甚至是不同的操作系统/发行版),非常小,并且已经存在于我们的许多/大多数人。
此外,它允许我从本地镜像下载,但因为我从Canonical源获取md5sum;我保证镜像不玩它。再次非常便宜的保险,花费我~3秒的时间。
次佳解决办法
是的,非常推荐您验证下载的图像,原因如下:
-
只需几秒钟就可以告诉您文件的完整性是否正确,我的意思是,文件没有损坏。 (腐败的一个常见原因是由于技术原因造成的转移错误,例如来自@sudodus评论的互联网连接不稳定。)
-
如果文件已损坏并且您将此ISO映像刻录到CD /USB驱动器中,并且无法正常工作,或者在安装过程中可能会失败,则会浪费时间和CD。
-
您确定您使用的是任何类型的ISO映像或软件的官方CLEAN版本而不是修改版本(可能是攻击者),请参阅此报告:Watch Dogs pirates hit by scurvy Bitcoin-mining malware
如果你已经有一个GNU Linux发行版,你可以使用md5sum,如果你在Windows中你可以使用:WinMD5Free。
希望能帮助到你。
第三种解决办法
是的,但是Ubuntu似乎比它应该更难。
在最好的情况下,您只需下载foo.iso和foo.iso.sig,然后在导入密钥一次后单击.sig文件(或在.sig文件的shell上使用gpg)。这花费了几秒钟。
Ubuntu似乎通过强制你从文件中检查sha256总和而只是文件本身被签名来使它变得更加复杂。这对他们来说很方便,但对他们的用户来说更多的工作。
另一方面,当文件仅由sha256sum * >SHA256SUMS
生成时,您可以使用sha256 -c
进行检查并获取OK/Bad/Not-Found
作为输出。
第四种办法
检查您的/proc/net/dev
,看看到目前为止收到了多少坏的TCP帧。如果您看到single-digit值(希望为零),请继续阅读。如果你有很多或网络错误,那么一定要使用MD5来验证你的下载(虽然我宁愿调查根本原因,因为不可靠的网络意味着你不能信任你通过HTTP收到的任何东西)。
当您通过TCP下载校验和所有传输的数据时,很少有机会以完全相同的大小进行损坏的下载。如果您确信从官方网站下载(通常是在使用HTTPS并且证书检查通过时),验证下载完成通常就足够了。体面的网络浏览器通常会为你做检查,如果他们没有得到他们期望的数据量,就会说”download failed”的内容,尽管我已经看到浏览器决定保留不完整的文件而不向用户说任何话,在这种情况下,您可以手动检查文件大小。
当然,验证校验和仍然有其价值,在您正在下载的文件在服务器上损坏的情况下覆盖您,但这种情况不会经常发生。尽管如此,如果您要将下载用于重要的事情,那么这是值得采取的步骤。
正如@sudodus在评论中所说,使用Bittorrent而不是HTTPS是另一种选择,因为在处理网络浏览器不完整/损坏的数据时,torrent客户端做得更好。
请注意,校验和don’t really prevent您受到攻击,这就是HTTPS的用途。