ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Rakazo生产级加固清单:6步完成主机加固、注册白名单与定时备份

Rakazo生产级加固清单:6步完成主机加固、注册白名单与定时备份 Rakazo生产级加固清单6步完成主机加固、注册白名单与定时备份【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazoRakazo 是一款开源的 Grok Bot 替代方案让你自选模型和沙箱在自己的机器上运行 AI 机器人团队。要把 Rakazo 部署到公网服务器一套完整的 Rakazo 生产加固流程必不可少主机安全加固、注册白名单、定时备份。本文给你一份可照做的清单6 步即可完成让你的 Rakazo 服务器既安全又可靠。️第一步准备专用 deploy 账户仅密钥登录在部署前先创建并验证一个仅密钥登录的deploy账户后续所有加固操作都基于它进行。创建deploy用户并把自己的 SSH 公钥写入其~/.ssh/authorized_keys在新终端验证ssh deploy你的服务器能正常登录⚠️ 先别急着关当前会话——下一步脚本会重载 SSH 配置保持云控制台一直开着直到新的密钥登录测试成功防止把自己锁在门外这一步看似简单却是整个 Rakazo 生产加固的地基账户不对脚本会直接报错退出。第二步一条命令完成主机安全加固 ️Rakazo 自带幂等的主机加固脚本在部署目录中执行sudo DEPLOY_USERdeploy bash infra/compose/harden-host.sh脚本会一次性完成以下配置详见 harden-host.sh加固项做了什么 SSH 加固禁用密码登录和 root 登录仅允许deploy用户密钥登录最多 3 次尝试L31-L54 fail2ban 防暴力破解10 分钟内 3 次失败即封禁 1 小时且封禁时长加倍递增、最长 1 周L58-L70 UFW 防火墙默认拒绝入站流量仅放行限流的 SSH、80、443TCPUDPL130-L137 自动安全更新unattended-upgrades 每日自动安装安全补丁L72-L82 AppArmor auditd开启应用隔离并对/etc/passwd、/etc/sudoers、SSH 配置等敏感文件建立审计规则⚙️ 内核与网络防护30 余条 sysctl 保守配置如禁未授权 BPF、SYN Cookie、反向路径过滤L84-L114脚本结尾会提示你新开一个 SSH 会话验证登录成功后才算完成。第三步收紧 Docker 守护进程配置 Rakazo 的机器人bot在独立容器里运行浏览器和桌面。生产单机方案通过 docker-compose.prod.yml 运行 Postgres、API、Worker、Web 和 Caddy自动 HTTPS机器人电脑默认放在远程 E2B 沙箱执行宿主机不暴露 Docker supervisor 或浏览器容器同时为宿主机应用配套的 Docker 守护进程配置 docker-daemon.jsonlive-restore: true重启 Docker 不打断运行中的容器max-size: 10m / max-file: 3容器日志有界防止日志撑爆磁盘no-new-privileges: true容器默认不得提权userland-proxy: false走内核 NAT 路径转发效率更高另外注意Postgres 只运行在 Compose 内部网络不要把数据库端口发布到公网。第四步配置注册白名单与独立密钥 Rakazo 的.env决定了谁能注册、数据如何加密示例见 .env.exampleSIGNUPS_ENABLEDtrue SIGNUP_ALLOWLISTyouexample.com,company.comSIGNUPS_ENABLED只在 API首次启动时写入种子值SIGNUP_ALLOWLIST非空时每次 API 启动都会重新应用非常适合先内部试运行、再逐步放开的节奏配好 SMTP 邮件后白名单内包括已有用户必须验证邮箱才能登录全新实例在无 SMTP 时首个白名单账户可免验证注册所以请先在公网暴露之前创建好第一个账户五个密钥必须是相互独立的随机值切勿复制粘贴同一个字符串且.env永不入库openssl rand -hex 16 # POSTGRES_PASSWORD openssl rand -hex 32 # BETTER_AUTH_SECRET / ENCRYPTION_KEY / SCREEN_PROXY_SECRET / SANDBOX_SUPERVISOR_TOKEN密钥的完整清单与轮换规则见 self-host-secrets.md公开部署的完整环境变量示例见 docs/self-host.md 的 Public single-VM deployment 小节。第五步启用定时备份systemd 每晚自动执行⏰生产备份由 backup-prod.sh 完成官方要求将其安装为/usr/local/sbin/rakazo-backup并启用随仓库提供的 systemd 定时任务 rakazo-backup.timer服务单元见 rakazo-backup.service。定时器每天02:15 UTC 最多 15 分钟随机延迟运行一次且Persistenttrue——关机期间错过的备份会在开机后补跑。每次运行产出✅ 经过pg_restore --list校验的 Postgres 自定义格式转储rakazo.dump✅ 应用数据卷归档appdata.tgz机器人工作区、技能、凭据文件✅SHA256SUMS校验文件快照权限0600✅ 自动轮转只保留最近 7 天快照存放于/var/backups/rakazo如果你的代码检出不在默认的/srv/rakazo把RAKAZO_DEPLOY_DIR写入 root 属主的/etc/rakazo/backup.env权限0600即可服务每次运行都会读取。 本地快照能救命但不能替代主机之外的加密备份对象存储或云厂商快照二者建议同时保留。开发环境则更简单直接运行 scripts/backup.sh 得到backups/时间戳/快照配合 scripts/restore.sh 恢复数据库导入失败会在单事务内整体停止文件只在导入成功后才会恢复。第六步上线验证与日常自检 ✅全部配置完成后按这张自检表逐项打勾检查项方法期望结果密钥登录新开终端ssh deploy主机登录成功旧密码方式应失败防火墙sudo ufw status verbose仅放行 SSH/80/443自动更新systemctl status unattended-upgrades fail2ban均处于 active 状态健康检查curl --fail https://app.example.com/health返回 200 且含revision注册白名单用非白名单邮箱尝试注册无法注册定时备份systemctl status rakazo-backup.timeractive (waiting)备份轮转ls /var/backups/rakazo快照目录不超过 7 个健康检查提示本地构建的镜像需要在构建时传入--build-arg GIT_SHA$(git rev-parse HEAD)/health才会报告当前版本方便日后排查线上跑的是哪份代码。小结Rakazo 生产加固 6 步回顾 deploy 账户仅密钥登录验证后再动手harden-host.sh一条命令搞定 SSH、防火墙、防破解、自动更新docker-daemon.json日志有界、默认不提权注册白名单 独立密钥先把门关上再开门迎客定时备份systemd 每晚自动快照7 天轮转 异地加密备份自检表上线前逐项打勾更多细节升级、回滚、恢复、updater 边车都可以在 docs/self-host.md 中找到。按这份清单走一遍你的 Rakazo 就能安心跑在生产环境了。【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表