個人域名安全實踐:從掃描攻擊到防護策略
Categories:
前言
在網路時代, 域名安全已成為每個網路使用者必須關注的問題. 每天都有無數的自動化工具在掃描網路上的每一個角落, 尋找可能的漏洞. 很多人認為只有大型企業才會成為攻擊目標, 但實際上, 由於攻擊成本的降低和工具的普及, 任何暴露在網路上的服務都可能成為攻擊對象. 域名安全不僅關乎個人隱私和數據保護, 更是維護網路服務穩定運行的基礎. 隨著網路安全威脅的不斷演變, 建立完整的域名安全防護體系變得越來越重要, 這也是我們持續關注和分享安全實踐經驗的原因.
真實案例分析
掃描攻擊實例
我部署在 Cloudflare 上的一個小型展示網站, 雖然只有兩個有效 URL:

但仍然持續遭受掃描攻擊。
網站上線之初, 其他 URL 全部返回 404, 當天就有香港主機開始掃描, 源 IP 天天更換, 但大部分來自香港. 由於部分用戶來自香港 IP, 無法直接屏蔽該地區. 這個案例說明了網路攻擊的自動化和持續性特徵, 也提醒我們需要建立系統的域名安全防護策略.

以上這些 URL 全都是懷有各種目的的嘗試, 我的 worker 只處理 / 和 /logs-collector, 這些堅持不懈的嘗試基本上都是為了尋找漏洞. 這些攻擊嘗試不僅消耗了 Cloudflare 的免費請求數額, 還污染了日誌數據, 對系統監控造成了干擾.
但這樣掃占用 CF 免費請求數, 污染我的日誌, 也不是什麼好事。
後來我將所有其他請求都返回 200, 並加上提示資訊 Host on Cloudflare Worker, don't waste your time.

修改後掃描量有所減少, 雖然不能確定因果關係, 但這種做法確實傳達了明確的信號.
如果是運行在自己主機上的服務, 天天被這樣掃描, 而服務又不及時進行安全更新, 遲早會被掃描到漏洞並遭到入侵. 這就是為什麼我們強調域名安全的重要性, 它不僅關乎單次攻擊的成功與否, 更關乎長期的系統安全態勢.
對攻擊者來說, 這種攻擊就是每天定時不停地嘗試, 能攻破一個就是一個, 基本都是自動化的, 設備和時間成本都不高. 這也解釋了為什麼網路攻擊如此普遍, 因為對攻擊者而言, 這是一個低成本、高回報的活動.
安全威脅分析
攻擊者特點
跨境作案是網路攻擊的常見特徵, 攻擊者通過在不同地區部署攻擊設施來降低被追責的可能. 自動化工具的廣泛使用使得攻擊成本大幅降低, 像 Nmap 和 Masscan 這樣的端口掃描工具已經成為攻擊者的标配. 攻擊通常具有持續性, 而且成本極為低廉. 攻擊者擁有充足的肉雞資源, 可以頻繁更換 IP 地址來繞過封鎖. 攻擊時間通常選擇在深夜或節假日, 此時監控和響應可能較為薄弱.
常見攻擊方式
端口掃描是攻擊者的第一步, 他們會批量掃描開放端口, 識別常用服務如 SSH、RDP、MySQL 等. 漏洞掃描則是針對已知漏洞的老舊軟體進行探測, 通過路徑特徵和文件名特徵來識別潛在的攻擊面. 此外, 攻擊者還會自行構造各種輸入, 嘗試通過輸入驗證漏洞來獲取系統權限.
安全實踐
域名安全防護需要根據服務類型採取不同的策略. 對於自用服務和公開服務, 應該採用完全不同的保護方案.
flowchart TD
A[域名服務部署] e1@--> B{服務類型判斷}
B e2@-->|自用服務| C[選擇 VPN 方案]
B e3@-->|公開服務| D[選擇邊緣安全服務]
C e4@--> E[搭建內網 DNS]
C e5@--> F[部署 Tailscale 或 ZeroTier]
C e6@--> G[配置內網固定 IP 訪問]
D e7@--> H[選擇 Cloudflare]
D e8@--> I[選擇 阿里雲 ESA]
D e9@--> J[配置 WAF 和 DDoS 防護]
E e10@--> K[服務完全隱藏]
F e11@--> K
G e12@--> K
H e13@--> L[真實 IP 隱藏]
I e14@--> L
J e15@--> L
classDef start fill:#E3F2FD,stroke:#1565C0,stroke-width:1px,color:#0D47A1;
classDef decision fill:#FFF8E1,stroke:#EF6C00,stroke-width:1px,color:#E65100;
classDef action fill:#E8F5E9,stroke:#2E7D32,stroke-width:1px,color:#1B5E20;
classDef result fill:#F3E5F5,stroke:#6A1B9A,stroke-width:1px,color:#4A148C;
classDef animate stroke:#EF6C00,stroke-width:2px,stroke-dasharray: 9\,5,stroke-dashoffset: 900,animation: dash 25s linear infinite;
class A start;
class B decision;
class e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15 animate;
class C,D,E,F,G,H,I,J action;
class K,L result;使用 VPN 而非反向代理
大部分都不會及時升級軟體, 最好的策略是不暴露自己的域名. 掃描攻擊既可以構造前綴, 也可以構造後綴, 各種子域名都會被嘗試. 子域名掃描的重災區包括 nas、home、dev、test、blog、work、webdav、frp、proxy 等. 要實現自動化攻擊, 攻擊者會準備一個子域名字典, 進行自動化測試. 這些常見名稱會被優先掃描, 因此避免使用這些顯而易見的子域名名稱是一個基本的防護措施.
對於自用服務, 推薦使用 VPN 技術替代反向代理, 這樣可以將服務完全隱藏在內網中. 可以搭建一個區域網的 DNS 伺服器, 比如 AdGuard Home, 在上面配置域名解析, 讓內網設備都通過固定 IP 訪問. AdGuard Home 不僅提供了 DNS 服務, 還具備廣告攔截和家长控制功能, 是家庭網路環境下的理想選擇. DDNS 也可以使用 AdGuard Home 的 API 實現, 由於是區域網環境, 域名可以自己隨意選擇, 不受公網域名規則的限制. 這種方式的優勢在於服務完全不暴露在公網上, 自然避免了掃描攻擊的風險.
使用邊緣安全服務
對於必須公網訪問的服務, 邊緣安全服務是最好的選擇. Cloudflare 提供了全球領先的邊緣安全服務, 在個人開發者找到真正有商業價值的項目之前, 其免費版已經完全夠用. 國內的阿里雲 ESA 也是一個不錯的選擇, 新用戶可以免費試用 3 個月, 正常付費是一個根域名每月 10 元, 限制 50GB 流量. 在 Cloudflare 全免費的服務面前, ESA 的主要優勢在於中國大陸地區的訪問速度更優.
安全服務普遍價格較高, 但不做保護的話, 一旦被攻擊損失可能更大. 如果付費保護, 就是每天看著直接的固定支出. 邊緣安全服務算是一種保險, 非常廉價且性價比極高, 典型的讓專業的人做專業的事.
邊緣安全服務的主要目的是隱藏自己的真實 IP, 用戶訪問邊緣節點, 邊緣節點計算決策是否回源訪問真實 IP. 它的本質就是一個前置的反向代理, 集成緩存、WAF、CDN、DDoS 防護等功能. 由於用戶到服務中間插入了第三者, 因此它有一定的概率會造成用戶體驗下降. Cloudflare 和 ESA 我都在使用, 總結來說就是讓體驗最好的一部分用戶體驗略微下降, 但是讓更多地區的用戶體驗提升了. 整體來說仍然是非常值得的投資.
總結
域名安全是一個系統工程, 需要根據服務類型採取不同的保護策略. 對於自用服務, 優先使用 VPN 方案, Tailscale 和 ZeroTier 都是成熟可靠的選擇. 如果需要 DNS 服務, 可以在內網搭建 AdGuard Home, 它提供了完整的 DNS 解決方案, 包括廣告攔截和家长控制功能. 對於公網訪問需求, 可以使用 AdGuard Private 來提供加密的 DNS 解析服務.
對於公開服務, 需要給大眾訪問的服務, 最好是套一層邊緣安全服務. Cloudflare 提供了全球領先的免費安全防護, 適合大多數個人開發者. 如果特別在意中國大陸地區的訪問速度, 可以選擇阿里雲 ESA, 它在國內的節點分佈更廣, 能夠提供更好的本地化體驗.
無論選擇哪種方案, 關鍵是要建立起域名安全的意識, 主動採取防護措施, 而不是被動等待攻擊發生. 網路安全沒有銀彈, 適合自己的才是最好的.