香港高防服务器购买后SSH被暴力破解后如何进行诊断与防御

如果你的香港高防服务器的 SSH 被暴力破解,可能导致服务器被攻击者控制,进而危害数据安全和业务运行。


1. 被暴力破解后的诊断

1.1 检查被暴力破解的迹象

1.1.1 检查登录历史和失败记录

  • 查看最近的登录历史,确认是否有异常登录行为:

    bash
    last
    
    • 重点关注
      • 是否有陌生的 IP 地址登录。
      • 是否有异常的登录时间(比如深夜登录)。
  • 检查 SSH 的失败登录记录:

    bash
    grep "Failed password" /var/log/auth.log  # Ubuntu/Debian
    grep "Failed password" /var/log/secure    # CentOS/RHEL
    
    • 重点关注
      • 是否有大量的失败登录尝试。
      • 是否有特定 IP 地址频繁尝试登录。

1.1.2 检查当前登录会话

  • 查看当前登录的用户和来源 IP:
    bash
    who
    
    • 确认是否有未授权用户在线。

1.1.3 检查异常进程

  • 查看是否有异常的高资源占用进程:
    bash
    top
    
  • 列出所有正在运行的进程:
    bash
    ps aux | grep -v root
    
    • 重点关注
      • 是否有未知程序或用户运行的进程。
      • 是否有异常的网络连接(见 1.1.4)。

1.1.4 检查网络连接

  • 查看是否有异常的外部连接:
    bash
    netstat -tulnp
    
    • 重点关注
      • 是否有未授权的服务监听端口。
      • 是否有连接到可疑的外部 IP 地址。

1.2 检查系统文件和用户账户

1.2.1 检查新创建的用户

  • 列出所有系统用户,检查是否有未授权创建的账户:
    bash
    cat /etc/passwd
    
    • 重点关注
      • 是否有陌生的用户,如:testbackupadmin 等。

1.2.2 检查新增的 SSH 密钥

  • 查看是否有新增的 SSH 公钥:
    bash
    cat ~/.ssh/authorized_keys
    
    • 如果有陌生的公钥,可能是攻击者通过添加密钥实现了后门访问。

1.2.3 检查修改过的文件

  • 查看近期被修改的文件:
    bash
    find / -type f -mtime -7
    
    • 重点检查目录
      • /etc/(配置文件目录)。
      • /root//home/(用户目录)。
      • /var/www/(网站目录)。

2. 恢复与清理

2.1 立即切断攻击者的连接

  • 终止所有可疑的会话:
    bash
    pkill -u <suspicious_user>
    
    • 或重启 SSH 服务:
      bash
      systemctl restart sshd
      

2.2 清理恶意文件和后门

  1. 删除陌生用户和 SSH 密钥

    • 删除未授权用户:
      bash
      userdel -r <suspicious_user>
      
    • 删除陌生的 SSH 公钥:
      bash
      nano ~/.ssh/authorized_keys
      
  2. 移除恶意文件

    • 删除在诊断过程中发现的恶意进程和文件。

2.3 更新系统与重置登录凭据

  1. 更新系统和软件

    • 安装最新的安全补丁:
      bash
      sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
      sudo yum update -y                      # CentOS/RHEL
      
  2. 重置所有账户密码

    • 强制重置密码:
      bash
      passwd <username>
      
  3. 重新生成 SSH 密钥

    • 如果高防服务器可能被完全控制,建议重新生成新的 SSH 密钥。

3. 防御措施

3.1 强化 SSH 配置

3.1.1 禁用密码登录

  • 修改 SSH 配置文件:
    bash
    nano /etc/ssh/sshd_config
    
    • 设置以下选项:
      bash
      PasswordAuthentication no
      PubkeyAuthentication yes
      
  • 重启 SSH 服务:
    bash
    systemctl restart sshd
    

3.1.2 更改默认端口

  • 修改 SSH 的默认端口(避免使用默认的 22 端口):
    bash
    Port 2222
    
  • 重启 SSH 服务后,注意开放新的端口:
    bash
    firewall-cmd --add-port=2222/tcp --permanent
    firewall-cmd --reload
    

3.1.3 限制 SSH 登录用户

  • 编辑 /etc/ssh/sshd_config,只允许特定用户登录:
    bash
    AllowUsers your_user
    

3.2 设置防火墙

3.2.1 使用 UFW(Ubuntu/Debian)

  • 允许特定端口:
    bash
    ufw allow 2222/tcp
    
  • 启用防火墙:
    bash
    ufw enable
    

3.2.2 使用 Firewalld(CentOS/RHEL)

  • 开放 SSH 端口:
    bash
    firewall-cmd --add-service=ssh --permanent
    firewall-cmd --reload
    

3.3 安装保护工具

3.3.1 安装 Fail2Ban

  • 功能:自动屏蔽多次尝试登录失败的 IP。
  • 安装和配置:
    bash
    sudo apt install fail2ban -y  # Ubuntu/Debian
    sudo yum install epel-release -y && sudo yum install fail2ban -y  # CentOS/RHEL
    
  • 配置规则:
    编辑 /etc/fail2ban/jail.local
    ini
    [sshd]
    enabled = true
    port = 2222
    maxretry = 5
    bantime = 3600
    

3.3.2 使用 DenyHosts

  • 功能:将失败登录的 IP 自动加入黑名单,禁止其访问。
  • 安装:
    bash
    sudo apt install denyhosts -y
    

3.4 定期安全监控

  1. 启用日志监控
    • 定期查看 /var/log/auth.log/var/log/secure
  2. 安装 Rootkit 检测工具
    • 安装 rkhunterchkrootkit 检查是否存在后门程序:
      bash
      sudo apt install rkhunter -y
      sudo rkhunter --check
      

4. 总结

诊断步骤

  1. 检查登录记录、网络连接和用户账户。
  2. 查找并清理恶意文件和后门程序。
  3. 更新系统并重置密码,确保服务器恢复安全。

防御建议

  1. 强化 SSH 配置:禁用密码登录、更改端口、限制登录用户。
  2. 配置防火墙:只开放必要的端口。
  3. 安装防护工具:如 Fail2Ban 和 DenyHosts。
  4. 定期监控和更新,确保系统处于最新安全状态。

 

通过这些措施,可以有效防止 SSH 被暴力破解,增强香港高防服务器的安全性。

 

超过 50,000 人的信任 网硕互联期待你加入我们的会员。