SSH 安全加固五步法:保护服务器免受暴力破解


阿里云特惠 - 新用户专享

SSH 安全加固五步法:保护服务器免受暴力破解

SSH(Secure Shell)是远程管理 Linux 服务器的最常用工具,但也是攻击者最容易攻击的入口。每天成千上万的服务器遭受 SSH 暴力破解攻击。本文介绍五步 SSH 安全加固方法,让您的服务器固若金汤。

第一步:修改默认端口

默认的 22 端口是攻击者的首要目标。修改为非标准端口可以减少 99% 的自动扫描攻击。

# 编辑 SSH 配置文件
sudo vim /etc/ssh/sshd_config

# 找到 Port 22,修改为
Port 22222

# 重启 SSH 服务
sudo systemctl restart sshd
sudo systemctl restart ssh  # 某些系统使用 sshd

第二步:禁用密码登录,启用密钥认证

密码登录容易被暴力破解,而密钥认证几乎不可能被破解。

# 在本地生成 SSH 密钥对
ssh-keygen -t ed25519 -C "your_email@example.com"

# 将公钥复制到服务器
ssh-copy-id -p 22222 user@your-server-ip

# 修改服务器配置
sudo vim /etc/ssh/sshd_config

# 找到并修改以下选项
PasswordAuthentication no
PubkeyAuthentication yes

# 重启 SSH 服务
sudo systemctl restart sshd

第三步:禁用 root 登录

root 账号权限过大,一旦被攻破后果严重。应该使用普通用户登录,需要时通过 sudo 提权。

# 创建普通用户(如果还没有)
sudo adduser opsuser
sudo usermod -aG sudo opsuser

# 修改 SSH 配置
sudo vim /etc/ssh/sshd_config

# 找到并修改
PermitRootLogin no

# 重启 SSH 服务
sudo systemctl restart sshd

第四步:配置防火墙

只允许必要的 IP 访问 SSH 端口,其他请求直接拒绝。

# 使用 UFW(Ubuntu/Debian)
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 1.2.3.4 to any port 22222  # 只允许您的 IP
sudo ufw enable

# 或使用 firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=22222/tcp
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.2.3.4" port protocol="tcp" port="22222" accept'
sudo firewall-cmd --reload

第五步:安装 fail2ban 防止暴力破解

fail2ban 可以自动检测失败登录尝试并临时封禁 IP。

# 安装 fail2ban
sudo apt install fail2ban  # Ubuntu/Debian
sudo yum install fail2ban  # CentOS/RHEL

# 创建本地配置
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

# 编辑配置
sudo vim /etc/fail2ban/jail.local

[sshd]
enabled = true
port = 22222
maxretry = 5
findtime = 600
bantime = 3600

# 重启 fail2ban
sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

额外建议

  • 定期更新 OpenSSH:保持最新版本以获得安全补丁
  • 限制登录用户:使用 AllowUsers 指定哪些用户可以登录
  • 启用 2FA:使用 Google Authenticator 增加双重认证
  • 日志监控:定期检查 /var/log/auth.log 查看异常登录尝试

总结

SSH 安全加固是服务器安全的第一道防线。通过修改端口、使用密钥认证、禁用 root 登录、配置防火墙、安装 fail2ban 这五步,可以抵御绝大多数自动化攻击。安全无小事,每一步加固都可能是关键时刻的保护伞。

发表评论