美国站群服务器购买后SSH被暴力破解后如何进行诊断与防御

美国站群服务器SSH 服务 遭受暴力破解攻击后,必须立即采取措施进行诊断与防御,以防止服务器被进一步入侵、数据泄露或服务器资源被滥用(如被用作 DDoS 攻击或挖矿)。

一、问题诊断:如何判断服务器是否被暴力破解?

1. 检查恶意登录或尝试记录

(1) 查看 SSH 登录失败记录

  • 使用 journalctlauth.log 检查登录失败的尝试。
  • 执行以下命令查看 SSH 日志:
    bash
    grep "Failed password" /var/log/auth.log
    
     
     
    或使用:
    bash
    journalctl -u sshd | grep "Failed password"
    
     
     
  • 重点关注
    • 短时间内大量持续的登录失败尝试。
    • 来自同一 IP 地址或多个不同 IP 地址的暴力尝试。

(2) 检查成功登录记录

  • 查看是否存在可疑 IP 或非授权用户成功登录服务器:
    bash
    grep "Accepted password" /var/log/auth.log
    
     
     
    检查内容
    • 登录的 IP 地址:是否为异常国家或地区的 IP。
    • 登录的用户:是否存在未知用户或未授权用户。

2. 检查系统是否被入侵

(1) 检查新增用户

  • 执行以下命令,检查是否有异常用户被创建:
    bash
    cat /etc/passwd
    
     
     
    • 重点关注:是否有未知用户名,尤其是带有 UID 0 的用户(表示管理员权限)。

(2) 检查计划任务(Crontab)

  • 入侵者可能会通过计划任务执行恶意脚本。
  • 检查 Crontab:
    bash
    crontab -l
    cat /etc/crontab
    ls /etc/cron.*
    
     
     
    • 重点关注:是否有异常的脚本或任务被定时执行。

(3) 检查异常进程

  • 使用以下命令检查是否存在异常进程:
    bash
    ps aux | grep -E "mining|curl|wget|sh"
    
     
     
    • 重点关注:是否有资源占用过高的进程(如隐藏的挖矿程序)。

(4) 检查系统开放端口

  • 入侵者可能会在服务器上开启后门端口。
  • 查看当前开放端口:
    bash
    netstat -tulnp
    
     
     
    • 重点关注:是否有未授权的端口被监听。

3. 检查日志和文件篡改

(1) 检查敏感文件的修改时间

  • 入侵者可能会修改系统关键文件(如 /etc/passwd/etc/shadow~/.ssh/authorized_keys)。
  • 查看关键文件的最近修改时间:
    bash
    ls -ltr /etc/passwd /etc/shadow ~/.ssh/authorized_keys
    
     
     

(2) 检查系统日志

  • 查看是否有恶意操作的记录:
    bash
    grep -i "exec" /var/log/auth.log
    grep -i "sudo" /var/log/auth.log
    
     
     
    • 重点关注:是否有未经授权的命令被执行。

二、防御措施:如何防止 SSH 暴力破解?

1. 修改默认的 SSH 配置

(1) 更改默认端口

  • 默认的 SSH 端口为 22,很容易成为攻击目标。
  • 修改 SSH 配置文件 /etc/ssh/sshd_config
    bash
    Port 2222
    
     
     
  • 重启 SSH 服务:
    bash
    systemctl restart sshd
    
     
     

(2) 禁止 Root 用户直接登录

  • 修改 SSH 配置文件:
    bash
    PermitRootLogin no
    
     
     
  • 重启 SSH 服务:
    bash
    systemctl restart sshd
    
     
     

(3) 禁用密码登录,启用密钥登录

  • 修改 SSH 配置文件:
    bash
    PasswordAuthentication no
    PubkeyAuthentication yes
    
     
     
  • 生成 SSH 密钥对并配置:
    bash
    ssh-keygen -t rsa -b 4096
    ssh-copy-id user@server_ip
    
     
     

2. 限制 SSH 的访问

(1) 配置防火墙规则

  • 限制 SSH 的访问 IP,只允许可信任的 IP 地址登录:
    bash
    ufw allow from <trusted_ip> to any port 22
    
     
     
    或使用 iptables
    bash
    iptables -A INPUT -p tcp -s <trusted_ip> --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j DROP
    
     
     

(2) 配置 Fail2Ban 防护

  • Fail2Ban 可检测暴力破解行为并自动封禁恶意 IP。
  • 安装 Fail2Ban:
    bash
    apt install fail2ban
    
     
     
  • 配置 SSH 防护规则:
    编辑 /etc/fail2ban/jail.local
    ini
    [sshd]
    enabled = true
    port = 22
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    bantime = 600
    
     
     
  • 启动 Fail2Ban:
    bash
    systemctl restart fail2ban
    
     
     

(3) 配置 GeoIP IP 限制

  • 使用 GeoIP 模块限制特定地区的 IP 登录。
  • 安装 xtables-addons 并下载 GeoIP 数据库:
    bash
    apt install xtables-addons-common
    
     
     
  • 配置规则禁止某些地区的 IP,通过 iptables 实现。

3. 增强登录安全性

(1) 启用双因素认证(2FA)

  • 安装 Google Authenticator:
    bash
    apt install libpam-google-authenticator
    
     
     
  • 配置 SSH 使用 2FA:
    编辑 /etc/pam.d/sshd 添加:
    bash
    auth required pam_google_authenticator.so
    
     
     
    编辑 /etc/ssh/sshd_config
    bash
    ChallengeResponseAuthentication yes
    
     
     
  • 重启 SSH 服务,并使用验证器生成验证码登录。

(2) 使用端口敲门(Port Knocking)

  • 配置端口敲门,使 SSH 端口在特定序列的敲门后才开放。
  • 安装 knockd 并配置敲门规则。

4. 定期安全审计与更新

(1) 更新系统和软件

  • 定期更新系统软件,修复已知漏洞:
    bash
    apt update && apt upgrade
    
     
     

(2) 设置日志监控

  • 配置日志监控工具(如 Logwatch、Zabbix)定期分析 SSH 相关日志。

(3) 定期检查用户和权限

  • 定期检查系统用户和权限,删除无用用户:
    bash
    userdel <unknown_user>
    
     
     

三、恢复被攻击后的站群服务器

1. 立即隔离美国站群服务器

  • 断开与外界的网络连接,防止攻击者继续访问。

2. 清理系统并修复

  • 删除恶意软件或文件:
    • 查找并清理可疑文件和脚本。
  • 更新所有系统文件:
    • 如果核心系统文件被篡改,建议重新安装系统。

3. 重置 SSH 配置

  • 删除并重新生成 SSH 密钥对。
  • 更新 SSH 配置文件,启用更安全的登录方式。

4. 检查其他服务

  • 确保其他服务(如数据库、Web 服务)未受到攻击。

四、总结

美国站群服务器的 SSH 被暴力破解 时,需迅速进行诊断,分析攻击迹象并采取以下防御措施:

  1. 修改 SSH 配置:更换端口、禁用 Root 用户、启用密钥登录。
  2. 限制访问:通过防火墙、Fail2Ban 或 GeoIP 来限制恶意登录。
  3. 增强安全性:启用 2FA 双因素认证或端口敲门机制。
  4. 定期检查与审计:更新系统、监控日志并清理异常用户。

 

通过以上方法,可以有效抵御 SSH 暴力破解攻击,确保服务器的安全稳定运行。

 

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