私有基础设施 / 无需身份证明阅读隐私原则
KoalaVPS 现场笔记

第一小时:更小的攻击面。

谨慎的首次会话可建立访问、更新和恢复,而不会将你锁在外面。

验证并保留访问权限

通过可信渠道确认服务器身份,并添加你的 SSH 公钥。创建具名管理用户。在测试新会话时保持原会话开启,并在更改身份验证前记录恢复方法。

修补并减少暴露

安装受支持的安全更新,并在需要时重启。检查监听服务,仅在防火墙中允许必要的端口,包括 IPv6。移除未使用的守护进程,避免仅仅为了让设置更简单而公开开放数据库。

分离用户与机密

在各自账户下运行应用程序。将私有配置放在公共 Web 目录之外,并排除在版本控制之外。使用范围较窄的数据库权限,并为生产环境和实验使用单独的凭据。

保留可用的恢复路径

设置日志轮转、磁盘告警和独立备份。重启一次以验证应用正确启动。记录更改内容,以便在干净镜像上重建配置。

关闭会话前先检查

使用新账户打开第二个连接,验证管理权限提升,并从另一客户端测试防火墙。确认服务在重启后恢复。记录提供商恢复路由,以免错误的网络规则需要临时恢复。

首日验证清单

检查开放套接字、近期认证事件、更新状态、备份时效和磁盘使用情况。确认私有配置和版本控制元数据无法通过 HTTP 获取。使用支持实际工作负载的最小已安装工具集。

ss -lntup
df -h
free -h
systemctl --failed

以可逆顺序进行访问变更

首先确认控制台或救援路径,并通过可信的提供商渠道验证 SSH 主机密钥。为指定管理员安装公钥,然后打开第二个连接并测试权限提升。在重新加载服务前,验证 SSH 配置语法。仅在允许预期的 SSH 路由后,才应用防火墙更改。在替换方法从全新会话中生效后,禁用旧的身份验证方法,并包含任何所需的第二因素流程。

  • 检查生效配置和包含的片段;一个文件中的设置可能不是最终策略。
  • 在审查基于密钥的登录设计时,同时检查密码认证和键盘交互策略。
  • 非默认的 SSH 端口可减少背景噪音,但不能替代已验证的密钥、访问限制或更新。
  • 使用适用于你的发行版的服务名称和重载流程。在新策略得到验证前保持原会话开启。
# Validate before applying a changed SSH configuration.
sudo /usr/sbin/sshd -t
# Read effective settings; adapt user, host and client address to the test.
sudo /usr/sbin/sshd -T -C user=admin,host=server.example,addr=198.51.100.10

从主机外部验证防火墙

将提供商网络防火墙和客户机防火墙作为独立控制措施进行审查。从另一台授权机器通过 IPv4 和 IPv6 测试预期服务。本地连接只能证明有进程在监听。不要盲目拒绝所有 ICMP 数据包:正常网络运行也需要适当的控制流量。对照实际规则检查容器发布的端口,因为应用暴露情况可能与你认为防火墙前端已应用的策略不一致。

  • 如果 SSH 失败,请先检查源地址限制、监听接口和提供商防火墙,而不是反复更换密钥。
  • 如果 HTTPS 失败,请依次检查 DNS、进程监听器以及本地/代理防火墙。
  • 在首次生产数据集之前,请验证更新状态、干净重启、磁盘告警以及可独立恢复的备份。
  • 设置已记录的时区并验证时间同步。在未检查工作负载的内存和保留需求之前,不要添加任意交换或日志设置。
配置您的基础设施

掌控一切。
按你的条件部署。

无需身份文件。完整管理员权限。原生加密货币计费。