安全与访问
主服务器上的访问约定。不要把真实密钥、私钥或 .env 内容写入文档。
SSH 与访问
- 监听端口:2222(不是 22)。
- 本机登录账号:
root(家目录/root)、deploy(/home/deploy)。 - 业务代码与 systemd 单元目前以
/root下路径为准。
连接示例(把主机换成当前 DNS/IP):
ssh -p 2222 deploy@<主机>
密钥只放在运维成员本机与服务器 authorized_keys。新成员需要访问时,由现有运维把公钥加到对应账号,不要用密码登录生产 SSH。
防火墙与端口
ufw active。公网允许:
| 端口 | 用途 |
|---|---|
2222/tcp | SSH |
80/tcp | HTTP(跳转到 HTTPS) |
443/tcp | HTTPS |
明确拒绝公网直连示例:2022(SFTPGo SFTP)、4000(抽奖后端)。应用应继续监听 127.0.0.1,由 Nginx 对外。
改防火墙前先确认仍能从 2222 进去,避免把自己锁在外面。
密钥与敏感配置
| 类别 | 存放位置(本机) | 文档约定 |
|---|---|---|
| 各应用环境变量 | 对应项目 .env / EnvironmentFile= | 只写变量名,不写值 |
| rclone / R2 | 本机 rclone 配置 | 见 /root/infra-backup/README.md,勿提交 |
| Let's Encrypt | /etc/letsencrypt/ | 只写路径 |
轮换:改完密钥后重启对应 systemd 或按该系统 Operations 重建容器。生产 secrets 不得提交到 Git。
权限申请流程
没有单独的工单系统。需要 SSH 或改生产配置时,联系当前能登录这台机器的运维,说明用途与时限。临时 elevated 访问用完应收回公钥。
检查清单
- 仅必要端口对外(当前 2222 / 80 / 443)
- SSH 走密钥、端口 2222
- 新服务默认 bind
127.0.0.1 - 生产 secrets 未提交到 Git