個人域名的安全實踐

本文分享個人域名使用過程中的安全實踐經驗,包括掃描攻擊分析、域名保護策略、常見攻擊手段以及邊緣安全服務的選擇等內容。

前言

在互聯網時代,網路攻擊已成為常態。每天都有無數的自動化工具在掃描互聯網上的每一個角落,尋找可能的漏洞。很多人認為只有大型企業才會成為攻擊目標,但實際上,由於攻擊成本的降低和工具的普及,任何暴露在互聯網上的服務都可能成為攻擊對象。

真實案例分析

掃描攻擊實例

我部署在 Cloudflare 上的一個小型展示網站,雖然只有兩個有效 URL:

但仍然持續遭受掃描攻擊。

一開始其它的 URL 全部返回404, 上線當天就有香港主機開始掃, 源 IP 天天換, 但大部分是香港的. 由於有些用戶是香港 IP 訪問, 也不能直接 ban 地區.

以上這些 URL 全都是懷有各種目的的嘗試, 我的 worker 只處理//logs-collector, 這些契而不捨的嘗試基本上都是為了尋找漏洞.

但這樣掃佔用 CF 免費請次數, 污染我的日誌, 也不是什麼好事。

後邊把所有其它請求都返回200, 加上Host on Cloudflare Worker, don't waste your time

這樣被掃的稍微少了點, 當然我不知道是否有因果關係。

如果是運行在自己主機上的服務, 天天被這樣掃, 而服務一直不做安全更新, 遲早有被掃到漏洞的一天。

對攻擊者來說, 就是每天定時不停的嘗試, 能攻破一個是一個, 基本都是自動化的, 設備和時間成本都不高。

安全威脅分析

攻擊者特點

  • 跨境作案普遍,降低追責可能
  • 自動化工具廣泛使用,包括 Nmap、Masscan 等端口掃描工具
  • 持續性攻擊,成本低廉
  • 肉雞資源充足,IP 地址頻繁變化
  • 攻擊時間通常選擇在深夜或節假日

常見攻擊方式

  1. 端口掃描
    • 批量掃描開放端口
    • 識別常用服務(SSH、RDP、MySQL 等)
  2. 漏洞掃描
    • 掃描已知漏洞的老旧軟體
    • 通過路徑特徵和文件名特徵識別
  3. 自行構造輸入, 通過輸入驗證漏洞

安全實踐

使用 VPN 而非反向代理

大部分人都不會及時的升級軟體, 最好是不要暴露自己的域名, 掃描既可以構造 postfix, 也可以構造 prefix, 各種子域名一頓試。

比如子域名重災區:

  • nas.example.com
  • home.example.com
  • dev.example.com
  • test.example.com
  • blog.example.com
  • work.example.com
  • webdav.example.com
  • frp.example.com
  • proxy.example.com

這些是隨手寫的, 要自動化攻擊肯定是搞一個子域名字典, 自動化測試。

可以搭一個局域網的 DNS 伺服器, 比如AdguardHome, 在上邊配置域名解析, 內網設備都固定 IP 訪問。

DDNS 也可以用AdguardHome的 API 實現. 由於是局域網, 域名可以自己隨便挑.

使用邊緣安全服務

賽博佛祖Cloudflare就不多說了, 在個人折騰者找到真正有商業價值的項目之前, 它肯定一直都是免費的。

國內的的就是阿里雲ESA, 兩個我都在用, 阿里雲的免費用 3 個月, 正常是一個根域名 10 元一個月限 50G 流量, 在 CF 全免費面前我就不多做介紹了。

安全服務普遍比較貴, 不做保護的話, 被攻擊了損失很大, 如果付費保護就是每天看著直接的"損失"。

邊緣安全服務算是一種保險, 非常廉價, 性價比超高的安全服務, 典型的讓專業的人做專業的事。

邊緣安全主要目的是隱藏自己的真實 IP, 用戶訪問邊緣節點, 邊緣節點計算決策是否回源訪問真實 IP。

它的本質就是一個前置的反向代理, 集成了緩存, WAF, CDN, DDoS 防護等功能. 由於用戶到服務中間插入第三者, 因此它有一定的概率會造成用戶體驗下降。

CF 和 ESA 我都在用, 總結來說就是讓體驗最好的一部分用戶體驗略微下降, 但是讓更多地區的用戶體驗提升了. 整體來說仍然是非常值得.

總結

如果只是自用服務優先使用 VPN, tailscale或者zerotier都是不錯的選擇, 需要 DNS 服務可以在內網搭AdGuardHome, 公網可以用AdGuardPrivate.

如果是公開的, 給大眾訪問的服務, 最好是套一個Cloudflare, 在意大陸的訪問速度的就用阿里 ESA

這種安全實踐僅供參考, 非常歡迎 V 站大佬們提出建議。