清理及維護您的網站

為保持網站清理作業,並避免再次遭到入侵,您必須執行下列事項:

  • 殼層或終端機管理員可存取網站伺服器:網路、資料庫、檔案
  • 瞭解殼層或終端機指令
  • 熟悉程式碼 (例如 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. 安裝任何軟體升級、更新或修補程式。包括您在伺服器中可控制的 OS 軟體,以及所有應用程式,例如內容管理系統、電子商務平台、外掛程式或範本。
  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. 仔細檢查,確認清理完成

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

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

您現在可以讓網站重新上線。