DoH 安全最佳實踐
本文提供使用 DNS over HTTPS 時的安全最佳實踐建議。
基本安全配置
選擇可信的 DoH 伺服器
-
驗證伺服器身份
- 使用支援 DNSSEC 的伺服器
- 檢查伺服器 SSL 憑證
- 驗證伺服器所有權
-
評估隱私政策
- 了解資料收集政策
- 檢查資料保留期限
- 確認資料共享政策
-
考慮地理位置
- 選擇本地伺服器
- 避免跨境資料傳輸
- 考慮法律合規性
啟用 DNSSEC
-
配置 DNSSEC 驗證
# 在 Linux 系統上啟用 DNSSEC sudo nano /etc/systemd/resolved.conf [Resolve] DNSSEC=yes
-
驗證 DNSSEC 狀態
# 使用 dig 命令驗證 dig +dnssec example.com
進階安全配置
使用 ESNI
-
配置 ESNI 支援
- 使用支援 ESNI 的瀏覽器
- 啟用 TLS 1.3
- 配置 ESNI 金鑰
-
驗證 ESNI 狀態
# 使用 curl 測試 curl -v --esni example.com
防止 DNS 洩漏
-
系統級配置
- 停用傳統 DNS
- 配置防火牆規則
- 使用 VPN 或代理
-
瀏覽器配置
- 啟用 DoH
- 停用 WebRTC
- 使用隱私模式
企業安全實踐
網路分段
-
劃分網路區域
- 管理網路
- 用戶網路
- 訪客網路
-
配置存取控制
# 配置防火牆規則 iptables -A OUTPUT -p tcp --dport 53 -j DROP iptables -A OUTPUT -p udp --dport 53 -j DROP
監控和日誌記錄
-
配置日誌記錄
# 配置 DNS 日誌記錄 sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml [logging] log_level = 2 log_file = '/var/log/dnscrypt-proxy.log'
-
設置警報
- 監控 DNS 查詢失敗
- 監控異常流量
- 設置安全事件通知
安全審計
定期檢查
-
系統檢查
# 檢查 DNS 配置 cat /etc/resolv.conf # 檢查 DNS 服務狀態 systemctl status systemd-resolved
-
安全掃描
- 使用安全掃描工具
- 檢查漏洞
- 更新安全補丁
合規檢查
-
資料保護
- 檢查資料加密
- 驗證存取控制
- 審查日誌記錄
-
政策合規
- 檢查隱私政策
- 驗證資料保護
- 審查安全措施
緊急應對
事件處理
-
檢測事件
- 監控異常活動
- 分析日誌資料
- 識別安全威脅
-
應對流程
- 隔離受影響系統
- 收集證據
- 修復漏洞
恢復計劃
-
備份策略
- 定期配置備份
- 保存日誌資料
- 維護恢復文件
-
恢復步驟
- 驗證備份完整性
- 恢復系統配置
- 更新安全措施
推薦安全工具
監控工具
-
DNS 監控
- DNSWatch
- DNSLeakTest
- DNSViz
-
安全掃描
- Nmap
- Wireshark
- tcpdump
防護工具
-
防火牆
- UFW
- iptables
- pfSense
-
入侵檢測
- Snort
- Suricata
- Zeek