Linux 服务器安全加固三步走——SSH / 防火墙 / Fail2Ban
Linux 服务器安全加固三步走——云数方舟(YunArk) SSH / 防火墙 / Fail2Ban 配置指南
无论是独立服务器、GPU 服务器还是站群服务器,只要暴露公网,就会面临持续的 SSH 暴力破解扫描。云数方舟提供的服务器默认仅开放必要端口,但管理员仍需自行完成基础安全加固。以下三步是 Linux 服务器(Ubuntu/CentOS/Debian)通用的安全底线配置。
第一步:修改 SSH 默认端口并禁用 Root 登录
绝大多数扫描脚本只扫 22 端口并尝试 root 账户。修改后可直接过滤 90% 的噪音。
# 编辑 SSH 配置文件 vim /etc/ssh/sshd_config # 修改以下两项(取消注释并修改) Port 2222 # 改为 1024-65535 之间的非热门端口 PermitRootLogin no # 禁止 root 直接登录 # 重启 SSH 服务 systemctl restart sshd
注意:修改端口后,下次登录需指定端口:ssh -p 2222 user@服务器IP。操作前请确保已创建普通用户并加入 sudo 权限。
第二步:配置防火墙(UFW / Firewalld / Iptables)
原则是 白名单机制:只开放需要的端口,其余全部拒绝。
Ubuntu / Debian(UFW)示例:
ufw allow 2222/tcp # 放行修改后的 SSH 端口 ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS ufw allow 你的业务端口 # 如 GPU 推理 API 端口 ufw default deny incoming ufw enable
CentOS / Rocky(Firewalld)示例:
firewall-cmd --permanent --add-port=2222/tcp firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
第三步:安装 Fail2Ban 自动封禁恶意 IP
Fail2Ban 会监控 SSH 日志,自动封禁短时间内多次认证失败的 IP。
# 安装 apt install fail2ban # Ubuntu/Debian yum install fail2ban # CentOS # 配置(复制模板) cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # 编辑配置,重点关注 [sshd] 段 vim /etc/fail2ban/jail.local
推荐配置:
[sshd] enabled = true port = 2222 # 改为你的 SSH 端口 filter = sshd logpath = /var/log/auth.log maxretry = 3 # 3次失败后封禁 findtime = 300 # 300秒内 bantime = 3600 # 封禁 1 小时
重启服务:systemctl restart fail2ban。
进阶建议
- 密钥登录:禁用密码登录,仅允许 SSH Key 登录,安全性最高。
- 高防叠加:如果业务暴露在公网且易受攻击,建议叠加 BGP 高防,将业务端口仅暴露在高防 IP 上。
- 定期审计:每月检查
/var/log/auth.log或 Fail2Ban 日志,关注异常 IP。
📌 查看云数方舟安全产品:
云数方舟官网 |
美国高防/独立服务器 |
香港高防/独立服务器
本文由 云数方舟(YunArk) 原创发布,转载请注明出处。