安全与钥匙串集成
了解 HarborDB 如何使用 macOS 钥匙串和安全功能来保护您的数据库凭据和数据
安全与钥匙串集成
欢迎阅读 HarborDB 安全指南。这份全面的资源解释了 HarborDB 如何利用 macOS 安全功能——特别是钥匙串——来保护您的数据库凭据和数据。无论您是在处理本地开发数据库还是生产服务器,了解这些安全功能对于保护敏感信息至关重要。
安全的重要性
数据库连接通常包含敏感信息:
- PostgreSQL 服务器的用户名和密码
- 连接详细信息,包括主机名和端口
- 可能包含机密数据的查询结果
- 包含业务关键信息的导出文件
HarborDB 以安全为核心原则设计,使用原生 macOS 技术提供企业级保护,同时不影响可用性。
macOS 钥匙串:您的数字保险箱
什么是钥匙串?
钥匙串是 macOS 内置的密码管理系统。可以将其视为 macOS 存储以下内容的数字保险箱:
- 应用程序和网站的密码
- 用于安全通信的加密密钥
- 用于身份验证的证书
- 用于敏感信息的安全备注
钥匙串如何保护您的数据
- 静态加密:所有钥匙串数据都使用 AES-256 加密进行加密
- 访问控制:每个应用程序必须请求权限才能访问钥匙串项目
- 用户隔离:钥匙串项目与您的用户帐户绑定
- 自动锁定:当您的 Mac 进入睡眠或锁定时,钥匙串会锁定
HarborDB 和钥匙串集成
自动密码存储
在 HarborDB 中保存连接时:
- 从连接设置中提取密码
- 加密并存储在您的用户钥匙串中
- 连接文件仅保存非敏感信息
- 下次连接时,HarborDB 从钥匙串检索密码
存储位置与内容
| 存储位置 | 存储内容 | 安全级别 | | ---------------------- | ---------------------------------- | ---------------------------- | | macOS 钥匙串 | 仅密码 | 🔒 最高 (AES-256) | | 连接文件 | 主机、端口、数据库、用户名 | 🔐 中等 (文件权限) | | 应用程序内存 | 会话期间解密的密码 | 🔐 高 (RAM 加密) | | 磁盘缓存 | 查询结果、临时文件 | 🔐 中等 (FileVault) |
钥匙串项目结构
每个 HarborDB 连接创建一个钥匙串项目,包含:
- 服务名称:
HarborDB - 帐户名称:
connection:[连接名称] - 密码:您加密的 PostgreSQL 密码
- 访问组:仅限于 HarborDB 应用程序
安全最佳实践
1. 密码管理
应该:
- ✅ 为每个数据库使用强、唯一的密码
- ✅ 定期更改密码(每 90 天)
- ✅ 使用密码管理器增加安全性
- ✅ 在可能的情况下启用双因素认证
不应该:
- ❌ 在不同服务器之间重用密码
- ❌ 将密码存储在纯文本文件中
- ❌ 与他人共享钥匙串密码
- ❌ 使用简单或默认密码
2. 连接安全
本地数据库:
主机: localhost 或 127.0.0.1
SSL: 可选(回环是安全的)
钥匙串: 推荐
开发服务器:
主机: dev-db.internal
SSL: 首选或要求
钥匙串: 必需
防火墙: 限制为内部网络
生产服务器:
主机: prod-db.example.com
SSL: 要求或验证完整
钥匙串: 必需
VPN: 推荐用于访问
3. 文件安全
- 将连接文件存储在安全位置
- 使用 FileVault 进行全盘加密
- 定期备份钥匙串(通过 Time Machine)
- 使用适当的权限保护导出文件夹
Touch ID 和生物识别集成
在 HarborDB 中使用 Touch ID
如果您的 Mac 有 Touch ID(或更新型号上的 Face ID),您可以增强安全性:
- 在系统设置中为钥匙串启用 Touch ID
- HarborDB 在访问密码时会提示指纹
- 如果生物识别失败则回退到密码
设置生物识别认证
- 打开 系统设置 → Touch ID 与密码
- 添加您的指纹(最多 3 个)
- 在用途列表中勾选 "钥匙串"
- 重启 HarborDB 以使更改生效
生物识别集成的好处
- 便利性:无需输入主密码
- 安全性:对您唯一(无法共享)
- 速度:比输入密码更快
- 审计追踪:每次访问都有唯一标识
FileVault 和磁盘加密
什么是 FileVault?
FileVault 是 macOS 的全盘加密功能:
- 加密整个启动磁盘
- 保护静态数据
- 对应用程序透明
- 某些合规标准要求
启用 FileVault
- 打开 系统设置 → 隐私与安全
- 点击 FileVault
- 点击 打开
- 选择恢复方法(iCloud 或恢复密钥)
- 等待加密完成(后台进程)
FileVault 如何保护 HarborDB 数据
启用 FileVault 后:
- 连接文件在磁盘上加密
- 导出文件受到保护
- 临时文件无法恢复
- 缓存文件即使 Mac 被盗也是安全的
网络安全(SSL/TLS)
理解 SSL/TLS
SSL(安全套接字层)和 TLS(传输层安全)加密传输中的数据:
HarborDB (macOS) → 加密隧道 → PostgreSQL 服务器
HarborDB 中的 SSL 模式
| 模式 | 安全级别 | 使用场景 | | --------------- | -------------- | ---------------------------- | | 禁用 | ❌ 无 | 仅限本地开发 | | 允许 | ⚠️ 低 | 优先未加密 | | 首选 | ✅ 中等 | 大多数情况下的默认值 | | 要求 | ✅ 高 | 远程服务器 | | 验证-CA | ✅✅ 高 | 验证证书颁发机构 | | 验证-完整 | ✅✅✅ 最高 | 完整证书验证 |
在 HarborDB 中配置 SSL
- 在 HarborDB 中编辑连接
- 从下拉菜单中选择 SSL 模式
- 如果使用验证-完整则导入证书
- 测试连接以验证 SSL 握手
证书管理
对于企业环境:
- 在钥匙串访问中导入 CA 证书
- 使用客户端证书进行相互 TLS
- 设置证书过期警报
- 定期更新已撤销的证书
常见问题故障排除
钥匙串访问问题
"HarborDB 无法访问钥匙串"
-
检查权限:
# 打开钥匙串访问 open /Applications/Utilities/Keychain\ Access.app -
重置 HarborDB 权限:
- 删除并重新添加连接
- 提示时授予权限
-
修复钥匙串:
- 打开钥匙串访问
- 选择"登录"钥匙串
- 文件 → "钥匙串急救"
"在钥匙串中找不到密码"
- 验证连接名称是否已更改
- 检查多个钥匙串(登录、系统、iCloud)
- 重建钥匙串索引:
security delete-keychain ~/Library/Keychains/login.keychain-db # 下次登录时会重新创建
SSL 连接问题
"SSL 握手失败"
-
检查 PostgreSQL SSL 配置:
# 在 postgresql.conf 中 ssl = on ssl_cert_file = 'server.crt' ssl_key_file = 'server.key' -
验证证书有效性:
openssl x509 -in server.crt -text -noout -
尝试不同的 SSL 模式(要求 → 首选)
一般安全问题
"权限被拒绝"错误
-
检查文件权限:
ls -la ~/Library/Application\ Support/HarborDB/ -
重置 HarborDB 权限:
- 移动首选项文件
- 重启 HarborDB
-
验证磁盘权限:
diskutil verifyVolume /
高级安全功能
自定义钥匙串配置
对于高级用户:
-
为 HarborDB 创建专用钥匙串:
security create-keychain -P harbor.keychain security set-keychain-settings harbor.keychain -
为敏感连接设置更短的超时:
security set-keychain-settings -t 300 harbor.keychain -
不使用时锁定钥匙串:
security lock-keychain harbor.keychain
审计和监控
-
在首选项中启用连接日志记录
-
查看钥匙串访问日志:
log show --predicate 'subsystem == "com.apple.security"' -
为失败的连接设置警报
-
定期查看导出的文件访问日志
合规性考虑
GDPR/CCPA 合规性:
- 静态和传输中的个人数据加密
- 访问日志记录和审计追踪
- 导出的数据保留策略
HIPAA 合规性:
- 全盘加密(FileVault)
- 非活动连接的会话超时
- 临时文件的安全删除
PCI DSS 合规性:
- 切勿在查询中存储信用卡号
- 在导出中掩码敏感数据
- 定期安全评估
安全检查清单
每日实践
- [ ] 离开时锁定 Mac
- [ ] 使用前验证连接安全性
- [ ] 检查 macOS 安全更新
- [ ] 查看最近的连接尝试
每周实践
- [ ] 查看导出的文件位置
- [ ] 检查钥匙串中的过时条目
- [ ] 验证 FileVault 是否激活
- [ ] 备份安全配置
每月实践
- [ ] 轮换数据库密码
- [ ] 查看 SSL 证书
- [ ] 审计连接权限
- [ ] 测试灾难恢复程序
获取帮助
安全事件
如果您怀疑存在安全问题:
-
立即行动:
- 更改受影响的数据库密码
- 撤销受损证书
- 启用额外日志记录
-
联系支持并提供:
- 事件时间范围
- 受影响的连接
- 任何错误消息
- 已采取的措施
安全咨询
对于企业安全需求:
- 自定义安全评估
- 合规性指导(GDPR、HIPAA、PCI DSS)
- 与企业安全系统集成
- 团队成员培训
其他资源
安全是共同责任。通过理解并正确使用 HarborDB 的 macOS 安全功能,您可以构建强大的防御,防止数据泄露和未经授权的访问。请记住:良好的安全实践会成为保护您数据的日常习惯。
最后更新:{{current_date}}