V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
proxytoworld
V2EX  ›  问与答

为什么各大 Linux 发行版的更新源没有上 https

  •  
  •   proxytoworld · 2024-04-16 13:05:27 +08:00 · 1318 次点击
    这是一个创建于 392 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,发现 freebsd 、ubuntu 、kali 等发行版的更新源没有上 https ,都是 http ,不怕被中间人攻击吗

    11 条回复    2024-04-17 09:56:33 +08:00
    344457769
        1
    344457769  
       2024-04-16 13:21:20 +08:00   ❤️ 1
    7VO54YYGvw3LOF9U
        2
    7VO54YYGvw3LOF9U  
       2024-04-16 13:28:18 +08:00 via iPhone
    有先进的验证机制,不怕
    cnleon
        3
    cnleon  
       2024-04-16 13:39:45 +08:00
    都是有 md5 ,sha1 来校验的。
    mxalbert1996
        4
    mxalbert1996  
       2024-04-16 13:45:22 +08:00 via Android
    @cnleon MD5/SHA1 这些摘要算法只能校验完整性,并不能防止中间人攻击。防止中间人攻击需要发送方用私钥签名,然后接受方用公钥验证。
    Reficul
        5
    Reficul  
       2024-04-16 13:56:13 +08:00
    @mxalbert1996 #4

    这个中间人似乎除了看你下载了什么以外,也做不了什么事情。 因为下载的内容是有校验的。
    proxytoworld
        6
    proxytoworld  
    OP
       2024-04-16 14:20:41 +08:00
    @Reficul 能看到也挺恶心的
    IvanLi127
        7
    IvanLi127  
       2024-04-16 19:49:53 +08:00
    @Reficul 如果单纯校验,并且他校验时用来对比的参考散列值也就 http 请求获取的话,换成恶意文件对应的值返回给包管理器不就 GG 了。得至少上签名验一验才安全吧。
    YGHMXFAL
        8
    YGHMXFAL  
       2024-04-16 21:11:14 +08:00
    这个问题,和我的最新发帖,是不是很像

    在发行版中,整个生态的信任链的根是开发团队拿来签名地 GNUPG 私钥,而公钥预置于 ISO 中,包管理器默认自动校验

    如果包有任何传输错误/恶意篡改,校验就失败,包管理器就拒绝安装它

    使用 HTTP 来分发包,问题在于:

    ①ISP(还有中间若干设备)会知道你下载了哪些包,这在某些国家/某些时刻可能会对你不利,比如说 debian 官方源里有 TOR/SS 这些,如果你走 HTTP 安装这些,难说会不会上关照名单

    ②楼上也有大佬说了,特定安全更新可能会被阻断,以便利用你从其它渠道修复该漏洞之前的这段时间差来作恶,因此发行版官方非常不热衷于安全源的镜像建设,就怕这些镜像会选择性供应/延迟供应安全补丁
    proxytoworld
        9
    proxytoworld  
    OP
       2024-04-16 22:45:39 +08:00
    @YGHMXFAL 第二点很有道理,针对某些特定群体攻击。
    flynaj
        10
    flynaj  
       2024-04-17 00:53:35 +08:00 via Android
    你说的这些发行版没有用过,Debian 默认是 https 源,还有 openwrt 默认也是 https. 确实是性能问题,这些包都是要签名的。
    mouyase
        11
    mouyase  
       2024-04-17 09:56:33 +08:00
    提出一个其他人没说的原因。

    Linux 更新根证书也要用包管理器,但是根证书没有更新会导致无法使用 https 链接,所以如果下载了一个老版本的 Linux 发行版(例如 Ubuntu 18.04),并且已经设置成 https ,会发现无法安装任何软件包。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2888 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:24 · PVG 22:24 · LAX 07:24 · JFK 10:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.