Google Search Console簡介

什麼是Google Search Console?

Google Search Console(前身為Google網站管理員工具)是Google提供的免費網站監控與管理工具。它能協助網站管理員:

  • 監控網站在Google搜尋中的表現
  • 接收網站問題的警示通知
  • 確認網站的擁有權
  • 提交網站地圖(Sitemap)
  • 查看網站的爬蟲數據

為什麼需要使用Search Console?

當網站遭受攻擊時,Search Console特別重要:

  • 及時接收安全性警示
  • 確認網站的真實擁有者
  • 要求Google重新檢索網站內容
  • 監控異常的搜尋結果

如何開始使用?

  1. 前往Google Search Console
  2. 使用Google帳號登入
  3. 點選「新增資源」
  4. 輸入您的網站網址
  5. 選擇驗證方式
  6. 本文章採用HTML 標記 驗證方式

DNS污染攻擊說明

什麼是DNS污染?

DNS(Domain Name System)污染是一種網路攻擊手法,攻擊者會:

  • 修改DNS伺服器的設定
  • 將使用者導向惡意網站
  • 植入廣告或惡意程式碼
DNS污染攻擊運作機制說明 使用者瀏覽器 DNS伺服器 您的網站 1. 查詢網址 2. 回傳IP位址 3. 連線到正確網站 正常的DNS查詢流程 使用者瀏覽器 被污染的DNS 惡意廣告網站 1. 查詢網址 2. 回傳錯誤IP 3. 導向惡意網站 遭受DNS污染攻擊後的情況

常見的攻擊症狀

當網站遭受DNS污染攻擊時,常見的症狀包括:

  • 使用者被重新導向到廣告網站
  • 網頁中出現不明的廣告連結
  • Google搜尋結果顯示異常描述
  • 網站管理員無法存取某些系統檔案

解決方案

方案一:使用web.config設定驗證標籤(建議方式)

這是最簡單且最安全的驗證方式,適合多頁面的IIS網站:

  1. 開啟web.config檔案
  2. 在system.webServer區段中加入設定:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<system.webServer>
<httpProtocol>
<customHeaders>
<!--
Google Search Console驗證標籤
此設定會自動為所有頁面加入meta標籤
不需要修改個別網頁
優點:集中管理、減少錯誤風險
-->
<add name="X-Meta-Google-Site-Verification"
value="您的驗證碼" />
</customHeaders>
</httpProtocol>
</system.webServer>

優點:

  • 集中管理所有設定
  • 減少人為錯誤風險
  • 適合多頁面網站
  • 方便進行版本控制

方案二:直接在網頁中加入HTML中繼標記

如果您的網站架構較簡單,也可以直接修改主要的版面配置檔案:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
<head>
<!-- 原有的head內容 -->
<title>您的網站標題</title>
<meta charset="utf-8" />

<!-- Google Search Console驗證碼 -->
<meta name="google-site-verification"
content="您的驗證碼" />

<!-- 其他meta標籤 -->
</head>
<body>
<!-- 網站內容 -->
</body>
</html>

方案三:清理DNS設定與惡意程式碼

完成驗證後,需要進行清理工作:

  1. 檢查並清理DNS紀錄

    1
    2
    3
    4
    5
    6
    7
    # 使用PowerShell檢查DNS紀錄
    nslookup your-domain.com

    # 檢查重點:
    # - A記錄是否正確
    # - 有無異常的CNAME記錄
    # - MX記錄是否正確
  2. 掃描並移除可疑檔案

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 以系統管理員身分執行PowerShell
    # 掃描特定資料夾下的可疑檔案
    $websiteRoot = "C:\inetpub\wwwroot"
    Get-ChildItem -Path $websiteRoot -Recurse -Include *.php,*.asp,*.js |
    Where-Object {
    # 檢查檔案修改時間
    $_.LastWriteTime -gt (Get-Date).AddDays(-7) -and
    # 檢查檔案大小
    $_.Length -gt 1MB
    } | Format-Table Name,LastWriteTime,Length -AutoSize
  3. 更新IIS安全性設定

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <!-- 在web.config中加入安全性設定 -->
    <configuration>
    <system.webServer>
    <security>
    <requestFiltering>
    <!-- 限制上傳檔案大小 -->
    <requestLimits maxAllowedContentLength="30000000" />
    <!-- 禁止存取特定副檔名 -->
    <fileExtensions>
    <add fileExtension=".php" allowed="false" />
    </fileExtensions>
    </requestFiltering>
    </security>
    </system.webServer>
    </configuration>

疑難排解

驗證失敗的常見原因

  1. 防火牆設定問題
  • 確認Google爬蟲的IP範圍是否被允許:
    1
    2
    66.249.64.0/19
    66.249.88.0/24
  1. IIS設定問題
  • 檢查檔案讀取權限
  • 確認MIME類型設定
  • 查看IIS記錄檔
  1. 快取問題
  • 清除瀏覽器快取
  • 清除網站快取
  • 等待DNS更新完成

預防措施

  1. 定期更新系統與應用程式
  2. 實施強效的防火牆規則
  3. 啟用檔案完整性監控
  4. 定期備份重要資料
  5. 記錄並監控系統活動

參考資源

  1. Google Search Console官方說明文件
  2. Google Search Console新手指南
  3. Microsoft IIS安全性設定指南
  4. Google爬蟲IP範圍說明
  5. TWCERT/CC資安警訊