1
unixeno 2022-03-13 15:55:58 +08:00 via Android
因为你用的 http 的源,你可以换成 https 的
|
2
dingwen07 2022-03-13 15:56:45 +08:00 via iPhone
用 GnuPG 验证的吧
|
3
villivateur 2022-03-13 16:02:22 +08:00 via Android
即使是 http 的源,apt 对包也是有校验的,所以安全性上并没有很大差别
|
4
FengMubai 2022-03-13 16:17:43 +08:00
看看 ```/etc/apt/sources.list```文件里用的是不是 https
|
5
westoy 2022-03-13 16:17:55 +08:00
其实 debian 以前出过 dsc 验证漏洞的........
|
6
crazytec 2022-03-13 16:28:27 +08:00
我记得用 http 是因为 http 协议可以让各级路由知道你在下载什么,从而方便缓存。apt 包是有签名的,因此 http 和 https 在包的完整性方面类似。
|
7
mkmoon 2022-03-13 16:45:51 +08:00 via iPhone
https 中 ssl 加解密对服务器来说是个性能瓶颈,成本要高很多,高性能的 https 服务器或集群一般需要增加基于 fpga 的加速卡或者增加集群服务器数量。单纯提供包下载的话,http 足矣。包管理器默认会有 GPG 检验,如果包传输过程被篡改或损坏,默认会拒绝安装的。默认在源配置中,包走 http ,密钥走 https ,基本就很安全了。
|
8
yanqiyu 2022-03-13 17:03:20 +08:00
包管理走 http 大多数情况下不是问题,中间人攻击不能塞给你投毒之后的元数据或者是包
但是有可能出现一类特殊的攻击,就是中间人服务器阻止你安装特定安全更新,从而达到攻击的目的 debian 系的做法是给安全更新单独的源,并且那个源貌似默认镜像站很少(也不建议用镜像站)于是饱受诟病 |
9
ETiV 2022-03-13 17:23:38 +08:00 via iPhone
大规模的软件分发都是 http+本地校验签名的
Apple 、Sony PS 游戏机都是 |
10
xy2401 2022-03-13 18:02:20 +08:00
我一直想问这个问题
|
12
vibbow 2022-03-13 19:30:40 +08:00
还有另一个考量是域名解析
可以把域名解析到不同的 mirror 上,而不用考虑 https 证书的问题 |
13
ETiV 2022-03-13 22:46:36 +08:00
@Buges
HTTP 就能校验 本地验签名 就是你说的校验机制 早年 PS3 时代就有一个 proxy server 来完成这些事儿,如果 SONY 用 HTTPS 协议根本办不到… macOS 系统设置里也能开启自带的 content cache ,可以在内网做缓存。 https://support.apple.com/guide/mac-help/what-is-content-caching-on-mac-mchl9388ba1b/mac |
14
agagega 2022-03-14 00:48:52 +08:00
走 HTTP 是因为可以缓存。不过我觉得有时候「你下载了什么 App 」这个信息本身也有隐私问题……
|
15
jim9606 2022-03-14 03:21:43 +08:00
apt update 时先下载总清单 InRelease ,这个清单是有 PGP 签名的,包含包清单 Packages.xz 的 hash 。而 Packages.xz 包含所有 deb 包的元数据和 hash 。所以只要 InRelease 通过 GPG 验证就可以保护整个软件源的完整性。
使用 HTTP 的话可以安全地通过 DNS 劫持实现透明缓存加速,这在容器中很好用。 |
16
libook 2022-03-14 11:44:39 +08:00
PGP 可以用来判断软件包内容是否被篡改,理论上要么是安全的的,要么装不了。
剩下的就是你是否希望中间网络设备是否能看到你具体下载的是哪些资源,按需要选择使用 HTTP 还是 HTTPS 。 |