打开/关闭搜索
搜索
打开/关闭菜单
54
710
72
2098
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁搬瓦工 VPS 安全基线加固(Debian/Ubuntu)一键审计与最小化暴露面指南”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
搬瓦工 VPS 安全基线加固(Debian/Ubuntu)一键审计与最小化暴露面指南
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
= 搬瓦工 VPS 安全基线加固(Debian/Ubuntu)一键审计与最小化暴露面指南 = == 一、文章目标 == 本文用于帮助 BandwagonHost(BWH)用户在不依赖复杂安全套件的情况下,快速完成 VPS 的基础安全加固,降低被扫描、爆破、误配置导致失联的风险。 == 二、适用范围与不适用范围 == '''适用范围:''' # 新购 VPS(建议开机后 30 分钟内完成) # 仅有 SSH 远程管理需求的 Debian/Ubuntu 服务器 # 准备部署网站、代理、监控、自动化任务前的基线准备 '''不适用范围:''' # 已有复杂生产业务且变更窗口不足的机器(先做快照再操作) # 依赖密码登录且暂未准备公钥的场景 # 不具备 KiwiVM VNC 登录兜底能力的用户 == 三、变更前准备(强烈建议) == # 在 KiwiVM 创建一次快照 # 记录当前 SSH 端口、root 密码、已开放端口 # 打开 KiwiVM 的 VNC(Interactive Shell)页面备用 == 四、5 分钟基础审计(先看现状) == <pre> # 系统信息 uname -a lsb_release -a || cat /etc/os-release # 监听端口与进程 ss -tulpen # 最近登录来源 last -a | head -n 20 # SSH 当前关键配置 grep -E '^(Port|PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|MaxAuthTries)' /etc/ssh/sshd_config # 防火墙状态(若未安装 ufw 会报错,可忽略) ufw status verbose || true </pre> '''判定建议:''' # 若 <code>22</code> 端口对公网开放且密码登录开启,属于高风险 # 若出现异常国家/地区登录记录,先改密钥和登录策略 # 若服务器只用于单应用,不应存在大量无关监听端口 == 五、最小暴露面加固步骤 == === 步骤 1:创建普通 sudo 管理员 === <pre> adduser opsadmin usermod -aG sudo opsadmin id opsadmin </pre> '''说明:''' # 后续尽量不用 root 直连 # 若你使用的是 Debian 旧版,sudo 组可能是 <code>wheel</code>,需按实际调整 === 步骤 2:配置 SSH 公钥登录 === '''在本地执行:''' <pre> ssh-keygen -t ed25519 -C "bwh-prod" ssh-copy-id -i ~/.ssh/id_ed25519.pub opsadmin@<你的VPSIP> </pre> '''服务器侧验证:''' <pre> ls -l /home/opsadmin/.ssh/authorized_keys </pre> === 步骤 3:收紧 SSH 配置 === 编辑 <code>/etc/ssh/sshd_config</code>,确保以下项: <pre> PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes MaxAuthTries 3 </pre> 如需改端口(可选): <pre> Port 22222 </pre> 应用配置: <pre> sshd -t && systemctl restart ssh || systemctl restart sshd systemctl status ssh --no-pager || systemctl status sshd --no-pager </pre> === 步骤 4:启用 UFW 最小规则集 === <pre> apt update && apt install -y ufw # 默认拒绝入站,允许出站 ufw default deny incoming ufw default allow outgoing # 放行 SSH 端口(如果你改了端口,改成对应端口) ufw allow 22222/tcp # 如需网站服务再开放 # ufw allow 80/tcp # ufw allow 443/tcp ufw enable ufw status numbered </pre> === 步骤 5:启用 Fail2ban === <pre> apt install -y fail2ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local </pre> 编辑 <code>/etc/fail2ban/jail.local</code>,至少确认: <pre> [sshd] enabled = true port = 22222 maxretry = 5 findtime = 10m bantime = 1h </pre> 启动与检查: <pre> systemctl enable --now fail2ban fail2ban-client status fail2ban-client status sshd </pre> == 六、一键审计脚本(可重复执行) == <pre> cat >/usr/local/bin/bwh-sec-audit.sh <<'SH' #!/usr/bin/env bash set -euo pipefail echo "===== 基础信息 =====" uname -a cat /etc/os-release | sed -n '1,6p' echo "\n===== SSH 配置 =====" grep -E '^(Port|PermitRootLogin|PasswordAuthentication|PubkeyAuthentication|MaxAuthTries)' /etc/ssh/sshd_config || true echo "\n===== 开放端口 =====" ss -tulpen | head -n 50 echo "\n===== UFW 状态 =====" ufw status verbose || true echo "\n===== Fail2ban 状态 =====" fail2ban-client status || true echo "\n===== 最近登录 =====" last -a | head -n 15 SH chmod +x /usr/local/bin/bwh-sec-audit.sh /usr/local/bin/bwh-sec-audit.sh </pre> == 七、验证清单(变更后必须做) == # 新开终端可用公钥成功登录 # root 密码登录失败(符合预期) # <code>ufw status</code> 只开放必要端口 # <code>fail2ban-client status sshd</code> 正常有 jail # KiwiVM VNC 仍可进入系统 == 八、回滚与救援(防止锁死) == 若 SSH 断连: # 通过 KiwiVM VNC 登录 # 临时关闭 UFW:<code>ufw disable</code> # 回滚 SSH 配置并重启 ssh 服务 # 使用本地终端重新验证后再逐步加固 可用回滚命令: <pre> cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bad # 手动修正后 sshd -t && systemctl restart ssh || systemctl restart sshd ufw disable </pre> == 九、常见误区 == # 先关密码登录再验证公钥,导致直接失联 # 改了 SSH 端口但 UFW 未放行新端口 # 把 <code>PermitRootLogin</code> 写成错误值导致 sshd 启动失败 # 误以为快照等于备份,未做异地数据备份 == 十、结论 == 对大多数 BWH 用户,完成本指南后可以显著降低 SSH 暴露风险。建议每月执行一次审计脚本,并在重大上线前复查端口、登录策略和封禁策略。 [[Category:300 VPS 设置与管理 — VPS Setup and Management]]
返回
搬瓦工 VPS 安全基线加固(Debian/Ubuntu)一键审计与最小化暴露面指南
。
查看“︁搬瓦工 VPS 安全基线加固(Debian/Ubuntu)一键审计与最小化暴露面指南”︁的源代码
来自md5.pw