• 使用 Docker Swarm 加固和迁移 Ubuntu 22.04 生产服务器 - 安全审核 - 更新 - 备份 - 监控

    3 小时 前
    • 所需预算高达 650.96 USD
    • 等待表演者...
  • 最初的情况是 Hetzner 中的一个 VPS(8 个 vCPU - 16 GB RAM - 160 GB SSD)为小型 B2B SaaS 提供服务。在 Ubuntu 22.04 服务器上,Docker Swarm(1 个管理器)、12 个容器(nginx 反向代理、Node.js 上的 3 个 API、2 个工作线程、PostgreSQL 14、Redis、MinIO、Prometheus、Grafana、Loki)。现在通过带有密码的 SSH 访问生产环境,防火墙已部分配置,未定期安装更新,没有集中日志或警报,手动备份到同一磁盘。在过去的 2 个月中,发生了 2 起事件 - 意外的服务重启和 CPU 无明显原因的峰值。

    您需要做的是以最短的停机时间使服务器进入安全且可预测的状态,并保留可重复的配置。

    限制 - 停机时间总计不超过 30 分钟 - 您无法更改云提供商 - 必须保留域和当前的 TLS 证书 - 您不能“重写应用程序”,只能更改基础架构和环境 - 所有更改都记录在 Git 存储库中(我们将提供访问权限) - 最好使用 Ansible 和标准 Linux 工具。

    阶段和预期结果
    1 - 当前状态的诊断 - 服务清单 - 网络端口 - 用户 - 密钥 - cron/systemd 计时器 - 检查内核和 Docker 日志 - 识别重新启动和 CPU 峰值的原因 - 包含假设和更改计划的简短报告。
    2 - 操作系统和访问强化 - 将 SSH 传输到密钥 - 禁用密码身份验证和 root 登录 - 设置fail2ban - 使用明确的开放端口列表设置 UFW 或 nftables - 基本设置auditd 或关键事件的类似物 - 检查权限和秘密(Docker 秘密 - env 文件) - 更新软件包并通过重新启动控制设置无人值守升级。
    3 - 安全备份方案和恢复 - 自动 PostgreSQL 备份(根据协议使用 pg_dump 或 pg_basebackup) - MinIO 备份(mc 镜像或 rclone) - Swarm 配置和重要目录的备份 - 上传到单独的存储(例如,通过 SSH 的 Hetzner Storage Box - 允许 S3 兼容存储) - 备份加密(age 或 gpg) - 存储规定(每天 7 次 - 每周 4 次) - 在测试电路或临时虚拟机上进行强制恢复检查。
    4 - 可观察性和警报 - 设置 node_exporter - cAdvisor - 收集日志(Loki 或日志转发) - CPU 的 Grafana 仪表板 - RAM - 磁盘 - Docker 重新启动 - Postgres 运行状况 - 在 Telegram 或电子邮件中设置警报 - 至少 6 个关键警报(磁盘 > 80% - OOM - 容器重启循环 - Postgres 复制/备份失败(如果适用) - nginx 不可用 - 增长5xx)。
    5 - 将部署引入可重复的形式 - 操作系统的 Ansible 角色或剧本 - 防火墙 - 用户 - docker/swarm 基本配置 - 备份 - 监控 - 所有变量和秘密都是分开的(Ansible Vault 或 SOPS) - README 中有关如何从头开始部署服务器以及如何执行恢复的说明。

    验收标准(可测量)
    - 仅使用密钥进行 SSH 访问 - 禁用 root 登录 - 禁用密码身份验证
    - 除 80 - 443 - 22 之外的所有外部端口在防火墙上均关闭(如果合理,22 可以更改为其他端口)
    - 根据计划执行每日自动备份到单独的存储,并有成功报告 - 至少完成一项 PostgreSQL 恢复测试和一项 MinIO 文件恢复测试并确认
    - 监控显示服务器和容器指标 - 警报已配置 - 测试警报正在传送
    - 下班后 Swarm 服务与下班前一样工作 - 保存域和 TLS - 总停机时间在 30 分钟内
    - 存储库有 Ansible 代码 - 变量 - 自述文件 - 备份方案 - 所做更改列表

    技术环境 - Ubuntu 22.04 LTS - Docker 24.x - Docker Swarm - PostgreSQL 14 - Redis - MinIO - Prometheus - Grafana - Loki - nginx - Hetzner VPS - 单独的备份存储。我们将提供通过 SSH 和 DNS 面板的访问。
您的报价

您尚未提交此订单的报价。
点击“提交报价”发送您的报价。

Need a similar task?

If this project is close to your need, you can view ready services in the category or post your own task with the required budget, deadline and requirements.

The project «使用 Docker Swarm 加固和迁移 Ubuntu 22.04 生产服务器 - 安全审核 - 更新 - 备份 - 监控» can be used as a reference for your own brief: what should be done, what result is needed and what budget to set.