V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Jirajine  ›  全部回复第 66 页 / 共 213 页
回复总数  4245
1 ... 62  63  64  65  66  67  68  69  70  71 ... 213  
2022-09-25 18:31:37 +08:00
回复了 flowdesign 创建的主题 SSL Let's Encrypt 的泛域名证书申请总是出错
自己用干脆自建 CA ,自己设备上信任自己的 CA 根证书。同样可以用 ACME 自动申请、续期,还不需要担心没有公网 IP 不能 http/tls challenge 申请证书的问题。
2022-09-25 15:06:05 +08:00
回复了 Cify 创建的主题 程序员 Linux 下有类似 windows 磁盘加密工具 bitlocker 吗?
@shijingshijing 是的呀,trusted computing 从硬件开始 cryptographically 阻止 Root of Turst 以外的实体(比如购买了设备的最终用户)对系统的任何修改。
这种 trust chain 之下如果用户不被 trust ,那设备简直就是租的,而非拥有的。欧美国家反垄断应该立法使用 trusted computing 的设备必须 trust 购买者,或禁止各种应用在非 trusted 环境下拒绝工作的行为。
现在很多不能解锁的 Android 设备连内网私有 CA 签名的 HTTPS 服务都不能用,能解锁的很多应用也能通过 TEE 验证环境不可信从而拒绝工作。
2022-09-25 08:03:04 +08:00
回复了 Cify 创建的主题 程序员 Linux 下有类似 windows 磁盘加密工具 bitlocker 吗?
@ryd994 当然,这样只能保证设备本身被篡改(变更证书等)后不会释放 key 。如果要保证设备被偷了也不能解密,那肯定得从外部输入 key (键盘、ssh )。
即使这样也不能完全确保物理访问下的安全,要想不被物理 dump 内存,还是得连同硬件一起保护才行。
2022-09-25 07:37:22 +08:00
回复了 Cify 创建的主题 程序员 Linux 下有类似 windows 磁盘加密工具 bitlocker 吗?
@ryd994 TPM 可信就可以构建 trust chain ,让整个系统都可信。BIOS 验证 bootloader ,bootloader 验证内核,内核验证 rootfs 。
一个最典型的例子是 Android ,Android 上的应用默认不会被 MITM (无需 ssl pinning ),这点可以由 TEE 保证。TEE 配合 bootloader 锁确保用户无法篡改 ROM ,而可信厂商(签名被信任)构建的 ROM 确保用户无法修改系统 SSL 证书。
@majula 看了一眼,该说果然不愧是国产语言。国内公司和个人没有开发用于使用的编程语言的需求,只有开发用于宣传的编程语言的需求。
2022-09-25 07:07:50 +08:00
回复了 Cify 创建的主题 程序员 Linux 下有类似 windows 磁盘加密工具 bitlocker 吗?
@eason1874 所以还是依赖 secure boot 和 TPM 进行签名验证。initramdisk 本身就是一个 mini rootfs ,和“系统盘”是同一种东西。没有 TPM 的情况下,修改替换内核 /initramdisk 并关闭 /修改安全启动的证书用户程序无法验证,和修改系统效果是一样的。
没有 TPM 这种硬件保护机制,什么方法都没法抗拒物理访问的侵入,有 TPM 则可以连同 boot 分区一并加密。

@Cify 从用户角度,对硬件访问的安全保护 可以从 https://wiki.archlinux.org/title/security#Physical_security 开始看
同时算 hash 应该没有什么特别的办法,最多并行计算的时候共享一下 buffer 。

@mikewang go 为了 portability 重新实现很多东西,这些实现不如广泛使用的优化更好很正常。
另外单以 SIMD 来说也不一定非要汇编,c/rust 都是支持的,只是 go 不支持。
2022-09-25 05:20:23 +08:00
回复了 Cify 创建的主题 程序员 Linux 下有类似 windows 磁盘加密工具 bitlocker 吗?
@eason1874 其实 initrd 里 ssh 输入密码和只加密数据盘是一样的,也可以拆机替换 initramdisk 加个木马偷取密钥。
要抗 Evil Maid attack 的话,还得配合 secure boot 签名和 TPM 验证。不过如果有 TPM 的话,可以直接用 TPM 解密 luks 磁盘,也就没必要 ssh 输入了。当然,前提是信任厂商的 TPM 实现。
2022-09-25 03:22:07 +08:00
回复了 Cify 创建的主题 程序员 Linux 下有类似 windows 磁盘加密工具 bitlocker 吗?
@eason1874 也可以在 initrd 里配置启动时通过 ssh 输入密码解密磁盘,不需要控制卡和输入设备。
2022-09-25 03:11:27 +08:00
回复了 sunny1688 创建的主题 程序员 对协程的理解
槽点太多,各个概念都搞混了。
协程 coroutine 重点在于 cooperative ,协作式,相对应的是 preemptive ,抢占式,最经典的实现既 Thread ,线程。
这两者都是 multitasking 多任务的机制。
协作式就是各个任务之间相互合作,程序主动在需要等待的时候让出控制权,体现在代码里就是 yeild/await 等机制,golang 则是由编译器隐式插入 yield 点。
抢占式自然是各个程序不协作,相互争抢,由外部调度器决定运行哪个。
前者的优点在于因为是程序自己协作,自然知道挂起 /恢复时需要哪些信息,而 OS 线程调度器不知道这些,就得把整个 call stack/ register 的状态都存下来以后才能恢复。这就是协程性能好、更轻量的原因。
抢占式的优点在于不需要用户代码关心和处理协作的细节,用户代码更简单且责任少。操作系统如果用协作式的多任务,那一个程序不让出控制权就能卡死整个系统,这也是通用操作系统实现线程的原因。而嵌入式操作系统等用户态可控的环境下,则可以实现协程作为多任务机制。

stackful/stackless 是协程实现的方式,前者使用类似 stack 的结构保存状态,优点是编写时更接近传统线程,aka 绿色线程。后者则是生成状态机,只保存确实需要的状态,性能最好。

异步是一种调用机制,指调用函数立即返回而不是完成后返回,完成后通过某种方式通知调用方再获取结果。回调和某些语言的 async/await 语法就是为了表达这个过程。
异步 IO 是指通过异步的方式提供 IO 接口,操作系统提供 epoll/io_uring/IOCP 等接口,上层应用 /运行时再封装,常常配和协程、async/await 语法等结合起来以简化使用。

说异步 /协程提升性能主要指因为使用了异步 IO 接口,线程不会被阻塞,所以只需要少量线程而不是大量线程等待,少量线程内部再调度协程等待 IO 。因为协程更轻量,所以高并发场景下开销小,自然性能就好了。

Promise/Future 等是对异步过程的封装对象,和协程是相关但不同的两个概念。

goroutine 之所以叫 goroutine 而不是 coroutine 就是因为 goroutine 不是完全协作式的,也存在抢占式调度。

可以去了解一下 async rust ,async rust 因为太难用以至于你不得不对 async 、携程相关的概念、实现都完全理解才能真正用起来。
2022-09-24 19:35:09 +08:00
回复了 humbass 创建的主题 Node.js 比较好奇大家时间都是怎么存数据库的
大部分应用不需要也不应该处理、存储时区信息,用户发表了一个 post ,你只需要知道该 post 发布的“绝对时间”,没必要去记录用户是用什么时区发布的。

“时区”只是作为时间信息输入 /输出 解析和格式化的时候的一项参数,与时间信息本身无关。就像存一个整数不需要关心它是 16 进制还是 10 进制、如何 padding 如何对齐,这些只是显示和解析时的参数。
2022-09-24 16:44:55 +08:00
回复了 shellus 创建的主题 程序员 IPV6 安全性问题,端口全都暴露在公网?
@JamesR @docx 内网最大的意义是封装,很多设备就是不适合拥有公网地址。即使 ipv4 地址不缺,也是给你在网关上分配公网 IP ,内网暴露服务手动配置,这样做即使公网 IP/段变换,你的整个内网设备也不需要改变地址。当然 v6 下地址空间更多,每个人都能分配一个公网 IP 段,这样可以做 stateless prefix NAT 。直接给内网设备分配公网 IP 意味着一旦前缀变化,所有内网设备都需要变更 IP ,内网对外透明。dhcp-pd 这样的协议大部分应用都不支持,如 docker 、一些防火墙等,处理变更的前缀是很复杂的。
2022-09-23 07:20:31 +08:00
回复了 ioiioi 创建的主题 问与答 clash tun 模式下自动插入的 ip rule 的作用
你都用 premium 了,就不应该关系它具体做了什么,能用就行。这样才是一个合格的闭源软件用户。
2022-09-23 02:32:21 +08:00
回复了 opentrade 创建的主题 程序员 没完没了的争论
@anguiao 主要原因在于 HTML 和 CSS 设计之初是编写 document ,可后来网页都变成了 App 。
2022-09-23 02:05:16 +08:00
回复了 SingeeKing 创建的主题 分享发现 将英文文章「洗稿」成中文并不标出处
这个人的博客屁股太正了还装理中客,反自由反去中心化,甚至还发过文章批判📎。
他的 DNS 系列文章误导了不少小白,按他的说法配置“远端解析”和不代理 DNS 请求,却不告诉你结果可能的 DNS 泄露,大概其预期读者都是“身正不怕影子斜”不担心泄露的。
https://docker-py.readthedocs.io/en/stable/
当然,之前版本的 docker-compose 就是 Python 写的,自然不缺 docker api 的 SDK 。
2022-09-23 01:26:40 +08:00
回复了 fox0001 创建的主题 Linux [交流] Linux 服务器,大家使用什么方案监控性能和资源?
@fox0001 没错,node_exporter 只是输出 CPU/内存这些通用的硬件监测指标,还可以自行添加业务相关的数据源,在线用户数、订单量等,以及代码中结构化日志,有多少 warning 、error ,包括 payload ,都可以在 grafana 里可视化展示。
一般框架和库和 log infra 集成,代码里直接 tracing ,就可以自动收集、汇总、展示了。
2022-09-22 22:57:41 +08:00
回复了 fox0001 创建的主题 Linux [交流] Linux 服务器,大家使用什么方案监控性能和资源?
node_exporter + prometheus + grafana
部署完了以后可以逐步在业务代码里添加 tracing ,收集聚合展示其他业务相关的 metric 。
2022-09-22 14:33:57 +08:00
回复了 IBMall 创建的主题 分享发现 Wasmtime 1.0 正式发布:快速、安全、可用于生产环境
感觉现在这些项目发 1.0 都不够严谨,wasm 还有那么多在草案阶段,deno 直到现在 std 都没稳定下来。
1 ... 62  63  64  65  66  67  68  69  70  71 ... 213  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2226 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 41ms · UTC 08:28 · PVG 16:28 · LAX 01:28 · JFK 04:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.