Lingarr安全加固指南:认证、API密钥加密与多用户权限管理全攻略
Lingarr安全加固指南认证、API密钥加密与多用户权限管理全攻略【免费下载链接】lingarrLingarr is an application that supports both local and SaaS translation services to translate subtitle files into a specified target language. With automated translation options, Lingarr simplifies translating subtitles.项目地址: https://gitcode.com/gh_mirrors/li/lingarrLingarr 是一款支持本地与 SaaS 翻译服务的字幕翻译应用能自动将字幕文件翻译成目标语言。当翻译服务密钥、Radarr/Sonarr 集成凭证都保存在服务器上时Lingarr 安全加固就显得至关重要。本指南将带你掌握 Lingarr 的登录认证配置、API 密钥加密机制与多用户权限管理快速构建一套可靠的安全防线。为什么字幕翻译工具也需要安全加固很多用户以为字幕翻译工具不涉及敏感数据其实恰恰相反。Lingarr 会存储以下关键信息 各家 AI 翻译服务的 API KeyOpenAI、Gemini、DeepL、DeepSeek 等 Radarr / Sonarr 的访问地址与密钥 登录账号与密码哈希 本地媒体目录的真实路径一旦这些凭证泄露攻击者不仅可能盗刷你的翻译 API 额度还可能借助集成密钥操控你的媒体库。因此Lingarr 安全加固不应被忽视。第一步开启用户认证为 Lingarr 加上第一道锁Lingarr 的认证体系基于 ASP.NET Core Cookie 认证登录状态默认保持 7 天相关逻辑见 AuthController.cs。最快配置方法首次启动时按照引导流程Onboarding创建第一个管理员账号进入设置 → 认证设置Authentication Settings将Authentication enabled开关打开系统会校验是否已存在用户——必须至少有一个用户才能启用认证界面逻辑见 AuthenticationSettings.vue开启后所有 API 请求都必须携带有效的登录 Cookie 才能访问全局拦截逻辑由 LingarrAuthorizeAttribute.cs 统一处理再也不用担心服务被匿名访问。密码安全机制PBKDF2 哈希存储绝不明文保存Lingarr 从不存储明文密码。密码使用PBKDF2HMACSHA25610 万次迭代 16 字节随机盐算法哈希后入库实现代码见 AuthService.cs每个用户生成独立随机盐防止彩虹表攻击10 万次迭代显著提升暴力破解成本验证时同样走哈希比对明文密码不会落盘哪怕数据库文件泄露攻击者也无法直接还原出你的密码这是Lingarr 安全加固中最基础的兜底保障。API 密钥加密存储密钥永不明文落盘Lingarr 的加密核心是ASP.NET Core Data Protection框架通过IDataProtector实现加解密见 EncryptionService.cs。加密密钥保存在哪里Data Protection 的主密钥会持久化到文件系统可通过环境变量ENCRYPTION_KEYS自定义路径默认位置为/app/config/keys配置见 ServiceCollectionExtensions.cs。⚠️重要提示请务必备份该目录否则密钥丢失后将无法解密已存储的 API Key哪些数据被加密通过 SettingService.cs 的SetEncryptedSetting方法以下敏感设置全部加密存储Lingarr 自身的 API KeyOpenAI、Anthropic、Gemini、DeepSeek、Mistral、XAi 等翻译服务密钥DeepL、LibreTranslate 等机器翻译密钥Radarr / Sonarr 集成 API Key见 IntegrationSettingsProvider.cs也就是说即使有人拿到数据库文件看到的也只是一串密文而非可直接使用的密钥。如何生成和管理 Lingarr API Key除了网页登录Lingarr 还支持API Key 方式调用接口适合脚本化与自动化集成场景。一键生成步骤登录后进入设置 → API Key 配置点击 Generate API Key 按钮重新生成仅能生成一次旧 Key 立即失效复制页面展示的 43 位随机 Key该 Key 由 32 字节加密安全随机数生成见 AuthService.cs 的GenerateApiKey方法生成后立即通过加密通道写入设置库逻辑见 AuthController.cs。API Key 的正确调用方式调用接口时在请求头中携带X-Api-Key即可curl -H X-Api-Key: 你的密钥 http://你的地址:9876/api/endpoint服务端会先尝试 Cookie 认证再校验 API Key两者任一通过即可访问具体校验流程见 LingarrAuthorizeAttribute.cs。前端配置界面见 ApiKeyConfiguration.vue。API Key 管理最佳实践 怀疑泄露时立即重新生成让旧 Key 作废 不要把 Key 写进前端代码或提交到仓库 只在服务端脚本、定时任务中使用多用户权限管理从单人使用到团队协作Lingarr 内置完整的多用户权限管理能力管理员可在设置 → 用户管理User Management中维护账号界面见 UserManagement.vue。支持的管理操作操作说明约束条件创建用户填写用户名与密码用户名至少 2 字符密码至少 4 字符编辑用户修改用户名或重置密码用户名不可重复删除用户移除不再使用的账号系统至少保留一个用户相关接口实现见 AuthController.cs每个账号记录CreatedAt与LastLoginAt便于审计活跃度删除最后一个用户会被服务端拒绝避免系统陷入无人可登录的窘境登录后自动记录最后登录时间帮你发现异常账号反向代理场景下的加固建议如果你的 Lingarr 通过 Nginx 等反向代理对外提供服务建议叠加以下措施 启用 HTTPS为 Cookie 与 API Key 传输加密 将/api/auth之外的端口限制为内网访问 妥善保管ENCRYPTION_KEYS密钥目录并纳入备份️ 定期查看用户列表删除不再使用的账号Lingarr 安全加固检查清单已完成 Onboarding 并创建至少一个管理员账号已在设置中开启用户认证理解 PBKDF2 密码哈希机制使用强密码确认翻译服务与集成密钥均加密存储已备份ENCRYPTION_KEYS密钥目录脚本调用使用X-Api-Key请求头定期审计用户列表清理僵尸账号总结Lingarr 在安全设计上已经相当完善Cookie 会话认证 PBKDF2 密码哈希 Data Protection 密钥加密 多用户管理构成了层层防护。作为用户你只需要完成三件事开启认证、备份加密密钥目录、规范管理 API Key 与账号。掌握本文的Lingarr 认证配置与 API 密钥加密方法就能安心享受自动化字幕翻译带来的效率提升无需担心凭证泄露风险。【免费下载链接】lingarrLingarr is an application that supports both local and SaaS translation services to translate subtitle files into a specified target language. With automated translation options, Lingarr simplifies translating subtitles.项目地址: https://gitcode.com/gh_mirrors/li/lingarr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考