@EastonMan 看的新闻
+碎碎念
+膜大佬
+偶尔猫猫
+伊斯通听的歌
杰哥的{教学,运维,编程,调板子}小笔记

升级 Ceph 集群到 20 Tentacle 版本

背景

之前一直用 Cephadm 维护了一个 Ceph 集群,作为一个 K8s 集群的存储,通过 Rook External Ceph Cluster 来维护。Ceph 出了一个比较严重的 CVE-2025-30156,需要把已有的 key 都 rotate 一遍,这里把这个过程记录一下。

升级过程

最开始的时候,Ceph 版本是 19.2.3,Rook 版本是 1.18.11,此时这个 Ceph 版本是有安全问题的,需要升级,核心就是上面的那个 CVE:原来的认证用的是 aes 算法,无论是客户端还是 Ceph 自己的各服务。但是,这个算法的实现有安全问题,居然用固定的 IV,还是 AES-128-CBC,所以需要换到新的 aes256k 上,然后把原来的 key 都淘汰掉。Ceph 的各服务和 Rook 自己的客户端都好说,升级版本以后,就可以替换为新的 key,麻烦的是,很多 CephFS 是通过 Linux 内核挂载的,而 Linux 内核直到 7.0 才支持 aes256k。旧版本内核,如果指定 aes256k 的 secret,会说 secret length 错误,无法挂载。

所以第一步,就是给各虚拟机都升级到了 7.0 的内核:trixie 和 trixie-security 都不够新,所以就用了 trixie-backports 的 7.2 内核。

升级完 Linux 内核后,就可以开始动手升级 Ceph 了,首先用 cephadm 升级 Ceph 到 20.2.5:
ceph orch upgrade start --image quay.io/ceph/ceph:v20.2.5

经过一段时间的等待,Ceph 的各服务都升级到了 20.2.5,并且 Cephadm 自动把服务用到的各种 key 都替换成了 aes256k。但是,还是有一些 key 需要手动操作,比如 client.admin。参考 Upgrading and Rotating CephX Keys,把 client.admin 的 key 给 rotate 掉:
ceph mon set auth_allowed_ciphers aes,aes256k
ceph mon set auth_preferred_cipher aes256k
ceph auth get-or-create client.admin-backup mon "allow *" | tee ./client.admin-backup.keyring
ceph -n client.admin-backup -k ./client.admin-backup.keyring auth ls
ceph auth rotate --key-type=aes256k client.admin | tee ./client.admin.keyring

对于 Cephadm,修改一台机器上的 /etc/ceph/ceph.client.admin.keyring,把里面的 admin key 换了,然后分发到其他机器上:
ceph orch client-keyring set client.admin "label:_admin"

剩下的需要 Rotate 的 key,就都是 Rook 需要的了:

● client.csi-cephfs-node
● client.csi-cephfs-provisioner
● client.csi-rbd-node
● client.csi-rbd-provisioner
● client.healthchecker

这些 Key 都保存在 rook ceph 用于 external cluster 的 namespace 里的各 secret,根据名字很容易找到。我把 Rook 升级到 v1.21.2 后,直接在 Headlamp 里手动做的替换,虽然官方也给了脚本,但是脚本有一些依赖装起来比较麻烦,有 APT 的依赖问题。以 client.csi-cephfs-node 为例,其实就是:
ceph auth rotate --key-type=aes256k client.csi-cephfs-node

然后把新的 key,替换掉 rook-csi-cephfs-node Secret 里面的 adminKey。其他几个也是类似的。

把所有的 key 都 rotate 成 aes256k 后(通过看 key 的长度能看出是 aes 还是 aes256k),禁用旧的 aes key 的使用:
ceph config set mon 'mon auth allow insecure key' false
ceph mon set auth_service_cipher aes256k
ceph auth wipe-rotating-service-keys
ceph mon set auth_allowed_ciphers aes256k

最后,ceph health 没有任何关于 insecure key 的 warning,就算迁移完成。

参考文档

● Upgrading and Rotating CephX Keys
● CVE-2025-30156: AES-CBC misuse in CephX facilitating authentication bypass
● Ceph CVE notice and Rook advisory

source
杰哥的{教学,运维,编程,调板子}小笔记

用 XRDP + X11 转发实现带音频的图形界面转发

背景

最近遇到一个需求,在机器 A 上跑一个图形界面程序,但因为是远程访问,所以传统的办法就是开个 X11 Forwarding,或者跑个 VNC/RDP Server。但我有音频转发的需求,本地是 macOS,又不好在机器 A 上装 XRDP+桌面环境,于是在机器 B 上跑 XRDP Server,在机器 A 上通过 X11 Forwarding + Unix Socket Forwarding 实现图形界面和音频在机器 B 上的播放,再通过 RDP 客户端在 macOS 上实现带音频的图形界面浏览。

具体实现方法

具体实现方法不难,主要是在机器 B 上做一些配置:

1. 安装 XRDP,配置桌面环境,我用的是 Xfce4
2. 安装 pipewire-module-xrdp,关闭 pulseaudio 服务,改为 pipewire + pipewire-pulse + wireplumber
3. 带 X11 Forwarding 连接到机器 A,同时通过 Unix Socket 转发 pulseaudio 的 Unix Socket:DISPLAY=XRDP_DESKTOP_HERE ssh -X -Y -R /run/user/UID_A_HERE/pulse/native:/run/user/UID_B_HERE/pulse/native host_a

然后在 SSH Session 里跑带图形界面的程序即可,它就会通过 ssh 转发的 X11 在 XRDP 的 DISPLAY 上显示,再通过 pulse/native 的 Unix Socket 播放音频。

最后,通过 RDP Client(Windows App)连接到机器 B,就可以在看到图形界面的同时,也有正确的音频了。

source
Easton Man's Channel
Photo
2026年CoLT也是标配了
CoLT: Coalesced Large-Reach TLBs, MICRO 2012
Arch Linux: Recent news updates
Update to php ≥ 8.5.12 and/or php-legacy ≥ 8.3.36 to prevent remote code execution

PHP versions prior to 8.5.12 and 8.3.36 are affected by CVE-2026-109618 and CVE-2026-109619, which allow for remote code execution.

For any system publicly exposing a PHP application with the help of a prior version of PHP, we urge users to upgrade those systems to the latest available version of PHP (php ≥ 8.5.12 and php-legacy ≥ 8.3.36) immediately.

source
(author: David Runge)
Arch Linux: Recent news updates
Update to ca-certificates-mozilla ≥ 3.131.1-1 to prevent man-in-the-middle attacks

On 2026-10-20 it was revealed, that several certificates of the eMudhra intermediate Certificate Authority have been compromised.

The compromised certificates have been removed/invalidated with ca-certificates-mozilla ≥ 3.131.1-1.

Without an update to this central certificate bundle, systems are susceptible to man-in-the-middle attacks. As such, we urge everyone to upgrade their systems immediately.

source
(author: David Runge)
Back to Top