给云服务器穿上铠甲:UFW 防火墙与 SSH 安全加固实操

举报
yd_246130537 发表于 2026/10/24 23:46:17 2026/10/24
【摘要】 今日文章草稿(2026-10-24):云服务器 SSH 安全加固与 UFW 防火墙实操标题:给云服务器穿上铠甲:UFW 防火墙与 SSH 安全加固实操正文:很多人的第一台云服务器上线没几天,就会发现系统日志里塞满了来自陌生 IP 的 SSH 爆破尝试——这是公网的常态:你的公网 IP 暴露在扫描器面前只是时间问题。与其被动祈祷,不如上线第一天就把安全基线做好:改 SSH 配置 + 打开主机...

今日文章草稿(2026-10-24):云服务器 SSH 安全加固与 UFW 防火墙实操

标题:给云服务器穿上铠甲:UFW 防火墙与 SSH 安全加固实操

正文:

很多人的第一台云服务器上线没几天,就会发现系统日志里塞满了来自陌生 IP 的 SSH 爆破尝试——这是公网的常态:你的公网 IP 暴露在扫描器面前只是时间问题。与其被动祈祷,不如上线第一天就把安全基线做好:改 SSH 配置 + 打开主机防火墙,10 分钟就能大幅抬高攻击门槛。本文以 Ubuntu 24.04 为例,实操一遍。

一、先改 SSH:关掉攻击者最爱的三扇门

SSH 服务的默认配置对攻击者非常友好:22 端口、允许 root 密码登录、允许密码登录。我们逐个关掉。

  1. 改默认端口。打开 /etc/ssh/sshd_config,把 Port 22 改成一个不常用的高端口,比如 Port 22222。这不是"隐藏式安全"的迷信,而是实实在在的降噪:绝大多数自动化爆破只扫 22 端口。

  2. 禁止 root 直接登录。设置 PermitRootLogin no。攻击者爆破的第一目标永远是 root,关掉它等于让一半字典失效。管理改用普通用户 + sudo。

  3. 关掉密码登录,改用密钥。在客户端生成密钥对(ssh-keygen -t ed25519),把公钥写入服务器 ~/.ssh/authorized_keys,确认能免密登录后,把 PasswordAuthentication 设为 no。密码再复杂也架不住撞库,密钥是数学上更难啃的骨头。

改完后执行 sudo systemctl restart ssh 生效。注意:操作时保持当前 SSH 会话不断开,另开一个终端验证新配置能正常登录,确认无误再退出旧会话,否则可能把自己锁在门外。

二、UFW 防火墙:默认拒绝 + 按需放行

Ubuntu 自带 UFW(Uncomplicated Firewall),是对 iptables 的简化封装,新手也能快速上手。核心思路只有一句话:默认全部拒绝,只放行你明确需要的。

先放行 SSH(一定要先做这一步,否则启用防火墙的瞬间就会把自己断开):

sudo ufw allow 22222/tcp   # 换成你自己的 SSH 端口

然后设置默认策略并启用:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable

启用时会提示可能中断 SSH 连接,确认已放行 SSH 端口后输入 y。之后按需放行服务端口,比如网站:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

用 sudo ufw status numbered 查看规则列表,用 sudo ufw delete <编号> 删除误加的规则。建议每加一条规则都马上验证服务是否可达,避免"关了防火墙服务也连不上"的乌龙。

三、给 SSH 再加一道限流:防暴力破解

即使换了端口,也可能有人扫到新端口继续爆破。UFW 自带限流规则可以限制单位时间内的连接数:

sudo ufw limit 22222/tcp

这条规则的意思是:同一 IP 在短时间内发起过多连接会被拒绝,正常登录不受影响。如果想更进一步,可以安装 fail2ban,它会分析日志、自动封禁频繁失败的 IP:

sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban

fail2ban 默认就带 sshd 规则,开箱即用,用 sudo fail2ban-client status sshd 查看封禁情况。

四、上线检查清单

做完上面三步,对照这份清单逐项确认:

  • [ ] SSH 已改高位端口,22 端口不再监听(ss -tlnp | grep ssh 验证)
  • [ ] PermitRootLogin no,PasswordAuthentication no 已生效
  • [ ] 旧 SSH 会话不断开的情况下,新会话登录成功
  • [ ] UFW 已启用,默认拒绝入站,ufw status 规则数与预期一致
  • [ ] 业务端口(80/443 等)放行后从外部可正常访问
  • [ ] 云厂商控制台的安全组同样做了最小化放行(主机防火墙和安全组是两道独立防线,都要收紧)

最后提醒一点:安全加固是持续动作。系统补丁要定期更新(sudo apt update && sudo apt upgrade),密钥不要外泄,多台服务器不要复用同一对密钥。今天的 10 分钟投入,换来的是之后每一天的安心。


(全文约 950 字,原创实操文)

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。