Skip to content

Obsidian 安全加固指南

Obsidian 以「本地优先」著称,但本地存储并不意味着绝对安全。本文提供全面的安全加固方案,保护你的知识库免受各种威胁。

威胁模型

威胁风险等级影响本文章节
设备丢失/被盗🔴 高数据泄露设备加密
恶意插件🔴 高数据窃取插件安全
同步劫持🟡 中数据篡改同步安全
误操作删除🟡 中数据丢失备份策略
恶意软件🟡 中数据泄露系统防护
物理损坏🟢 低数据丢失离线备份

设备加密

全盘加密

操作系统方案开启方法
WindowsBitLocker设置 → 隐和安全 → 设备加密
macOSFileVault系统设置 → 隐私与安全 → FileVault
LinuxLUKS安装时选择加密 / 使用 LUKS
iOS自动启用设置 → 面容 ID 与密码
Android自动启用设置 → 安全 → 加密与凭据

确保设备加密已开启

全盘加密是第一道防线。即使设备被盗,没有密码也无法读取数据。

Vault 级别加密

如果需要在共享设备上保护敏感笔记,可以使用插件级加密:

推荐插件:
  - Meld Encrypt:对单篇笔记或文件夹加密
  - Cryptsidian:AES-256 加密笔记内容
  - Obsidian Encrypt:内联文本块加密

使用方式:
  1. 敏感笔记放在单独的文件夹(如 secrets/)
  2. 使用加密插件对该文件夹加密
  3. 设置强密码(建议 12+ 字符)
  4. 密码不要存储在设备上

加密文本块

在普通笔记中使用内联加密:

markdown
# 项目笔记

## 公开内容

项目名称:网站重构
状态:进行中

## 🔒 机密信息

%%ENCRYPT
API_KEY=sk-xxxxxxxxxxxxx
DATABASE_PASSWORD=p@ssw0rd123
END_ENCRYPT%%

以上内容需要密码才能查看。

访问控制

Vault 访问限制

bash
# 1. 文件系统权限(Linux/macOS)
chmod 700 ~/ObsidianVault  # 仅所有者可访问
chmod 600 ~/ObsidianVault/.obsidian  # 保护配置

# 2. Windows 权限
# 右键文件夹 → 属性 → 安全 → 编辑权限
# 移除 Users 组的访问权限,仅保留当前用户

Obsidian 应用层保护

保护措施实现方式工具/插件
启动密码锁定插件Lock Screen Plugin
空闲自动锁定定时锁定Idle Timer 插件
生物识别指纹/面容系统级(移动端)
敏感内容隐藏内容遮罩Censor Plugin

敏感数据隔离

推荐结构:
vault/
├── public/          # 可分享的笔记
├── private/         # 个人笔记
├── secrets/         # 加密存储(密码、密钥)
│   ├── .encrypted/  # 加密内容
│   └── .gitignore   # 忽略加密文件
├── work/            # 工作相关
└── archive/         # 归档

插件安全审计

插件安全检查清单

在安装任何社区插件前,执行以下检查:

审查插件代码

bash
# 克隆插件源码
git clone https://github.com/author/plugin-name.git
cd plugin-name

# 检查网络请求
grep -rn "fetch\|XMLHttpRequest\|http" src/ --include="*.ts"

# 检查代码执行
grep -rn "eval\|Function\|require" src/ --include="*.ts"

# 检查文件系统访问
grep -rn "fs\.\|readFile\|writeFile\|path\." src/ --include="*.ts"

# 检查外部数据传输
grep -rn "upload\|send\|post\|transmit" src/ --include="*.ts"

高风险插件特征

⚠️ 警告信号:
  - 闭源插件
  - 请求管理员权限
  - 访问系统级文件
  - 收集用户数据上传到服务器
  - 代码混淆或压缩(非构建产物)
  - 安装后立即请求网络访问
  - 插件描述与功能不符

插件沙箱化

使用 Sandboxes 插件 或手动隔离:

bash
# 为高风险插件创建测试 Vault
mkdir ~/ObsidianTestVault
# 在测试 Vault 中安装和测试插件
# 确认安全后再安装到主 Vault

同步安全

Obsidian Sync 加密

Obsidian Sync 默认提供 E2EE(端到端加密):
  1. 设置 → 同步 → 开启端到端加密
  2. 设置加密密码(独立于 Obsidian 账户密码)
  3. 加密密码不要存储在云端

验证加密状态:
  - 同步设置中显示 🔒 加密已启用
  - Obsidian 服务器无法读取你的笔记内容

Git 同步安全

bash
# 1. 使用 SSH 密钥认证(而非密码)
ssh-keygen -t ed25519 -C "your_email@example.com"
# 将公钥添加到 GitHub

# 2. 配置 Git 不存储敏感信息
# .gitignore
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/plugins/*/data.json  # 插件配置可能含敏感数据
.secrets/
*.key
*.pem

# 3. 使用 Git Credential Manager
git config --global credential.helper manager

# 4. 如果使用 HTTPS,确保使用 Personal Access Token
# 不要使用账户密码

第三方同步服务对比

服务E2EE安全评级注意事项
Obsidian Sync⭐⭐⭐⭐⭐官方服务,推荐
Git (自建)⭐⭐⭐⭐需要 GPG 加密
Syncthing⭐⭐⭐⭐P2P 加密传输
iCloud⭐⭐⭐Apple 可访问
Dropbox⭐⭐可被服务方读取
Google Drive⭐⭐可被服务方读取

备份安全

3-2-1 备份策略

3 份数据副本
2 种不同存储介质
1 份离线备份

推荐方案:
  副本 1:本地 NAS / 外置硬盘(自动同步)
  副本 2:加密云存储(Obsidian Sync / Cryptomator)
  副本 3:离线硬盘(每月手动备份)

加密备份

bash
# 使用 GPG 加密备份
tar czf - ~/ObsidianVault | gpg --symmetric --cipher-algo AES256 -o vault-backup-$(date +%Y%m%d).tar.gz.gpg

# 解密恢复
gpg --decrypt vault-backup-20260713.tar.gz.gpg | tar xzf -

# 自动化备份脚本
#!/bin/bash
BACKUP_DIR="/backup/obsidian"
DATE=$(date +%Y%m%d)
VAULT_DIR="$HOME/ObsidianVault"

# 加密备份
tar czf - "$VAULT_DIR" | gpg --batch --yes --passphrase-file /path/to/passphrase \
  --symmetric --cipher-algo AES256 -o "$BACKUP_DIR/vault-$DATE.tar.gz.gpg"

# 保留最近 30 天
find "$BACKUP_DIR" -name "vault-*.tar.gz.gpg" -mtime +30 -delete

echo "备份完成: vault-$DATE.tar.gz.gpg"

隐私保护

数据最小化原则

  1. 不要在笔记中存储

    • 银行卡号、CVV
    • 身份证号
    • 社交媒体密码
    • 私密照片
  2. 如需存储敏感信息

    • 使用密码管理器(Bitwarden / KeePassXC)
    • 在 Obsidian 中只存储引用链接
    • 加密存储绝对必要的少量信息

网络隐私

关闭非必要网络功能:
  1. 设置 → 社区插件 → 关闭自动更新检查
  2. 使用 Web Clipper 时注意 URL 泄露
  3. AI 插件注意数据上传政策
  4. 关闭遥测/使用统计(如有)

DNS 隐私:
  - 使用 DoH (DNS over HTTPS)
  - 推荐:Cloudflare 1.1.1.1 / Google 8.8.8.8

AI 插件隐私

使用 AI 插件时的隐私注意事项:

配置项推荐设置说明
数据上传仅选中文本避免全库上传
API 密钥存储环境变量不硬编码在配置中
本地模型Ollama / LM Studio敏感数据用本地 AI
日志清理定期清除避免对话记录泄露
模型选择按需选择敏感任务用本地模型

安全检查清单

每月检查

每季度检查

每年检查

相关文档