温馨提示×

ubuntu ssh如何进行安全加固

小樊
77
2025-03-18 08:52:50
栏目: 智能运维

Ubuntu SSH的安全加固可以通过以下步骤进行:

1. 生成并配置SSH密钥对

  • 生成密钥对:使用ssh-keygen命令生成公私钥对,推荐使用ed25519密钥类型,因为它提供了更高的安全性和性能。
    ssh-keygen -t ed25519 -a 256 -c "your_email@example.com"
    
  • 添加公钥到服务器:将生成的公钥添加到服务器的~/.ssh/authorized_keys文件中,确保每个私钥占据一行。
    ssh-copy-id user@remote_host
    

2. 修改SSH配置文件

  • 禁用root登录:在/etc/ssh/sshd_config文件中设置PermitRootLogin no,禁止root用户直接登录。
  • 禁用密码认证:设置PasswordAuthentication no,禁用密码认证,推荐使用密钥认证。
  • 更改默认端口:将SSH默认端口从22更改为其他端口(如2222),以减少被自动扫描的可能性。
  • 限制登录尝试:设置MaxAuthTries来限制失败的认证尝试次数,防止暴力破解。
  • 启用登录速率限制:使用MaxStartups限制并发的未认证连接,防止DoS攻击。

3. 配置防火墙

  • 使用UFW:允许必要的SSH端口访问,禁止不必要的入站和出站连接。
    sudo ufw allow 2222/tcp
    sudo ufw enable
    

4. 启用Fail2Ban

  • 安装Fail2Ban:使用apt-get安装Fail2Ban,配置它来防止暴力破解攻击。
    sudo apt-get install fail2ban
    sudo cp /etc/fail2ban/jail.local /etc/fail2ban/jail.local.local
    

5. 定期更新系统和软件包

  • 保持系统更新:定期更新系统和SSH软件包,以修复已知的安全漏洞。
    sudo apt update && sudo apt upgrade
    

6. 监控和日志记录

  • 监控系统日志:使用工具如logwatchfail2ban监控系统日志,及时发现异常行为。

通过上述步骤,可以显著提高Ubuntu SSH服务的安全性,保护系统和数据不受未经授权的访问和攻击。

0