安全与钥匙串集成

了解 HarborDB 如何使用 macOS 钥匙串和安全功能来保护您的数据库凭据和数据

Macos
最后更新: 2026年2月16日

安全与钥匙串集成

欢迎阅读 HarborDB 安全指南。这份全面的资源解释了 HarborDB 如何利用 macOS 安全功能——特别是钥匙串——来保护您的数据库凭据和数据。无论您是在处理本地开发数据库还是生产服务器,了解这些安全功能对于保护敏感信息至关重要。

安全的重要性

数据库连接通常包含敏感信息:

  • PostgreSQL 服务器的用户名和密码
  • 连接详细信息,包括主机名和端口
  • 可能包含机密数据的查询结果
  • 包含业务关键信息的导出文件

HarborDB 以安全为核心原则设计,使用原生 macOS 技术提供企业级保护,同时不影响可用性。

macOS 钥匙串:您的数字保险箱

什么是钥匙串?

钥匙串是 macOS 内置的密码管理系统。可以将其视为 macOS 存储以下内容的数字保险箱:

  • 应用程序和网站的密码
  • 用于安全通信的加密密钥
  • 用于身份验证的证书
  • 用于敏感信息的安全备注

钥匙串如何保护您的数据

  1. 静态加密:所有钥匙串数据都使用 AES-256 加密进行加密
  2. 访问控制:每个应用程序必须请求权限才能访问钥匙串项目
  3. 用户隔离:钥匙串项目与您的用户帐户绑定
  4. 自动锁定:当您的 Mac 进入睡眠或锁定时,钥匙串会锁定

HarborDB 和钥匙串集成

自动密码存储

在 HarborDB 中保存连接时:

  1. 从连接设置中提取密码
  2. 加密并存储在您的用户钥匙串中
  3. 连接文件仅保存非敏感信息
  4. 下次连接时,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. 文件安全

  1. 将连接文件存储在安全位置
  2. 使用 FileVault 进行全盘加密
  3. 定期备份钥匙串(通过 Time Machine)
  4. 使用适当的权限保护导出文件夹

Touch ID 和生物识别集成

在 HarborDB 中使用 Touch ID

如果您的 Mac 有 Touch ID(或更新型号上的 Face ID),您可以增强安全性:

  1. 在系统设置中为钥匙串启用 Touch ID
  2. HarborDB 在访问密码时会提示指纹
  3. 如果生物识别失败则回退到密码

设置生物识别认证

  1. 打开 系统设置Touch ID 与密码
  2. 添加您的指纹(最多 3 个)
  3. 在用途列表中勾选 "钥匙串"
  4. 重启 HarborDB 以使更改生效

生物识别集成的好处

  • 便利性:无需输入主密码
  • 安全性:对您唯一(无法共享)
  • 速度:比输入密码更快
  • 审计追踪:每次访问都有唯一标识

FileVault 和磁盘加密

什么是 FileVault?

FileVault 是 macOS 的全盘加密功能:

  • 加密整个启动磁盘
  • 保护静态数据
  • 对应用程序透明
  • 某些合规标准要求

启用 FileVault

  1. 打开 系统设置隐私与安全
  2. 点击 FileVault
  3. 点击 打开
  4. 选择恢复方法(iCloud 或恢复密钥)
  5. 等待加密完成(后台进程)

FileVault 如何保护 HarborDB 数据

启用 FileVault 后:

  • 连接文件在磁盘上加密
  • 导出文件受到保护
  • 临时文件无法恢复
  • 缓存文件即使 Mac 被盗也是安全的

网络安全(SSL/TLS)

理解 SSL/TLS

SSL(安全套接字层)和 TLS(传输层安全)加密传输中的数据:

HarborDB (macOS) → 加密隧道 → PostgreSQL 服务器

HarborDB 中的 SSL 模式

| 模式 | 安全级别 | 使用场景 | | --------------- | -------------- | ---------------------------- | | 禁用 | ❌ 无 | 仅限本地开发 | | 允许 | ⚠️ 低 | 优先未加密 | | 首选 | ✅ 中等 | 大多数情况下的默认值 | | 要求 | ✅ 高 | 远程服务器 | | 验证-CA | ✅✅ 高 | 验证证书颁发机构 | | 验证-完整 | ✅✅✅ 最高 | 完整证书验证 |

在 HarborDB 中配置 SSL

  1. 在 HarborDB 中编辑连接
  2. 从下拉菜单中选择 SSL 模式
  3. 如果使用验证-完整则导入证书
  4. 测试连接以验证 SSL 握手

证书管理

对于企业环境:

  • 在钥匙串访问中导入 CA 证书
  • 使用客户端证书进行相互 TLS
  • 设置证书过期警报
  • 定期更新已撤销的证书

常见问题故障排除

钥匙串访问问题

"HarborDB 无法访问钥匙串"

  1. 检查权限

    # 打开钥匙串访问
    open /Applications/Utilities/Keychain\ Access.app
    
  2. 重置 HarborDB 权限

    • 删除并重新添加连接
    • 提示时授予权限
  3. 修复钥匙串

    • 打开钥匙串访问
    • 选择"登录"钥匙串
    • 文件 → "钥匙串急救"

"在钥匙串中找不到密码"

  1. 验证连接名称是否已更改
  2. 检查多个钥匙串(登录、系统、iCloud)
  3. 重建钥匙串索引
    security delete-keychain ~/Library/Keychains/login.keychain-db
    # 下次登录时会重新创建
    

SSL 连接问题

"SSL 握手失败"

  1. 检查 PostgreSQL SSL 配置

    # 在 postgresql.conf 中
    ssl = on
    ssl_cert_file = 'server.crt'
    ssl_key_file = 'server.key'
    
  2. 验证证书有效性

    openssl x509 -in server.crt -text -noout
    
  3. 尝试不同的 SSL 模式(要求 → 首选)

一般安全问题

"权限被拒绝"错误

  1. 检查文件权限

    ls -la ~/Library/Application\ Support/HarborDB/
    
  2. 重置 HarborDB 权限

    • 移动首选项文件
    • 重启 HarborDB
  3. 验证磁盘权限

    diskutil verifyVolume /
    

高级安全功能

自定义钥匙串配置

对于高级用户:

  1. 为 HarborDB 创建专用钥匙串

    security create-keychain -P harbor.keychain
    security set-keychain-settings harbor.keychain
    
  2. 为敏感连接设置更短的超时

    security set-keychain-settings -t 300 harbor.keychain
    
  3. 不使用时锁定钥匙串

    security lock-keychain harbor.keychain
    

审计和监控

  1. 在首选项中启用连接日志记录

  2. 查看钥匙串访问日志

    log show --predicate 'subsystem == "com.apple.security"'
    
  3. 为失败的连接设置警报

  4. 定期查看导出的文件访问日志

合规性考虑

GDPR/CCPA 合规性:

  • 静态和传输中的个人数据加密
  • 访问日志记录和审计追踪
  • 导出的数据保留策略

HIPAA 合规性:

  • 全盘加密(FileVault)
  • 非活动连接的会话超时
  • 临时文件的安全删除

PCI DSS 合规性:

  • 切勿在查询中存储信用卡号
  • 在导出中掩码敏感数据
  • 定期安全评估

安全检查清单

每日实践

  • [ ] 离开时锁定 Mac
  • [ ] 使用前验证连接安全性
  • [ ] 检查 macOS 安全更新
  • [ ] 查看最近的连接尝试

每周实践

  • [ ] 查看导出的文件位置
  • [ ] 检查钥匙串中的过时条目
  • [ ] 验证 FileVault 是否激活
  • [ ] 备份安全配置

每月实践

  • [ ] 轮换数据库密码
  • [ ] 查看 SSL 证书
  • [ ] 审计连接权限
  • [ ] 测试灾难恢复程序

获取帮助

安全事件

如果您怀疑存在安全问题:

  1. 立即行动

    • 更改受影响的数据库密码
    • 撤销受损证书
    • 启用额外日志记录
  2. 联系支持并提供:

    • 事件时间范围
    • 受影响的连接
    • 任何错误消息
    • 已采取的措施

安全咨询

对于企业安全需求:

  • 自定义安全评估
  • 合规性指导(GDPR、HIPAA、PCI DSS)
  • 与企业安全系统集成
  • 团队成员培训

其他资源


安全是共同责任。通过理解并正确使用 HarborDB 的 macOS 安全功能,您可以构建强大的防御,防止数据泄露和未经授权的访问。请记住:良好的安全实践会成为保护您数据的日常习惯。

最后更新:{{current_date}}

这对您有帮助吗?

通过提供反馈帮助我们改进此文档。