如题,发现 freebsd 、ubuntu 、kali 等发行版的更新源没有上 https ,都是 http ,不怕被中间人攻击吗
2
7VO54YYGvw3LOF9U 220 天前 via iPhone
有先进的验证机制,不怕
|
3
cnleon 220 天前
都是有 md5 ,sha1 来校验的。
|
4
mxalbert1996 220 天前 via Android
@cnleon MD5/SHA1 这些摘要算法只能校验完整性,并不能防止中间人攻击。防止中间人攻击需要发送方用私钥签名,然后接受方用公钥验证。
|
5
Reficul 219 天前
|
6
proxytoworld OP @Reficul 能看到也挺恶心的
|
7
IvanLi127 219 天前
@Reficul 如果单纯校验,并且他校验时用来对比的参考散列值也就 http 请求获取的话,换成恶意文件对应的值返回给包管理器不就 GG 了。得至少上签名验一验才安全吧。
|
8
YGHMXFAL 219 天前
这个问题,和我的最新发帖,是不是很像
在发行版中,整个生态的信任链的根是开发团队拿来签名地 GNUPG 私钥,而公钥预置于 ISO 中,包管理器默认自动校验 如果包有任何传输错误/恶意篡改,校验就失败,包管理器就拒绝安装它 使用 HTTP 来分发包,问题在于: ①ISP(还有中间若干设备)会知道你下载了哪些包,这在某些国家/某些时刻可能会对你不利,比如说 debian 官方源里有 TOR/SS 这些,如果你走 HTTP 安装这些,难说会不会上关照名单 ②楼上也有大佬说了,特定安全更新可能会被阻断,以便利用你从其它渠道修复该漏洞之前的这段时间差来作恶,因此发行版官方非常不热衷于安全源的镜像建设,就怕这些镜像会选择性供应/延迟供应安全补丁 |
9
proxytoworld OP @YGHMXFAL 第二点很有道理,针对某些特定群体攻击。
|
10
flynaj 219 天前 via Android
你说的这些发行版没有用过,Debian 默认是 https 源,还有 openwrt 默认也是 https. 确实是性能问题,这些包都是要签名的。
|
11
mouyase 219 天前
提出一个其他人没说的原因。
Linux 更新根证书也要用包管理器,但是根证书没有更新会导致无法使用 https 链接,所以如果下载了一个老版本的 Linux 发行版(例如 Ubuntu 18.04),并且已经设置成 https ,会发现无法安装任何软件包。 |