
【免费下载链接】ObsidianArcA self-hosted AI platform with a Go server, multi-provider routing, usage tracking and an admin console, with chat and agentic work modes.项目地址https://gitcode.com/gh_mirrors/ob/ObsidianArc点击查看免费下载Obsidian Arc 是一款自托管self-hostedAI 平台内置 Go 服务端、多服务商路由、用量追踪和管理控制台。本文将给你一份完整的 Obsidian Arc 安全加固清单覆盖 TOTP 两步验证、Turnstile 人机验证、PoW 工作量证明和审计日志四大核心机制帮你快速加固生产实例。为什么需要这份安全加固清单自托管意味着安全由你自己负责。Obsidian Arc 默认提供了分层防御但每一项都需要管理员按场景启用而不是照单全开登录侧TOTP 两步验证保护账号身份注册与高危操作侧Turnstile 与 PoW 拦截自动化脚本运营侧审计日志回答哪位管理员在什么时候改了什么。这四层机制分别解决不同问题配合 docs/features/security.md 中的注册条件、频率限制等设置构成完整防线。TOTP 两步验证密码之外的第二道锁TOTP基于时间的一次性密码RFC 6238让用户在输入密码后还需输入手机身份验证器生成的六位验证码。别人即使拿到了密码没有你的手机也登录不了。实现位于 internal/totp/totp.go6 位数字、30 秒有效期、允许前后 1 个时间步的时钟偏差且同一验证码不可重复使用比较过程采用恒定时间避免时序泄露。四步绑定身份验证器在 设置 → 安全 中点击设置两步验证按向导完成安装应用任选支持 TOTP 的应用如 Google Authenticator、Authy、1Password、Bitwarden 等扫码绑定扫描页面二维码或手动输入密钥类型选基于时间输入验证码验证通过后才真正开启中途关闭页面对账户无影响保存恢复码10 个恢复码只显示这一次请保存在手机以外的地方。完整步骤见 docs/features/two-factor.md。恢复码与管理员强制策略手机丢失登录时点击改用恢复码每个恢复码只能用一次手机和恢复码都丢失时联系管理员重置。强制策略管理后台 安全 → 两步验证 支持四档不强制 / 管理员进后台必须绑定 / 所有管理员必须绑定 / 所有用户必须绑定。为防止管理员把自己锁在后台外操作者本人必须先开启两步验证否则保存会被拒绝。进入后台二次验证可要求管理员进入管理后台时再验证一次支持每次进入 / 无操作超时 / 定期验证三种模式还能在 IP 或浏览器变化时自动作废解锁状态。⚠️ 强制策略覆盖网页登录、第三方登录和 SSH 终端但不影响已创建的 API 密钥密钥安全请另行管理。Turnstile 人机验证拦下自动化注册与刷量请求Turnstile 是 Cloudflare 提供的人机验证组件在 Obsidian Arc 中只用在自动化成功代价最高的几个入口使用位置防护目的注册防止批量注册脚本登录防止撞库与暴力尝试API 密钥创建防止自动化窃取调用能力网页聊天超阈值按速度阈值按需弹出通过后自动继续源码在 internal/turnstile/turnstile.go几个值得注意的设计细节密钥永不离开服务器进程secret 在设置界面为只写、响应中一律打码验证端点硬编码管理员无法把它指向来者不拒的第三方区分失败类型用户没通过挑战返回 403challenge_failedCloudflare 服务故障返回 503challenge_unavailable便于监控区分一波机器人和验证服务宕机验证请求携带客户端 IPremoteip把令牌绑定到调用者防止一次解出、千次转卖。 上线前检查清单站点域名与密钥配对是否正确、服务器能否访问验证服务。详见 docs/features/security.md。PoW 工作量证明本地化的防批量注册拼图没有外部依赖时Obsidian Arc 用 ALTCHA 风格的**有界工作量证明Proof-of-Work**替代外部验证码服务器基于随机 salt 与有界数字生成挑战用HMAC-SHA256签名客户端从 0 递增 nonce找到哈希匹配的答案并提交服务器校验签名、有效期并拒绝已被使用过的 salt防重放。实现在 internal/pow/pow.go 与 internal/pow/salts.go重放防护已用 salt 默认存在内存中调用UseSaltStore后可存入数据库让共享同一数据库的多实例互不重复放行过期与限流挑战过期ErrExpired、nonce 超界ErrMaxExceeded、请求过频ErrRateLimited都会明确报错难度可分档低于当前难度档位的旧挑战会被拒绝ErrBelowTier管理员可以在运行中抬高门槛。对普通用户几乎无感但对注册脚本是一笔实实在在的 CPU 成本——这正是它的价值所在。审计日志与安全事件让管理操作可追溯Obsidian Arc 把日志拆成三本账各司其职日志回答的问题存储位置请求日志谁在何时调用了哪个接口request_log安全事件系统对账号做出了什么决定拒绝注册、限权、通过挑战独立安全日志管理员审计日志哪位管理员改了什么admin_audit表审计日志记录了什么由 internal/audit/audit.go 实现后台每一条路由默认挂载审计包装器——新接口天然就是被审计的接口每一次后台写操作新增、修改、删除、执行无论成功、失败还是权限不足被拒绝被拒绝的尝试也会记在发起人名下敏感读操作查看他人对话列表或内容终端管理命令网页终端或 SSH 中执行的管理命令同样留痕来源标记为console:web/console:ssh字段级变更修改设置或编辑账号时记录每个字段的旧值与新值。每条记录包含时间、操作人及角色、操作对象含当时的名称快照、状态码、耗时、来源、IP 与客户端。敏感信息自动打码请求内容写入前先脱敏字段名含password、secret、token、key的值一律替换为***密钥类设置只记录已更改不记录新旧值上传内容只记长度或类型。保留策略与终端查询默认保留180 天由后台例行清理任务删除过期记录保留时长audit.retention_days仅超级管理员可改范围 30–3650 天查看需要单独的审计日志权限audit后台不提供删除单条记录的能力防篡改请把数据库备份纳入保留计划。终端中可直接查询audit list --outcome failed audit list --actor alice --limit 20 audit show id安全事件注册审核结果、限权、聊天验证则走独立的安全日志不混入普通请求日志列表接口见 internal/admin/security_events.go。完整说明见 docs/admin/logs-and-auditing.md。安全加固快速核对表项目建议配置参考位置TOTP 两步验证至少要求所有管理员绑定生产环境建议全员强制docs/features/two-factor.md进入后台二次验证启用visit或interval模式并开启 IP/浏览器变化重验同上Turnstile注册 登录 API 密钥创建三处开启docs/features/security.mdPoW 挑战面向公开注册的实例启用按需调整难度档位internal/pow/审计日志授予audit权限给审计角色数据库备份纳入保留计划docs/admin/logs-and-auditing.md密码与密钥密码 Argon2id 哈希、服务商密钥实例密钥加密、API Key 只存哈希默认行为docs/features/security.md按上表逐项核对后你的 Obsidian Arc 实例将具备身份、入口、行为、追溯四个层面的完整防护。赞分享【免费下载链接】ObsidianArcA self-hosted AI platform with a Go server, multi-provider routing, usage tracking and an admin console, with chat and agentic work modes.项目地址https://gitcode.com/gh_mirrors/ob/ObsidianArc点击查看免费下载相关推荐Poznote Security 安全加固清单2FA 两步验证、OIDC/SSO 单点登录、App Password 与租户隔离Poznote Security 安全加固清单2FA 两步验证、OIDC/SSO 单点登录、App Password 与租户隔离 Poznote 是一款免费、PHP TOTP/HOTP库 - 强化您的两步验证安全PHP TOTP/HOTP库 强化您的两步验证安全 在这个数字化的时代数据安全已经成为我们日常生活的重要部分。为了确保账户的安全性两步验证2FA已经成为应用安全后端clipboard.js安全加固安全日志与审计跟踪clipboard.js安全加固安全日志与审计跟踪 引言剪贴板安全的隐形威胁 你是否知道用户每一次复制粘贴操作都可能成为数据泄露的突破口在现代Web应用前端上一篇为什么IRIS值得尝试Fig开源继任者把IDE级IntelliSense带进终端的Shell自动补全工具下一篇Aegis 使用技巧大全8 个自然语言触发短语让 AI Agent 像资深工程师一样工作创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考