当前位置: 首页 > news >正文

如何重置被入侵服务器的Root密码?并且提高服务器安全?

被入侵的服务器可能存在安全隐患,重置 Root 密码 是恢复控制权的重要一步,但仅仅更改密码并不能完全解决问题。以下是安全重置 Root 密码的完整步骤,以及提高服务器安全的相关措施。


1. 重置服务器 Root 密码的方法

1.1 在服务器仍可访问的情况下

如果您仍然可以通过 SSH 或控制台登录服务器,则可以直接更改 Root 密码。

(1) 使用 passwd 命令更改密码
  1. 登录服务器(使用 Root 或其他具备 sudo 权限的用户)。
  2. 执行以下命令:

    bash

    复制

    sudo passwd root
    
  3. 系统会提示输入并确认新的 Root 密码。
(2) 更新 SSH 配置
  • 禁用 Root 密码登录,强制使用密钥认证:

    bash

    复制

    sudo nano /etc/ssh/sshd_config
    
    修改以下内容:

    复制

    PermitRootLogin no
    PasswordAuthentication no
    
  • 重启 SSH 服务:

    bash

    复制

    sudo systemctl restart sshd
    

1.2 在无法登录的情况下

如果您无法通过 SSH 或控制台登录服务器,需要通过 系统引导模式云服务商的控制面板 来重置 Root 密码。

(1) 使用单用户模式(单机服务器)
  1. 进入 GRUB 菜单
    • 重启服务器时,按下 ESCShift 键进入 GRUB 启动菜单。
  2. 编辑引导参数
    • 选择当前的内核版本,按下 e 进行编辑。
    • 找到以 linux 开头的行,在末尾添加:

      复制

      init=/bin/bash
      
  3. 启动到单用户模式
    • Ctrl + XF10 启动。
  4. 重新挂载根目录
    • 挂载根目录为可写模式:

      bash

      复制

      mount -o remount,rw /
      
  5. 重置 Root 密码
    • 使用 passwd 命令设置新密码:

      bash

      复制

      passwd root
      
  6. 重启服务器
    • 重新挂载为只读模式并重启:

      bash

      复制

      mount -o remount,ro /
      reboot
      
(2) 使用云服务器控制台(云主机)

如果服务器是云主机(如阿里云、腾讯云),可以通过云服务商提供的管理工具重置 Root 密码:

  1. 登录云服务商控制台。
  2. 找到对应的服务器实例。
  3. 使用 重置密码功能 设置新 Root 密码。
  4. 重启服务器使密码生效。

2. 提高服务器安全的措施

在重置 Root 密码后,需要采取额外的安全措施,确保服务器不会再次被入侵。


2.1 检查并清理入侵痕迹

(1) 检查最近登录记录
  • 查看登录 IP 和时间:

    bash

    复制

    last
    
  • 检查是否有异常登录 IP。
(2) 检查可疑进程
  • 使用 tophtop 查看高资源占用的进程。
  • 使用以下命令列出运行的所有服务:

    bash

    复制

    ps aux --sort=-%cpu
    
(3) 检查异常用户
  • 列出所有用户:

    bash

    复制

    cat /etc/passwd
    
  • 删除可疑用户:

    bash

    复制

    sudo deluser <username>
    
(4) 检查定时任务
  • 检查是否有恶意定时任务:

    bash

    复制

    crontab -l
    sudo cat /etc/crontab
    
(5) 检查恶意文件
  • 使用杀毒工具扫描服务器:
    • ClamAV

      bash

      复制

      sudo apt install clamav
      sudo clamscan -r /
      

2.2 禁用 Root 密码登录

(1) 使用 SSH 密钥认证
  1. 生成 SSH 密钥对:

    bash

    复制

    ssh-keygen -t rsa -b 4096
    
    按提示保存密钥文件(例如 ~/.ssh/id_rsa)。
  2. 将公钥复制到服务器:

    bash

    复制

    ssh-copy-id root@<server_ip>
    
  3. 修改 /etc/ssh/sshd_config 文件:

    bash

    复制

    PermitRootLogin prohibit-password
    PasswordAuthentication no
    
  4. 重启 SSH 服务:

    bash

    复制

    sudo systemctl restart sshd
    

2.3 配置防火墙

(1) 使用 UFW(Ubuntu/Debian 系统)
  1. 安装并启用 UFW:

    bash

    复制

    sudo apt install ufw
    sudo ufw enable
    
  2. 配置允许的端口:

    bash

    复制

    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    
  3. 查看状态:

    bash

    复制

    sudo ufw status
    
(2) 使用 iptables(CentOS)
  • 基本规则示例:

    bash

    复制

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    sudo iptables -A INPUT -j DROP
    

2.4 安装入侵检测系统(IDS)

  • Fail2Ban:防止暴力破解攻击。
    • 安装:

      bash

      复制

      sudo apt install fail2ban
      
    • 配置:
      编辑 /etc/fail2ban/jail.local,启用 SSH 防护:

      ini

      复制

      [sshd]
      enabled = true
      maxretry = 5
      bantime = 600
      
    • 重启服务:

      bash

      复制

      sudo systemctl restart fail2ban
      
  • OSSEC:主机入侵检测系统。
    • 提供实时监控和警报。

2.5 定期更新系统和软件

  1. 更新系统:
    • Ubuntu/Debian:

      bash

      复制

      sudo apt update && sudo apt upgrade -y
      
    • CentOS:

      bash

      复制

      sudo yum update -y
      
  2. 定期检查并安装安全补丁。

2.6 限制 SSH 访问

  1. 更改默认 SSH 端口

    bash

    复制

    sudo nano /etc/ssh/sshd_config
    
    修改:

    bash

    复制

    Port 2222
    
    重启服务:

    bash

    复制

    sudo systemctl restart sshd
    
  2. 限制登录 IP
    • 编辑 /etc/hosts.allow

      bash

      复制

      sshd: <your_ip>
      
    • 编辑 /etc/hosts.deny

      bash

      复制

      sshd: ALL
      

2.7 定期备份数据

  • 使用工具(如 rsynctar)定期备份关键数据,以便在出现问题时快速恢复。

3. 总结

3.1 重置 Root 密码步骤

  • 如果能登录,直接用 passwd root 重置密码。
  • 如果无法登录,通过单用户模式或云服务商控制台重置密码。

3.2 提升安全的关键措施

  1. 禁用 Root 密码登录,启用 SSH 密钥认证。
  2. 配置防火墙限制访问端口。
  3. 安装入侵检测工具,如 Fail2Ban。
  4. 定期更新系统和安全补丁。
  5. 检查并清理入侵痕迹(恶意文件、异常用户等)。

重置 Root 密码只是第一步,提高服务器的整体安全性需要多层次的防护措施,确保服务器长期稳定运行并免受威胁。

http://www.dtcms.com/a/276672.html

相关文章:

  • 《当技术遇见毁灭:rm -rf的哲学隐喻与现实警示》
  • 【八股消消乐】Kafka集群 full GC 解决方案
  • pytorch深度学习—RNN-循环神经网络
  • 服务端高效处理拖拽排序
  • [创业之路-502]:企业管理层 - 什么是企业经营,什么是企业管理?什么是业务?
  • [Token]Token merging for Vision Generation
  • 2025全网最详细的软件测试面试八股文
  • 面试150 翻转二叉树
  • FreeRTOS内核实现与应用之0——编码风格
  • 【离线数仓项目】——电商域DWS层开发实战
  • 【AI大模型】部署优化量化:INT8压缩模型
  • 深入理解设计模式:原型模式(Prototype Pattern)
  • 深入解析5G核心网容灾:SMF在PCF全故障下的PDU会话处理机制
  • 绘制气候预报图:利用地理空间技术解锁气候洞察
  • 深大计算机游戏开发 实验二
  • Linux操作系统之进程间通信:共享内存
  • 商编轮巡作为一种策略,旨在帮助商户规避支付平台(如VX. ZFB) 的风控措施。这种策略通过轮换使用不同的商户编号(商编)来减少单一商户因频繁交
  • c++-base
  • ActionPeice-ICML2025-谷歌deepmind-生成式推荐中上下文感知分词技术
  • 深入浅出:RS232、RS485、UART、Modbus与差分信号、共模信号的那些事儿
  • 力扣刷题(第八十五天)
  • dubbo源码学习3-dubbo反射调用服务源码分析
  • Unity开发中常用的洗牌算法
  • 数据结构——散列表
  • 数据结构栈的实现(C语言)
  • C语言--原码、反码、补码转换
  • 知识宇宙-思考篇:AI大模型如何重塑软件开发流程?
  • Sentinel+nacos实现push模式规则持久化
  • Java生产带文字、带边框的二维码
  • matplotlib:饼图、环形图、爆炸式饼图