Chrome Dev Summit 2018 is happening now and streaming live on YouTube. Watch now.

清理及維護您的網站

您需要:

  • 殼層/終端機的系統管理員權限,可存取網站伺服器上的內容 (網路、資料庫、檔案)
  • 殼層/終端機指令知識
  • 熟悉程式碼 (例如 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
    2. 連同圖片和媒體檔案在內,製作伺服器的檔案系統複本備份。如果您有資料庫,請連同資料庫一起備份。
      $tar -pczf full-backup-20120125-infected.tar.gz www/ $ mysqldump -u root
        -p --all-databases | gzip -9 > fulldb_backup-20120125-infected.sql
    3. 在伺服器上還原完好但過時的備份。
    4. 考慮您的網站未使用哪些軟體 (例如小工具、外掛程式或應用程式),能否將它們從您的伺服器上刪除。
    5. 升級所有軟體,包括您可以控制的伺服器作業系統,以及所有軟體應用程式、例如內容管理系統、電子商務平台、外掛程式和範本等。請務必檢查及安裝所有現有的安全性更新和修補程式。
    6. 修正漏洞。
    7. 以手動或自動化方式為網站執行 diff,藉此區別完好備份和目前受感染複本的不同之處。
      $diff -qr www/ backups/full-backup-20120124/
    8. 找到受感染複本中要保留的完好內容,連同新的內容一起上傳到升級的伺服器上。
      $rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
    9. 檢查評估損害所列的網址是否已全部修復。
    10. 再次變更網站所有相關帳戶的密碼 (例如:登入 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
      • 另一個備份則是伺服器的檔案系統複本,內含圖片和媒體檔案。如果您有資料庫,請連同資料庫一起備份。
        $tar -pczf full-backup-20120125-infected.tar.gz www/
         
        $mysqldump -u root -p --all-databases | gzip -9 > fulldb_backup-20120125-infected.sql
      • 如果您沒有磁碟映像檔,請分別為資料庫和檔案系統做兩個備份。
    2. 從新備份的檔案系統複本 (而非伺服器) 中,清除網站上的內容。
      1. 如果經過先前的調查,您發現檔案的權限過於寬鬆,請直接進行修正。請確認您是在備份複本上設定,而不是在伺服器上設定。
      2. 在備份複本上,找到和評估損害中所發現受損網址相應的檔案,然後予以清除。這些可能是伺服器設定檔、JavaScript、HTML 和 PHP 檔案。
      3. 請務必移除駭客新建立的檔案 (將提供 404 回應)。您可選擇是否要使用 Search Console 的「移除網址」工具提交要求。
      4. 如果程式碼或遭破解的密碼有任何漏洞,請予以修正。加入驗證程式庫或稽核安全性的機制可能有所助益。
      5. 如果網站有資料庫,請從駭客竄改的紀錄開始清理備份。完成前,請仔細檢查所有紀錄,確保看起來沒有任何問題。
      6. 再次變更網站所有相關帳戶的密碼 (例如:登入 FTP、存取資料庫、系統管理員和 CMS 帳戶)。在 Unix 系統上,請嘗試:
        $passwd admin1
      7. 這時候,在網站原先受到感染的備份複本中,應該只剩下乾淨的資料。請將這個備份複本先放在一邊,然後前往第 5 個步驟。

5. 刪除不必要的軟體

考慮您的網站未使用哪些軟體 (例如小工具、外掛程式或應用程式),能否將它們從您的伺服器上刪除。這可以提高安全性,並簡化未來的維護作業。

6. 清理所有伺服器

  1. 您必須執行全新安裝,只升級是不行的。升級作業可能會使先前版本的檔案遺留在系統中。如果伺服器殘留受感染的檔案,駭客就可能再次入侵。
    • 需要全新安裝的項目包括:您可以控制的伺服器作業系統,以及所有軟體應用程式、例如內容管理系統、電子商務平台、外掛程式和範本等。請務必檢查所有現有的安全性更新和修補程式。
  2. 將完好檔案系統複本備份中的良好內容,轉移到剛安裝的伺服器中;您所上傳或還原的內容來源,必須是已知完好的檔案。此外,請務必保留適當的檔案權限,不要覆寫剛安裝的系統檔案。
  3. 最後一次變更網站所有相關帳戶的密碼 (例如:登入 FTP、存取資料庫、系統管理員和 CMS 帳戶)。在 Unix 系統上,請嘗試:
    $passwd admin1

7. 擬定長期維護計劃

線上有許多關於如何為網站提供堅實維護的資訊資源,例如 StopBadware 的防堵惡意程式:基本概念。我們也強烈建議您執行下列操作:

  • 定期自動備份您的網站。
  • 持續使用最新版軟體。
  • 瞭解應用程式、外掛程式、第三方軟體等內容的最佳實務之後,才將它們安裝到您的伺服器上。只要應用的軟體中有一個安全性漏洞,就可能危及整個網站的安全。
  • 強制建立高強度的密碼。
  • 保護所有登入裝置的安全 (更新作業系統和瀏覽器)。

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

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

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

9. 將您的網站重新上線

後續步驟

您就快要完成了!本程序的最後一個步驟是要求審查