云服务器的安全性对于企业业务的平稳运行至关重要,而 SSH(Secure Shell)是最常用的远程管理工具。为了防止未经授权的访问和恶意攻击,正确配置 SSH 是必要的。本文将详细介绍 SSH 的安全配置最佳实践,帮助您增强服务器的安全性,防止潜在的威胁。
1. 禁用 Root 用户直接登录
Root 用户拥有最高权限,若直接使用 Root 账户进行远程登录,可能会增加被暴力破解的风险。因此,建议创建普通用户,并通过 sudo 提升权限,以此提高服务器的安全性。
操作步骤:
- 创建新用户:
sudo adduser your_username
- 赋予新用户 sudo 权限:
sudo usermod -aG sudo your_username
- 编辑 SSH 配置文件禁用 Root 登录:
sudo nano /etc/ssh/sshd_config
找到PermitRootLogin
选项,将其设置为no
:PermitRootLogin no
- 重启 SSH 服务:
sudo systemctl restart sshd
2. 修改默认 SSH 端口
SSH 默认使用端口 22,容易受到暴力攻击。建议修改为其他不常用的端口,增加安全性。
操作步骤:
- 编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
- 修改端口号: 将
Port 22
更改为新的端口号,例如 2222: Port 2222
- 更新防火墙规则,允许新的 SSH 端口:
sudo ufw allow 2222/tcp
- 重启 SSH 服务:
sudo systemctl restart sshd
3. 使用 SSH 密钥认证
SSH 密钥认证比传统的密码认证更安全,可以有效防止暴力破解。
操作步骤:
- 在本地生成 SSH 密钥对:
ssh-keygen -t rsa -b 4096
- 将公钥复制到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub your_username@server_ip
- 编辑 SSH 配置文件禁用密码登录:
sudo nano /etc/ssh/sshd_config
- 设置以下参数:
PasswordAuthentication no
- 重启 SSH 服务:
sudo systemctl restart sshd
4. 配置防火墙以限制 SSH 访问
使用防火墙限制 SSH 访问来源 IP,可以有效地防止未经授权的访问。
操作步骤:
- 允许特定 IP 的 SSH 访问:
sudo ufw allow from your_ip_address to any port 2222
- 启用防火墙:
sudo ufw enable
5. 启用 SSH 登录告警
设置 SSH 登录告警,可以在每次登录时收到通知,及时发现异常登录。
操作步骤:
- 安装邮件工具:
sudo apt-get install mailutils
- 编辑
/etc/profile
文件,添加以下内容: echo 'ALERT - SSH Login: $(date) - $(who)' | mail -s "SSH Login Alert" your_email@example.com
6. 使用 Fail2Ban 防止暴力破解
Fail2Ban 可以通过监控登录失败次数,自动封禁可疑 IP,有效防止暴力破解。
操作步骤:
- 安装 Fail2Ban:
sudo apt-get install fail2ban
- 启动并启用 Fail2Ban 服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
- 编辑 Fail2Ban 配置文件,配置 SSH 保护:
sudo nano /etc/fail2ban/jail.local
- 找到
[sshd]
部分,设置以下参数: enabled = true
port = 2222
logpath = /var/log/auth.
log maxretry = 3
bantime = 600
- 重启 Fail2Ban 服务:
sudo systemctl restart fail2ban
7. 定期审计 SSH 登录日志
定期检查 SSH 登录日志,可以及时发现异常登录行为,防止潜在的安全威胁。
操作步骤:
- 查看登录日志:
sudo cat /var/log/auth.log | grep "sshd"
- 分析登录记录,关注异常 IP 和登录时间:
sudo lastlog
结语:
云服务器的 SSH 安全配置是保障服务器安全的基础。通过禁用 Root 登录、使用密钥认证、修改默认端口、设置防火墙以及启用 Fail2Ban,您可以有效提高服务器的安全性,降低被攻击的风险。请定期审查和更新 SSH 配置,以适应新的安全挑战,确保服务器长期的安全与稳定。
更多关于云服务器安全配置的文章,请访问 Hostol 云服务器安全指南。