About | NetLify | NeoCities | Project | TEST | 管理

<<使用Deadwood封鎖指定軟體服務之研究(以Adobe為例)>>

摘要:

本研究探討如何利用 Deadwood DNS 伺服器,封鎖特定軟體廠商(例如 Adobe)的連線請求,藉此達成對網路應用層進行精細控管之目的。透過自訂黑名單(blocked_hosts.txt)與 Deadwood 的設定(dwood3rc.txt),我們成功攔截多個 Adobe 與 Autodesk 相關網域名稱,並驗證其對客戶端連線行為的影響。

本文詳述系統架構、設定方法與操作流程,並提供相關批次檔(blockHashMake_ReNew.bat)做為自動化封鎖流程的工具,期望能協助系統管理員在資訊安全與授權控管上有更佳掌握。

 

一、前言:

在資訊安全日益受到重視的今日,DNS 層級的控管手段被廣泛應用於企業網路、家庭防護及特定應用環境中。尤其是對某些未經授權或潛在安全疑慮之軟體(如破解版本的 Adobe 或 Autodesk 軟體)進行封鎖,是許多系統管理者的重要任務。

Deadwood 為一款輕量型 DNS 伺服器,具備簡潔設定、靈活攔截的特性,適合應用於小型伺服器或邊緣設備。透過其內建的「blocked_hosts_hash」功能,我們可以有效實作 DNS 層級的攔截機制。

本研究以封鎖 Adobe 系列服務為案例,透過精準列舉域名、編譯阻擋清單、並配置 Deadwood DNS,實作完整的封鎖流程。

 

1.1 Deadwood DNS伺服器的背景與特性:

Deadwood 是由 MaraDNS 專案開發的 DNS 伺服器之一,屬於輕量級的遞迴解析伺服器,旨在提供高效能的網域名稱解析服務。Deadwood 的設計重點在於簡潔性、可擴展性和安全性,並且提供了較低的資源消耗,這使得它適合部署在各種硬體配置較低的系統上(包括老舊設備或資源受限的環境)[1]。

Deadwood 主要的特點之一是能夠簡單配置並執行多層次的封鎖機制,例如對特定 IP 地址或網域進行封鎖。此外,它還支持基於哈希值進行封鎖,從而增強了其對抗廣告、間諜軟體及其他惡意軟體的能力,這一點在數位隱私保護中有很高的價值[2]。

 

1.2 Deadwood的DNS封鎖與隱私保護應用:

隨著網路安全和數位隱私問題的日益嚴峻,許多研究聚焦於如何利用 DNS 伺服器來提升網路使用者的隱私保護[3]。Deadwood 作為一個開源的 DNS 解決方案,其封鎖功能在防止廣告追蹤、阻止惡意軟體的行為中發揮了顯著作用。根據[4]的研究,Deadwood 能夠有效地過濾惡意網站和無意義的廣告請求,從而減少個人資料洩漏的風險。

此外,Deadwood 透過簡單的設定方式,讓使用者能夠自定義哪些網站或服務被封鎖,這對於那些希望避免廣告追蹤、保護網路安全的用戶來說,提供了靈活性和強大的自訂選項[5]。這一特性在家庭網路和小型企業環境中尤為重要。

 

1.3 其他DNS封鎖解決方案的比較:

在類似的 DNS 封鎖技術中,有多種其他解決方案被提出並應用於現實世界中。比如,Pi-hole 是另一個常見的 DNS 層封鎖工具,提供了廣告封鎖和過濾功能。相比之下,Deadwood 的主要優勢在於其簡單的設置與輕量級的運行需求[6]。儘管 Pi-hole 提供了一些額外的功能和圖形介面,但 Deadwood 的效能和資源消耗上卻具有更好的可伸縮性,特別是在需要處理大量 DNS 查詢的情況下[7]。

 

1.4 Deadwood 在企業環境中的應用:

Deadwood 亦被廣泛應用於企業內部網路的 DNS 查詢過濾。在一些需要保護機密資料和防範外部攻擊的企業環境中,Deadwood 的 DNS 封鎖功能能夠有效地限制來自外部的惡意連線。透過配置適當的封鎖列表和自定義設定,企業能夠在不降低系統效能的情況下,提供強有力的網路安全防護[8]。

 

1.5 Deadwood與其他技術的整合應用:

Deadwood 不僅能作為獨立的 DNS 伺服器運行,還可以與其他網路安全技術協同工作,例如防火牆、VPN 及入侵檢測系統。當結合這些技術時,Deadwood 能夠提供更高層次的保護,並有效減少內部網路受到外部攻擊的風險[9]。

 

二、系統架構與工具:

2.1 Deadwood 簡介:

DeadwoodMaraDNS 專案之子計畫,是一款針對速度與記憶體需求進行最佳化的 DNS 前端快取伺服器。其支援上游遞迴查詢、多來源封鎖與自訂 IP 映射等功能,適合嵌入式系統或進階 DNS 控制需求。

 

2.2 系統組成圖:

[Client Device] <---> [Deadwood DNS Server] <---> [Upstream DNS or Internet]
                │
                ├─ blocked_hosts.txt (域名黑名單)
                ├─ badhosts.bin (編譯後的黑名單)
                └─ dwood3rc.txt (主設定檔)

 

2.3 適用平台(Tested & Recommended Platforms):

Deadwood 是由 MaraDNS 專案所提供的輕量級 DNS 伺服器,具備良好的可攜性與平台兼容性。本研究使用的 Deadwood 版本與相關封鎖設定,可成功運作於以下作業系統:

實測成功平台:

  • Windows XP SP3 (支援基本 DNS 架設與 Deadwood 運行,適合老舊機種或虛擬環境測試)
  • Windows 7 / Windows 8.1
  • Windows 10(建議 64-bit)
  • Windows 11
  • Windows Server 2008 R2 / 2012 / 2016 / 2019 / 2022 (適用於企業級內網或 Proxy 架構中部署作為遞迴 DNS 層)

注意事項:

在 Windows Vista 上運作可能會因為服務相容性或網路堆疊限制而遇到問題,不建議使用。

若在 Linux 平台部署,請改用 MaraDNS 主程式(非 Deadwood)進行等效設定。

 

三、實作流程:

3.1 編寫黑名單檔案(blocked_hosts.txt)

以下為本研究使用的範例清單,主要針對 Adobe 全系列域名進行封鎖:

a1815.dscr.akamai.net.
adobe.ai.
adobe.cc.
adobe.co.jp.
adobe.com.
adobe.com.edgekey.net.
adobe.com.edgesuite.net.
adobe.com-cn.edgesuite.net.
adobe.com-cn.edgesuite.net.globalredir.akadns.net.
adobe.de.
adobe.demdex.net.
adobe.edu.
adobe.edu.tw.
adobe.game.
ood.opsource.net.
ocsp.spo1.verisign.com.
adobe.gov.
adobe.io.
adobe.ipp.
adobe.net.
adobe.newoa.
adobe.ntp.
adobe.org.
adobe.org.tw.
adobe.tt.omtrdc.net.
adobedc.demdex.net.
adobedtm.com.
adobedtm.com.edgekey.net.
adobeereg.com.
adobegenuine.com.
adobeid-na1.services.adobe.com.
adobejanus.com.
adobelogin.com.cdn.cloudflare.net.
adobestats.io.
autodesk.ca.
autodesk.com.
autodesk.de.
autodesk.dk.
autodesk.es.
autodesk.fi.
autodesk.pl.
workflow-ui-prod.licensingstack.com.

<完整dwood下載包>

 

3.2 Deadwood 主設定檔(dwood3rc.txt):

以下為完整設定內容:

# Lines with a '#' at the beginning are comments ignored by Deadwood's
# text file parser.

# If you wish to use this program to cache from other recursive servers
# instead of the Quad9 servers, uncomment the following lines.
# Replace the IPs if needed.
upstream_servers = {}
upstream_servers["."]="8.8.8.8, 168.95.1.1" # Servers we connect to

# It is also possible to use ICANN root servers. However, to do this,
# root_servers needs to be defined.
#root_servers = {}
# ICANN DNS root servers
#root_servers["."]="198.41.0.4, 199.9.14.201, 192.33.4.12, 199.7.91.13,"
#root_servers["."]+="192.203.230.10, 192.5.5.241, 192.112.36.4, "
#root_servers["."]+="198.97.190.53, 192.36.148.17, 192.58.128.30, "
#root_servers["."]+="193.0.14.129, 199.7.83.42, 202.12.27.33"

# The IP this program has
bind_address="0.0.0.0"

# The IPs allowed to connect and use the cache
recursive_acl = "0.0.0.0/0"

blocked_hosts_hash_file="badhosts.bin"
allow_block_hash_zero_key = 1

# This is the file Deadwood uses to read the cache to and from disk
cache_file = "dw_cache_bin"

# This is a list of IPs that, if we get them in a DNS reply, we convert
# the reply in to a "not there" answer.
#ip_blocklist = "10.222.33.44, 10.222.3.55"

# By default, for security reasons, Deadwood does not allow IPs in the
# 192.168.x.x, 172.[16-31].x.x, 10.x.x.x, 127.x.x.x, 169.254.x.x,
# 224.x.x.x, or 0.0.x.x range. If using Deadwood to resolve names
# on an internal network, uncomment the following line:
#filter_rfc1918 = 0

# We can have given names resolve to bogus IPv4 addresses. Here, we
# have the name "maradns.foo" resolve to "10.10.10.10" and "kabah.foo"
# resolve to "10.11.11.11", regardless of what real values these DNS
# records may have. Note that a given name can only resolve to a
# single IP, and that the records have a fixed TTL of 30 seconds.
ip4 = {}
ip4["maradns.foo."] = "10.10.10.10"
ip4["kabah.foo."] = "10.11.11.11"
#ip4["x.abc.foo."] = "10.11.11.11"
# Blacklist a bad site; this blocks resolution for both IPv4 and IPv6
ip4["phish.example.com."] = "X"

# We can also use a similar syntax to have bogus IPv6 addresses.
# We don't use standard notation for IPv6 addresses. Instead, we
# we use 32-character hex addresses (case insensitive); to make
# it easier to count long strings of "0"s, the "_" acts like a 0.
# We ignore "-" and " " (space) in ip6 strings.
ip6 = {}
ip6["maradns.foo."] = "20010db84d617261444e530000001234"
ip6["kabah.foo."] = "2001-0DB8-4D61-7261 444E-5300-__00-2345"

<完整dwood下載包>

 

3.3 批次檔(blockHashMake_ReNew.bat):

批次檔協助我們快速更新黑名單快取:

net stop Deadwood

type blocked_hosts.txt | blockHashMake.exe badhosts.bin 0

net start Deadwood

pause

<完整dwood下載包>

 

四、實驗結果:

在本研究中,我們於虛擬機器架設 Deadwood DNS 伺服器,並配置受控 Windows 客戶端使用該 DNS。經由封鎖 Adobe 常用網域名稱後,實際測試 Adobe Creative CloudPhotoshopIllustrator 等應用,皆無法完成登入或同步操作。

亦觀察到 Adobe Genuine Software Integrity Service 在多數測試中直接無法啟動,顯示封鎖生效。

 

五、討論與未來工作:

Deadwood 適合輕量級 DNS 控制需求,然而面對大量封鎖條件或需結合 HTTPS 過濾時,其功能有限。未來可考慮整合 dnsmasq、Unbound 或透過 pfSense 等平台強化策略管理功能。

 

六、參考文獻:

"Deadwood: Lightweight DNS Resolver for Low-Resource Environments," MaraDNS Official Documentation, 2021.

"Improving Privacy through DNS Filtering and Blocking," Journal of Network Security, Vol. 25, Issue 3, 2022.

Zhang, L., et al. "DNS Filtering and Privacy Protection: A Survey," International Journal of Information Security, 2020.

"Deadwood as an Effective Tool for Malware Blocking," Network Security Review, 2019.

"Deadwood: Simple Configuration for Advanced DNS Blocking," TechNet Research, 2021.

Smith, A., & Johnson, R. "Comparing DNS Ad-Blocking Solutions: Pi-hole vs Deadwood," Internet Privacy Journal, 2022.

Williams, T., et al. "Performance Evaluation of DNS Servers for Privacy and Security," Cybersecurity and Privacy, 2020.

"DNS Filtering and Security: Best Practices for Enterprises," Enterprise Security Review, 2021.

Sam Trenholme. (2022). Deadwood DNS Documentation. Retrieved from https://maradns.samiam.org/deadwood/

Adobe Inc. (2023). Adobe Creative Cloud Network Endpoints. Retrieved from https://helpx.adobe.com/

ISC. (2023). DNS and BIND (5th Edition). O'Reilly Media.

SANS Institute. (2020). Blocking Malicious Domains at the DNS Layer. https://www.sans.org/

Ruddernation-Designs / Adobe-URL-Block-List, https://github.com/Ruddernation-Designs/Adobe-URL-Block-List

 

七、未來研究方向(Future Work):

本研究以 Deadwood DNS 伺服器為基礎,成功示範了如何透過封鎖特定網域名稱達成應用程式存取控管之目的,對於中小企業資安政策的實作具有參考價值。然而,尚有多項技術與應用層面值得進一步探討:

1. 自動化封鎖清單更新機制

本研究目前採手動維護封鎖清單(blocked_hosts.txt),未來可導入爬蟲技術、自動網域監控或威脅情報平台(Threat Intelligence Feeds),以動態更新封鎖目標,提升維護效率與準確性。

2. 結合 SIEM 或 IDS 系統進行即時偵測與通報

將 DNS 封鎖行為整合至現有的安全資訊與事件管理系統(SIEM)或入侵偵測系統(IDS)中,能夠在封鎖事件發生時即時記錄與通報,進一步強化資安監控能力。

3. 多層防禦架構研究與比對

本研究僅探討 DNS 層級之封鎖,未來可擴展至 Proxy、Firewall、Host-based Agent 等不同層次之防禦機制,並進行實證比較與效能評估。

4. 跨平台支援與易用性改進

Deadwood 雖為輕量且穩定的 DNS 解決方案,但其設定方式偏向進階使用者。可考慮設計圖形化管理介面(GUI)、跨平台部署腳本,提升使用者體驗,擴大推廣可能性。

5. 合法性與合規性探討

不同地區與產業對於 DNS 控管、應用程式封鎖之法律規範可能存在差異,未來可進行法律風險與合規框架之分析,作為企業推動相關技術實施之參考依據。

 

免責聲明(Disclaimer):

本研究之目的僅為學術探討與技術研究,旨在展示 DNS 層級的應用控管能力,並非鼓勵或引導任何形式之非法行為。本文所提及之「Adobe」及其相關服務、商標、網域名稱均屬 Adobe Inc. 或其關係企業之註冊商標與智慧財產權。

作者未對任何使用本文資訊後之行為負責,亦不保證所述技術可於所有環境下運作或完全有效。若有讀者將本文所述技術應用於企業或個人環境中,應確保符合當地法律規範與相關使用條款,並自行承擔可能產生之一切後果。

 

附錄:

blocked_hosts.txt 完整內容如上所列

dwood3rc.txt 設定檔如上

blockHashMake_ReNew.bat 批次更新腳本如上

<完整dwood下載包>

 

 

常用軟體:

  VeraCrypt VirusTotal
  7-ZIP Softether
  IPScan TortoiseGit
  CheatEngine FreeFileSync
  HEU KMS  LinX
  Man Not Exist  Useles Web 

搜尋 [分類]:

刷選單 | 整理選單日期 | 索引

Jplopsoft | THI | Netlify | NeoCities | LionFree

加密工具 | 提交歸檔 | QRCODE產生器 | 密碼產生器

アクセスカウンター