如何重置被入侵服務器的Root密碼

重置被入侵服務器的 root 密碼 是應對入侵事件的重要步驟之一。在操作之前,請確保采取適當的措施防止進一步的安全威脅,例如斷開網絡連接、備份數據以及分析入侵原因。以下是重置 root 密碼 的詳細指南。
1. 操作前的準備工作
1.1 確保服務器的物理控制或管理權限
- 如果是物理服務器,確保能夠訪問服務器的 控制臺 或 鍵盤與顯示器。
- 如果是云服務器,確保可以通過云服務商提供的 控制臺(如 VNC、Web 控制臺) 訪問服務器。
1.2 斷開服務器與網絡
- 防止攻擊者繼續(xù)利用服務器資源或進一步破壞。
- 斷開網絡連接可以防止惡意軟件擴散。
1.3 備份數據
- 如果可能,備份服務器中的重要數據以防止誤操作導致數據丟失。
2. 重置 root 密碼的方法
方法 1:通過單用戶模式(Single User Mode)重置 root 密碼(適用于物理或虛擬機服務器)
單用戶模式允許您以管理員身份直接訪問服務器,無需密碼。
步驟:
-
重啟服務器:
- 在啟動時選擇進入 GRUB 菜單。
-
編輯 GRUB 啟動項:
- 在 GRUB 菜單中,選中默認的內核啟動項,按下
e鍵進入編輯模式。 - 找到以
linux開頭的行,通常類似于:linux /vmlinuz-xxx root=/dev/sdaX ro quiet splash - 將
ro修改為rw,并在行尾添加init=/bin/bash:linux /vmlinuz-xxx root=/dev/sdaX rw init=/bin/bash
- 在 GRUB 菜單中,選中默認的內核啟動項,按下
-
進入單用戶模式:
- 按下
Ctrl + X或F10啟動系統(tǒng)。
- 按下
-
掛載根文件系統(tǒng)為讀寫模式(如果未自動掛載):
bashmount -o remount,rw / -
重置 root 密碼:
bashpasswd root- 輸入新密碼并確認。
-
更新 SELinux 文件上下文(如果啟用了 SELinux):
bashtouch /.autorelabel -
重啟系統(tǒng):
bashreboot
方法 2:通過救援模式(Rescue Mode)或 Live CD 重置 root 密碼
如果無法進入單用戶模式,可以通過 救援模式 或 Live CD 重置密碼。
步驟:
-
進入救援模式或 Live CD 環(huán)境:
- 如果是云服務器,通過服務商的管理控制臺選擇“救援模式”。
- 如果是物理服務器,插入 Linux Live CD,選擇進入 Live 環(huán)境。
-
掛載原系統(tǒng)的分區(qū):
- 找到系統(tǒng)分區(qū):
bash
fdisk -l - 掛載根分區(qū):
(將bash
mount /dev/sdaX /mnt/dev/sdaX替換為實際的分區(qū)名。)
- 找到系統(tǒng)分區(qū):
-
切換到 chroot 環(huán)境:
bashchroot /mnt -
重置 root 密碼:
bashpasswd root- 輸入新密碼并確認。
-
退出 chroot 并重啟:
bashexit reboot
方法 3:通過云服務商提供的重置功能
如果您使用的是云服務器,許多云服務商提供了直接重置 root 密碼 的功能。
步驟:
- 登錄云服務商管理控制臺。
- 找到目標服務器,選擇 重置密碼 功能。
- 輸入新密碼,完成后重啟服務器。
- 使用新的密碼通過 SSH 登錄服務器。
方法 4:使用 SSH 密鑰登錄并重置密碼
如果您配置了 SSH 公鑰認證且密鑰未被攻擊者刪除,可以通過密鑰登錄并重置密碼。
步驟:
-
使用私鑰登錄服務器:
bashssh -i /path/to/private_key root@<服務器IP> -
重置 root 密碼:
bashpasswd root- 輸入新密碼并確認。
3. 操作后的安全措施
3.1 檢查服務器是否仍有后門或惡意軟件
- 檢查異常用戶和進程:
bash
ps aux cat /etc/passwd - 掃描惡意文件和后門:
- 使用工具如
chkrootkit或rkhunter掃描:bashsudo apt install rkhunter sudo rkhunter --check
- 使用工具如
3.2 修改 SSH 配置
修改 /etc/ssh/sshd_config 文件以提高 SSH 的安全性:
-
禁用 root 用戶直接登錄:
bashPermitRootLogin no- 使用普通用戶登錄后,通過
su或sudo執(zhí)行管理任務。
- 使用普通用戶登錄后,通過
-
更改默認端口:
bashPort 2222 -
啟用密鑰認證,禁用密碼登錄:
bashPasswordAuthentication no PubkeyAuthentication yes -
重啟 SSH 服務:
bashsystemctl restart sshd
3.3 檢查入侵來源
- 查看登錄歷史:
bash
last - 檢查 SSH 登錄失敗記錄:
bash
grep "Failed password" /var/log/auth.log
3.4 更新系統(tǒng)并修補漏洞
- 更新所有軟件和系統(tǒng)組件:
bash
sudo apt update && sudo apt upgrade -y
3.5 設置強密碼
- 確保 root 和其他用戶的密碼足夠復雜(長度 ≥ 12 位,包含字母、數字、特殊字符)。
4. 總結
重置被入侵服務器的 root 密碼是恢復控制權的第一步,但僅僅重置密碼不足以解決入侵問題。以下是關鍵步驟的總結:
- 優(yōu)先切斷網絡,防止攻擊者進一步操作。
- 使用 單用戶模式、救援模式 或云服務商控制臺重置 root 密碼。
- 徹底排查服務器的入侵痕跡,查找后門和惡意軟件。
- 強化服務器安全性,包括禁用 root 登錄、啟用密鑰認證、更新系統(tǒng)。
- 分析入侵原因,修復漏洞,防止類似事件再次發(fā)生。
通過以上操作,能有效恢復服務器的安全性并防止攻擊者再次入侵。

浙公網安備 33010602011771號