Agent Skills
返回列表
自托管服务器安全套件

自托管服务器安全套件

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_c0778395/server-shield 到你的 AI 助手中。

技能介绍

你要解决什么问题

自托管服务器被扫端口、SSH 密码爆破、HTTP 撞库,通常不是「没有安全软件」,而是防线彼此断开:fail2ban 只在应用层记日志,内核层 iptables 没跟上;改了 sshd_config 才发现 key 登录没确认,把自己锁在门外;在 CDN 后面 ban 反代出口,误伤的全是正常用户。

这个技能把加固过程拆成可验证的阶段,并且要求破坏性操作前显式确认,自带 5 分钟回滚保险。

技能如何工作

先收输入:OS(Ubuntu/CentOS)、暴露面(SSH/HTTP)、已有防御(fail2ban/ufw/CDN)、当前症状(异常/已被穿透)、是否有 sudo。这些字段决定后面 L1–L4 走哪几层。

Phase 1 — 态势感知(只读不改)

先用 references/forensics-commands.md 跑一遍完整取证命令集,看清谁在连、连到什么、有没有已植入的东西。这一阶段不写任何配置。

Phase 2 — 分层防御

  • L1 fail2ban:最低成本,先做。模板在 references/jail-local-template.md,写入 /etc/fail2ban/jail.local 生效。
  • L2 iptables:内核层兜底。echo "sudo iptables --flush" | sudo at now + 5 minutes 在动手前排好自动回滚;完整规则见 references/iptables-rules.md。
  • L3 sshd 加固:目标是让密码爆破失效。模板见 references/sshd-config-template.md,改 PasswordAuthentication no 之前必须先确认 key 登录可用。
  • L4 nginx 加固:配置见 references/nginx-config-template.md。

Phase 3 — 持续监控

references/daily-report-script.md 提供日报脚本,让防御状态可以每天被看到,而不是出事才查。

Phase 4 — 应急响应

已经被穿透时的完整流程在 references/incident-checklist.md,包含核心处置命令。

输出与失败处理:references/usage-and-failure.md 规定了输出格式、失败处理表、安全承诺和适用边界。

适用边界与注意点

  • 仅限自管服务器运维,不覆盖云厂商托管的安全组/WAF 自动化。
  • 所有破坏性操作必须由你显式确认,并自动配置 5 分钟回滚。
  • 改 sshd 前不确认 key 登录可用,等于主动断连。
  • CDN/反代后面 ban IP 要看 X-Forwarded-For 里的真实 IP,直接 ban 反代出口会误伤。
  • 任何配置变更前先备份:sudo cp 原文件 原文件.bak.$(date +%Y%m%d)。

License 为 MIT-0,公共领域贡献,可自由使用、修改、再发布,无需署名。

使用场景

  • 自托管服务器被扫端口,需要在动手前跑只读取证命令,确认攻击来源与异常进程
  • 准备禁用 SSH 密码登录,要先验证 key 登录可用,再按模板改 sshd_config 并配回滚
  • 服务器遭遇 SSH 密码爆破,需要写 jail.local 启用 fail2ban,再补 iptables 内核规则
  • 服务器疑似已被穿透,需要按应急清单执行核心处置命令,并配每日监控日报脚本

适合人员

  • 独立开发者,自己维护一台 VPS,被扫端口后不知道该先查什么、再改什么
  • 小团队运维负责人,手头有十几台自管服务器,需要统一的加固模板和回滚保障
  • 初创公司后端工程师,没有专职安全岗,要靠有限人力完成分层防御和应急响应
  • 个人博客或自建服务维护者,被暴力破解骚扰,想低成本上 fail2ban 和 sshd 加固