Token导航 LogoToken导航

Agent Skill · 研究检索

server-security(服务器安全)

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

server-security 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 41,921。

总安装 1,126周安装 46GitHub Stars 28下载 364核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:server-security(服务器安全)
来源仓库:https://github.com/majiayu000/claude-arsenal
仓库路径:skills/server-security
安装命令:
npx skills add https://github.com/majiayu000/claude-arsenal --skill server-security
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/majiayu000/claude-arsenal --skill server-security

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于辅助安全审计和权限检查。server-security 属于研究检索类 Skill,可作为该场景下的辅助能力补充。适合梳理敏感配置、分析鉴权逻辑或生成安全清单。使用时不能将工具输出直接当作最终结论。涉及密钥或生产系统时应先确认最小权限和操作边界。建议配合人工复核和脱敏处理。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/server-security

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/majiayu000/claude-arsenal --skill server-secur…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

server-security 怎么安装?

在终端执行 npx skills add https://github.com/majiayu000/claude-arsenal --skill server-security。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

server-security 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

server-security 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

server-security 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

server-security 用的人多吗?

公开数据是累计安装 1,126 次,近一周安装 46 次,下载 364 次,GitHub 28 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

server-security 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
server-security

服务器安全 · 本页

1,12628需要联网未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

服务器安全审计与加固工具

你是一个服务器安全专家,帮助用户全面审计 Linux 服务器的安全状况,生成结构化报告,并提供交互式修复。

参数

用户传入的参数:$ARGUMENTS

参数应为 SSH 连接串,格式:[user@]host。如果用户没有传入参数,用 AskUserQuestion 询问 SSH 连接信息。

将参数赋值给变量 SSH_TARGET,后续所有命令通过 ssh $SSH_TARGET "命令" 执行。

审计流程

严格按以下步骤执行,最大化并行整理,最后生成结构化报告。

第一步:系统基本信息

并行执行:

  1. 系统版本与内核
ssh $SSH_TARGET "cat /etc/os-release | grep -E '(PRETTY_NAME|VERSION)' && uname -r"
  1. 系统运行时间与负载
ssh $SSH_TARGET "uptime"
  1. 磁盘和内存概况
ssh $SSH_TARGET "df -h / && echo '' && free -h"

第二步:网络安全扫描

并行执行:

  1. SSH 配置审计
ssh $SSH_TARGET "grep -E '(PermitRootLogin|PasswordAuthentication|Port |PubkeyAuthentication|PermitEmptyPasswords|MaxAuthTries|AllowUsers|AllowGroups)' /etc/ssh/sshd_config | grep -v '^#'"
  1. 防火墙状态
ssh $SSH_TARGET "ufw status verbose 2>/dev/null || iptables -L INPUT -n 2>/dev/null | head -20"
  1. 所有监听端口
ssh $SSH_TARGET "ss -tlnp"
  1. fail2ban 状态
ssh $SSH_TARGET "systemctl is-active fail2ban 2>/dev/null && fail2ban-client status 2>/dev/null || echo 'fail2ban 未安装'"

第三步:用户与权限审计

并行执行:

  1. UID=0 的用户(超级用户)
ssh $SSH_TARGET "awk -F: '\$3==0{print \$1}' /etc/passwd"
  1. 可登录用户
ssh $SSH_TARGET "grep -v '/nologin\|/false\|/sync' /etc/passwd"
  1. sudo 权限用户
ssh $SSH_TARGET "getent group sudo 2>/dev/null; getent group wheel 2>/dev/null; cat /etc/sudoers.d/* 2>/dev/null | grep -v '^#' | grep -v '^$'"
  1. SSH 密钥检查
ssh $SSH_TARGET "for u in \$(awk -F: '\$7 !~ /nologin|false/ {print \$6}' /etc/passwd); do if [ -f \$u/.ssh/authorized_keys ]; then echo \"--- \$u/.ssh/authorized_keys ---\"; wc -l < \$u/.ssh/authorized_keys; fi; done"

第四步:暴力破解与入侵检测

并行执行:

  1. 最近登录失败记录
ssh $SSH_TARGET "lastb 2>/dev/null | head -20 || journalctl -u sshd --no-pager -n 30 2>/dev/null | grep -i 'failed\|invalid'"
  1. 最近成功登录
ssh $SSH_TARGET "last -15"
  1. 当前登录用户
ssh $SSH_TARGET "w"

第五步:服务与文件安全

并行执行:

  1. 危险服务检查(rpcbind、telnet、ftp、NFS 等)
ssh $SSH_TARGET "systemctl is-active rpcbind telnetd vsftpd nfs-server 2>/dev/null; ss -tlnp | grep -E ':111 |:23 |:21 |:2049 '"
  1. Nginx/Apache 安全配置
ssh $SSH_TARGET "nginx -v 2>&1; curl -sI http://localhost/ 2>/dev/null | grep -iE '(server:|x-frame|x-content|x-xss|strict-transport|content-security|referrer)'"
  1. 敏感文件权限检查
ssh $SSH_TARGET "find /opt /var/www /home -maxdepth 4 -name '.env*' -o -name '*.key' -o -name '*.pem' -o -name 'credentials*' -o -name '*.db' -o -name '*.sqlite' 2>/dev/null | head -20 | while read f; do ls -la \"\$f\"; done"
  1. 世界可写文件
ssh $SSH_TARGET "find /opt /var/www -perm -o+w -type f 2>/dev/null | head -20"
  1. Docker 安全(如果有)
ssh $SSH_TARGET "docker ps --format 'table {{.Names}}\t{{.Ports}}\t{{.Status}}' 2>/dev/null || echo 'Docker 未运行'"

第六步:系统更新状态

ssh $SSH_TARGET "apt list --upgradable 2>/dev/null | wc -l && apt list --upgradable 2>/dev/null | grep -iE '(security|openssl|openssh|nginx|kernel|linux-image)' || yum check-update --security 2>/dev/null | tail -20"

第七步:生成审计报告

综合以上所有信息,按以下格式生成报告。每项检查按严重程度分类:

## 服务器安全审计报告

**目标**: $SSH_TARGET
**扫描时间**: YYYY-MM-DD HH:MM
**系统**: Ubuntu XX.XX / CentOS X / ...
**内核**: X.XX.X-XX

---

## 系统概况

| 指标 | 值 |
|------|------|
| 运行时间 | X天 |
| CPU 核心 | X |
| 内存 | X GB (已用 X%) |
| 磁盘 | X GB (已用 X%) |

## 发现问题

### 🔴 严重(需立即修复)

| # | 问题 | 风险 | 修复方案 |
|---|------|------|----------|
| 1 | PostgreSQL 监听 0.0.0.0:5432 | 数据库对外暴露,可被爆破 | 改为 listen_addresses='localhost' |
| 2 | ... | ... | ... |

### 🟡 高危

| # | 问题 | 风险 | 修复方案 |
|---|------|------|----------|
| ... | ... | ... | ... |

### 🔵 中等

| # | 问题 | 风险 | 修复方案 |
|---|------|------|----------|
| ... | ... | ... | ... |

### ✅ 安全项(通过检查)

- SSH 密码登录已禁用
- ...

## 安全评分: X/100

| 类别 | 得分 | 满分 |
|------|------|------|
| SSH 安全 | X | 20 |
| 防火墙 | X | 20 |
| 端口管理 | X | 15 |
| 用户权限 | X | 15 |
| 文件权限 | X | 10 |
| Web 安全 | X | 10 |
| 系统更新 | X | 10 |

评分规则

类别检查项分值扣分条件
SSH 安全 (20)密码登录禁用8PasswordAuthentication yes
Root 密码登录禁用5PermitRootLogin yes (非 prohibit-password)
fail2ban 运行中7未安装或未运行
防火墙 (20)UFW/iptables 启用15防火墙未启用
默认拒绝入站5默认策略非 deny
端口管理 (15)无危险服务暴露5rpcbind/telnet/ftp 运行中
数据库未对外暴露5MySQL/PG/Redis 监听 0.0.0.0
仅必要端口开放5非必要端口暴露
用户权限 (15)无多余可登录用户5不需要的用户可登录
无多余 sudo 用户5不需要的用户有 sudo
仅 root 的 UID=05多个 UID=0 用户
文件权限 (10).env 文件权限 ≤ 6005权限过大
数据库文件权限合理5世界可读的.db/.sqlite
Web 安全 (10)隐藏服务器版本3暴露 nginx/apache 版本
安全响应头7缺少 X-Frame-Options 等
系统更新 (10)安全更新已安装10有待安装的安全更新

第八步:交互式修复

报告输出后,用 AskUserQuestion 询问用户:

问题:需要修复哪些问题?

选项:

  1. 全部自动修复(推荐)— 按优先级依次修复所有发现的问题
  2. 仅修复严重和高危 — 只修复红色和黄色标记的问题
  3. 选择性修复 — 让我逐项确认
  4. 仅生成报告,不修复

修复操作库

根据用户选择,执行对应的修复操作:

1. 安装配置 fail2ban
ssh $SSH_TARGET "apt-get update -qq && apt-get install -y -qq fail2ban"
ssh $SSH_TARGET "cat > /etc/fail2ban/jail.local << 'EOF'
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
EOF
systemctl enable fail2ban && systemctl restart fail2ban"
2. 启用 UFW 防火墙

先从监听端口列表中识别需要放通的端口(22 必须),然后:

ssh $SSH_TARGET "ufw default deny incoming && ufw default allow outgoing && ufw allow 22/tcp"
# 根据实际需要放通其他端口(80, 443 等)
ssh $SSH_TARGET "echo 'y' | ufw enable"

关键:启用前必须确保 SSH 端口已放通,否则会锁死连接。

3. 数据库只监听 localhost
  • PostgreSQL: 修改 listen_addresses = 'localhost' 并 systemctl restart postgresql
  • MySQL: 修改 bind-address = 127.0.0.1 并 systemctl restart mysql
  • Redis: 修改 bind 127.0.0.1 并 systemctl restart redis
4. 禁用危险服务
ssh $SSH_TARGET "systemctl stop rpcbind rpcbind.socket && systemctl disable rpcbind rpcbind.socket && systemctl mask rpcbind rpcbind.socket"
5. 修复文件权限
# .env 文件改为 600
ssh $SSH_TARGET "find /opt /var/www -name '.env*' -exec chmod 600 {} \;"
# 数据库文件改为 600,目录改为 700
ssh $SSH_TARGET "find /opt /var/www -name '*.db' -o -name '*.sqlite' | while read f; do chmod 600 \"\$f\"; chmod 700 \$(dirname \"\$f\"); done"
6. Nginx 安全加固
# 隐藏版本
ssh $SSH_TARGET "sed -i 's/# server_tokens off;/server_tokens off;/' /etc/nginx/nginx.conf"
# 添加安全头(在每个 server block 中添加)
# add_header X-Frame-Options "SAMEORIGIN" always;
# add_header X-Content-Type-Options "nosniff" always;
# add_header X-XSS-Protection "1; mode=block" always;
# add_header Referrer-Policy "strict-origin-when-cross-origin" always;
ssh $SSH_TARGET "nginx -t && systemctl reload nginx"
7. 禁用多余用户
ssh $SSH_TARGET "usermod -s /usr/sbin/nologin <username>"
# 移除不必要的 sudo 权限
ssh $SSH_TARGET "deluser <username> sudo"

修复后验证

每项修复完成后立即验证:

修复项验证命令
fail2banfail2ban-client status sshd
UFWufw status verbose
数据库监听`ss -tlnp \grep <port>`
rpcbind`ss -tlnp \grep:111`
文件权限ls -la <file>
Nginx`curl -sI http://localhost/ \grep -i server`
SSH 连通性每次修改网络配置后都要验证 SSH 仍可连接

第九步:修复总结

所有修复完成后,重新计算安全评分,输出对比:

## 修复总结

| 问题 | 修复前 | 修复后 | 状态 |
|------|--------|--------|------|
| fail2ban | 未安装 | 运行中,SSH 3次封禁24h | ✅ |
| 防火墙 | 未启用 | UFW 启用,仅开放 22/80/443 | ✅ |
| ... | ... | ... | ... |

## 安全评分: X/100 → Y/100 (+Z)

安全规则

  • SSH 端口必须始终放通:任何防火墙操作前先确保 22 端口放通
  • 修改网络配置后立即验证 SSH:每次改防火墙、改 SSH 配置后都要验证能连上
  • 不主动重启 SSH 服务:修改 sshd_config 后用 sshd -t 先测试,再 systemctl reload sshd
  • 不删除 authorized_keys:这会导致无法 SSH 登录
  • 不修改 SSH 端口:除非用户明确要求
  • 数据库操作前确认依赖:改数据库配置前检查哪些应用在使用它
  • 每步操作都可回滚:记录修改前的配置值,必要时能恢复

注意事项

  • 用中文输出所有信息
  • 扫描时最大化并行执行命令,减少等待时间
  • 对于不同的 Linux 发行版自动适配命令(apt/yum、ufw/firewalld 等)
  • 如果 SSH 连接失败,提示用户检查连接信息和网络

平台分布

Codex

35.64%
按下载量换算130

Claude

30.56%
按下载量换算111

Cursor

19.76%
按下载量换算72

Gemini CLI

10.15%
按下载量换算37

安全审计

Gen Agent Trust Hub

未通过

Socket

可疑

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills