清理及維護您的網站

為防止網站遭到駭客入侵,並避免日後遭到入侵,請務必遵循下列規定:

  • 殼層或終端機管理員可存取網站伺服器:網路、資料庫、檔案
  • 殼層或終端機指令
  • 熟悉程式碼 (例如 PHP 或 JavaScript)
  • 儲存空間:用於建立網站備份,包括檔案、資料庫和圖片

後續行動

我們會在這個步驟中說明幾項操作:

  • 如果您認為駭客意圖取得使用者的個人資訊 (例如透過網路釣魚網頁),請參閱其他資源。
  • 在 Search Console 中使用「移除網址」選項,快速移除駭客建立的全新、不當、可供使用者瀏覽的網址,這些網址不應顯示在 Google 搜尋結果中。
  • 在 Search Console 中使用要求 Google 重新檢索網址選項,加快 Google 處理你希望顯示在 Google 搜尋結果中的清理網頁 (也就是新網頁或最近更新的網頁) 的速度。
  • 安裝最新、最安全的軟體版本。
  • 移除不必要或未使用的應用程式或外掛程式,以免日後使網站更容易遭到入侵。
  • 還原優質內容並刪除駭客的內容。
  • 修正駭客利用的根本原因漏洞。
  • 變更所有密碼。
  • 規劃如何確保網站安全。

1. 尋找支援資源

如果有機密使用者資訊是從您的網站取得 (例如,因為是網路釣魚攻擊的一部分),建議您在開始清理網站或刪除任何檔案前,先考量任何商業、法規或法律責任。在網路釣魚案件中,antiphishing.org 提供實用的資源,例如「如果您的網站遭到網路釣魚者入侵,該怎麼辦?」

2. 考慮加速移除駭客新建立的網址

如果駭客建立了使用者可見的全新網址,你可以使用 Search Console 中的移除網址功能,更快速地將這些網頁從 Google 搜尋結果中移除。您可以跳過這個步驟,如果您只刪除網頁,然後設定伺服器傳回 404 狀態碼,這些網頁就會在一段時間後自然從 Google 索引中剔除。

  • 決定是否使用「移除網址」功能,可能取決於建立的全新不必要網頁數量 (網頁數量過多可能會造成移除網址的繁瑣工作),以及這些網頁可能對使用者造成的潛在損害。如要確保透過網址移除功能提交的網頁不會出現在搜尋結果中,請務必將這些網頁設為針對不必要的網址和已移除的網址,傳回「404 檔案未找到」回應。
  • 請勿使用這項工具,要求移除先前正常運作,但遭駭客破壞的網頁。清理完成後,這些網頁就會顯示在搜尋結果中。網址移除功能僅適用於你絕對不希望出現在搜尋結果中的網頁。

3. 考慮讓 Google 加速處理您的乾淨頁面

如果您有新的或更新的乾淨網頁,可以在 Search Console 中要求 Google 重新檢索網址,將這些網頁提交至 Google 索引。這不是必要步驟;如果略過這個步驟,新頁面或修改過的頁面可能會隨著時間的推移而被檢索及處理。

4. 開始清理您的伺服器

在這個階段,您可以根據自己在評估損害識別安全漏洞中所做的附註,開始清理網站。您在這個步驟中採取的路徑取決於您可用的備份類型:

  • 完好的最新備份資料
  • 完好但過時的備份資料
  • 無可用的備份資料

首先,請確認備份檔案是在網站遭到駭客入侵「之前」建立。

完好的最新備份資料

  1. 還原備份。
  2. 安裝任何軟體升級、更新或修補程式。這包括作業系統的軟體 (如果您控制伺服器),以及所有應用程式,例如內容管理系統、電子商務平台、外掛程式或範本。
  3. 請考慮從伺服器中移除網站不再使用的軟體 (例如小工具、外掛程式或應用程式)。
  4. 修正漏洞。
  5. 確認在「評估損壞情形」期間發現的所有問題都已解決。
  6. 請為與網站相關的所有帳戶 (例如 FTP 存取權、資料庫存取權、系統管理員和 CMS 帳戶的登入資訊) 再次變更密碼。在 Unix 系統上,請嘗試:
passwd admin1

完好但過時的備份資料

  1. 為目前的網站建立磁碟映像檔,即使該網站仍遭到感染也一樣。這個副本只是為了安全起見而備。請將該副本標示為受感染,以便與其他副本區別。在以 Unix 為基礎的系統上,建立磁碟映像檔可能會:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. 為伺服器建立備份檔案系統副本,包括圖片和媒體檔案。如果您有資料庫,請連同資料庫一起備份。
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump
-u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
  1. 在伺服器上還原完好但過時的備份。
  2. 考慮是否可以移除網站不再使用的伺服器軟體 (例如小工具、外掛程式或應用程式)。
  3. 升級所有軟體,包括您可以控制伺服器的 OS,以及所有軟體應用程式,例如內容管理系統、電子商務平台、外掛程式和範本。請務必檢查並安裝可用的安全性更新和修補程式。
  4. 修正漏洞。
  5. 在乾淨備份和目前受感染的副本之間,手動或自動執行網站 diff
diff -qr www/ backups/full-backup-20120124/
  1. 在升級的伺服器上,上傳您想保留的任何新內容 (已清除病毒)。
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. 確認「評估損害」一節中列出的每個網址都已修正。
  2. 請為與網站相關的所有帳戶 (例如 FTP 存取權、資料庫存取權、系統管理員和 CMS 帳戶的登入資訊) 再次變更密碼。在 Unix 系統中:
$passwd admin1

無可用的備份資料

即使網站仍遭到感染,也請備份兩份。備份檔案可協助您復原不小心刪除的內容,或是在發生錯誤時讓您還原並重新嘗試。您必須標記這些備份是「已遭感染」的版本,以便未來參考。

您的其中一個備份應為磁碟映像檔,也就是網站的「複製版本」。這種格式可讓您更輕鬆地還原內容。您可以將磁碟映像檔留作緊急備份。在以 Unix 為基礎的系統上,請使用下列程式碼建立磁碟映像檔:

dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz

另一個備份則是伺服器的檔案系統副本,包括圖片和媒體檔案。如果您有資料庫,請一併備份資料庫。

tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump
-u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql

如果沒有磁碟映像檔,請備份兩份資料庫和兩份檔案系統。

如要清除新備份檔案系統副本 (而非伺服器本身) 上的網站內容,請按照下列步驟操作:

  1. 如果先前的調查發現檔案權限過於寬鬆,請立即修正。請務必在備份副本上執行這項操作,而非在伺服器本身上執行。
  2. 在備份副本中,也請清除所有與評估損害程度中發現的遭入侵網址相對應的檔案。這些檔案可能是伺服器設定檔、JavaScript、HTML 或 PHP。
  3. 請務必移除駭客建立的新檔案 (提供 404 回應),這些檔案可能已透過 Search Console 的網址移除工具提交,也可能未提交。
  4. 如果程式碼或破解的密碼中存在安全漏洞,請修正該漏洞。加入驗證程式庫或稽核安全性的機制可能有所助益。
  5. 如果您的網站有資料庫,請開始清理備份中的駭客修改記錄。在您認為已完成之前,請檢查更多記錄,確保資料庫看起來乾淨。
  6. 請為與網站相關的所有帳戶 (例如 FTP 存取權、資料庫存取權、系統管理員和 CMS 帳戶的登入資訊) 再次變更密碼。在 Unix 系統中,請使用下列程式碼:
$passwd admin1

此時,網站的備份副本 (曾遭到感染) 應只包含乾淨的資料。請將這個備份複本先放在一邊,然後前往第 5 個步驟。

5. 移除不必要的軟體

考慮您是否能夠在伺服器上移除網站不再使用的軟體,例如小工具、外掛程式或應用程式。這麼做可以提升安全性,並簡化日後的維護作業。

6. 清理所有伺服器

  1. 您必須執行全新安裝,只升級是不行的。升級時可能會留下舊版檔案。如果伺服器上仍有受感染的檔案,網站就更有可能再次遭到入侵。
    • 需要全新安裝的項目包括:您可以控制的伺服器 OS,以及所有軟體應用程式 (例如內容管理系統、電子商務平台、外掛程式和範本)。請務必檢查是否有可用的安全性更新和修補程式。
  2. 將正常內容從備份檔案系統的乾淨副本,轉移至新安裝的伺服器。請只上傳及還原已知的乾淨檔案或資料庫。請務必保留適當的檔案權限,不要覆寫新安裝的系統檔案。
  3. 為與網站相關的所有帳戶 (例如 FTP 存取權、資料庫存取權、系統管理員和 CMS 帳戶的登入資訊) 執行最後一次密碼變更。在 Unix 系統中,請使用下列程式碼:
passwd admin1

7. 擬定長期維護計劃

強烈建議您採取以下做法:

  • 定期自動備份您的網站。
  • 持續使用最新版軟體。
  • 在伺服器上安裝所有應用程式、外掛程式和其他第三方軟體前,請先瞭解相關安全做法。一個軟體應用程式中的安全漏洞,可能會影響整個網站的安全性。
  • 強制建立高強度的密碼。
  • 確保用來登入電腦的所有裝置安全無虞 (作業系統和瀏覽器皆已更新)。

8. 仔細檢查,確認清理完成

確認對於以下問題,您的回答都是肯定的:

  • 如果駭客取得使用者的個人資訊,我是否已採取適當的措施?
  • 我在網站上執行是否是最新、最安全的軟體版本?
  • 是否已移除所有不必要或未使用的應用程式或外掛程式,以免日後使網站更容易遭到入侵?
  • 我是否已復原內容並移除駭客的內容?
  • 我是否已修正漏洞的根本原因,能防止網站再次遭到同樣的方式遭到入侵?
  • 我有對於如何維持網站安全進行規劃嗎?

你現在可以讓網站恢復上線。