Update nexus: fix conflicts and sync local changes
This commit is contained in:
@@ -1,52 +1,52 @@
|
||||
---
|
||||
title: "Immutable Root Filesystem"
|
||||
type: concept
|
||||
tags:
|
||||
- Security
|
||||
- Linux
|
||||
- Container OS
|
||||
sources:
|
||||
- public-cloud-learning-sessions-eks-optimization-part-2-of-3-running-containers-w
|
||||
last_updated: 2026-04-24
|
||||
---
|
||||
|
||||
# Immutable Root Filesystem
|
||||
|
||||
只读根文件系统是一种操作系统安全加固技术,通过将根文件系统挂载为只读,确保操作系统核心文件在运行时无法被修改。任何运行时变更必须通过镜像更新机制完成,从而消除因意外或恶意修改导致的系统不可用风险。
|
||||
|
||||
## 核心原理
|
||||
|
||||
根文件系统在启动后被挂载为只读(read-only),即使拥有 root 权限也无法直接写入 `/` 目录下的文件。需要修改系统配置时,必须:
|
||||
1. 重新构建包含更新内容的 OS 镜像
|
||||
2. 通过安全的更新机制(如 A/B 分区切换)部署新镜像
|
||||
3. 重启系统以激活变更
|
||||
|
||||
## 典型实现
|
||||
|
||||
| 技术 | 实现方式 |
|
||||
|------|---------|
|
||||
| dm-verity | 通过加密哈希树验证根文件系统块设备完整性,篡改被检测 |
|
||||
| OverlayFS | 在只读底层之上叠加可写层,但底层不变 |
|
||||
| OSTree | Git-like 分层镜像系统,支持原子升级和回滚 |
|
||||
| A/B 分区 | 双分区设计,在线下载新镜像到非活动分区,重启切换 |
|
||||
|
||||
## 在 Bottlerocket 中的实现
|
||||
|
||||
Bottlerocket OS 默认启用只读根文件系统:
|
||||
- 根分区通过 dm-verity 加密验证,任何篡改被检测
|
||||
- `/etc` 目录作为 tmpfs(临时文件系统),运行时可写但重启清空
|
||||
- 所有持久配置通过 API 或 userdata 注入,不直接修改根文件系统
|
||||
|
||||
## 安全价值
|
||||
|
||||
- **防篡改**:恶意软件无法修改系统关键文件
|
||||
- **一致性保证**:每次启动系统状态可预测
|
||||
- **最小化攻击面**:无需运行时包管理器,降低漏洞暴露
|
||||
- **原子更新**:通过镜像级更新确保系统要么完全更新,要么保持原状
|
||||
|
||||
## 适用场景
|
||||
|
||||
- 容器宿主操作系统(Bottlerocket、Flatcar Container Linux、CoreOS)
|
||||
- 嵌入式安全系统
|
||||
- 无法物理访问的远程服务器
|
||||
- 需要严格合规(如 PCI-DSS、FIPS)的基础设施
|
||||
---
|
||||
title: "Immutable Root Filesystem"
|
||||
type: concept
|
||||
tags:
|
||||
- Security
|
||||
- Linux
|
||||
- Container OS
|
||||
sources:
|
||||
- public-cloud-learning-sessions-eks-optimization-part-2-of-3-running-containers-w
|
||||
last_updated: 2026-04-24
|
||||
---
|
||||
|
||||
# Immutable Root Filesystem
|
||||
|
||||
只读根文件系统是一种操作系统安全加固技术,通过将根文件系统挂载为只读,确保操作系统核心文件在运行时无法被修改。任何运行时变更必须通过镜像更新机制完成,从而消除因意外或恶意修改导致的系统不可用风险。
|
||||
|
||||
## 核心原理
|
||||
|
||||
根文件系统在启动后被挂载为只读(read-only),即使拥有 root 权限也无法直接写入 `/` 目录下的文件。需要修改系统配置时,必须:
|
||||
1. 重新构建包含更新内容的 OS 镜像
|
||||
2. 通过安全的更新机制(如 A/B 分区切换)部署新镜像
|
||||
3. 重启系统以激活变更
|
||||
|
||||
## 典型实现
|
||||
|
||||
| 技术 | 实现方式 |
|
||||
|------|---------|
|
||||
| dm-verity | 通过加密哈希树验证根文件系统块设备完整性,篡改被检测 |
|
||||
| OverlayFS | 在只读底层之上叠加可写层,但底层不变 |
|
||||
| OSTree | Git-like 分层镜像系统,支持原子升级和回滚 |
|
||||
| A/B 分区 | 双分区设计,在线下载新镜像到非活动分区,重启切换 |
|
||||
|
||||
## 在 Bottlerocket 中的实现
|
||||
|
||||
Bottlerocket OS 默认启用只读根文件系统:
|
||||
- 根分区通过 dm-verity 加密验证,任何篡改被检测
|
||||
- `/etc` 目录作为 tmpfs(临时文件系统),运行时可写但重启清空
|
||||
- 所有持久配置通过 API 或 userdata 注入,不直接修改根文件系统
|
||||
|
||||
## 安全价值
|
||||
|
||||
- **防篡改**:恶意软件无法修改系统关键文件
|
||||
- **一致性保证**:每次启动系统状态可预测
|
||||
- **最小化攻击面**:无需运行时包管理器,降低漏洞暴露
|
||||
- **原子更新**:通过镜像级更新确保系统要么完全更新,要么保持原状
|
||||
|
||||
## 适用场景
|
||||
|
||||
- 容器宿主操作系统(Bottlerocket、Flatcar Container Linux、CoreOS)
|
||||
- 嵌入式安全系统
|
||||
- 无法物理访问的远程服务器
|
||||
- 需要严格合规(如 PCI-DSS、FIPS)的基础设施
|
||||
|
||||
Reference in New Issue
Block a user