This post turns my containerized BIND 9.21 deployment notes into a step-by-step guide. To protect the real environment, all domains are anonymized as domainA and domainB, and public IPs are shown as examples (e.g., 203.0.113.0/24). Target Architecture Recommended Directory Layout Key points: put all K* key files + .state in /var/cache/bind/keys; keep managed-keys.bind* and *.mkeys*…
Category: DNS
About DNS
用 BIND 9.21 打造「內外分流 + DNSSEC」權威/遞迴混合 DNS:完整實戰筆記
本文將我在容器內部署 BIND 9.21 的完整過程整理成一篇教學。為保護實際環境,所有網域以 domainA、domainB 代稱,IP 也以示例地址(如 203.0.113.0/24)呈現。 目標架構 目錄佈局(建議) 重點:K* 金鑰與 .state 一律放 /var/cache/bind/keys;managed-keys.bind*、*.mkeys* 放 /var/cache/bind 根目錄;external 區檔放 /var/cache/bind/zones/ext。 關鍵設定片段 1) options:工作目錄、金鑰目錄、僅 IPv4 監聽 2) RNDC 控制通道(只綁 127.0.0.1) 如果容器外要下 rndc,要能讀到同一把 rndc.key,或在容器內執行。 3) internal view:內網權威 + 遞迴(不做 DNSSEC 驗證) 4) external view:對外權威(簽名),只對本機開遞迴+驗證供 KASP 使用 TSIG:請用 tsig-keygen -a hmac-sha256 xfr-key > /etc/bind/keys/xfr-key.key 產生,主從兩邊都 include,從伺服器 zone {…
Implementing a Shared Sinkhole Zone in BIND — and What to Know About DNSSEC
Author: Rico Wu | Topic: DNS Security & Infrastructure 1. Why Create a Sinkhole Zone? When reviewing your DNS logs, you might often see queries like: Some of these come from automated scanners or bots, and others are legitimate DNSSEC lookups.However, domains like wpad (Web Proxy Auto Discovery) can sometimes be abused for malicious purposes…
BIND 共用 Sinkhole Zone 實作與 DNSSEC 管理要點
作者:Rico Wu | 主題:DNS 防護實務 一、為什麼要建立 Sinkhole Zone? 在日常 DNS 維運中,我們經常會看到一些可疑查詢: 這些請求有些來自網際網路掃描,有些則是自動化偵測或 Bot 行為。其中 wpad(Web Proxy Auto Discovery)甚至可能被用於安全攻擊(WPAD 攻擊)。 若我們希望: 就可以透過「共用 Sinkhole Zone」的方式實作。 二、共用 Sinkhole Zone 設定範例 1️⃣ 建立共用區檔 檔名: 內容: 2️⃣ 在 named.conf 中引用 多個 zone 可共用同一個檔案: 這樣不論你要沉沒幾個子域,都可共用一份檔案,維護最簡單。 三、DNSSEC 的關聯與注意事項 DNSSEC 採用「信任鏈」的驗證機制。每一層的關係是: 這條鏈由 DS record(Delegation Signer)串起。 ✅ 若主域有 DNSSEC(如 nuface.tw) 你在 ISP / Registry…
The Many Potholes When Moving Webmail: Docker Networking, Reverse Proxy, iptables & DNS — A Complete Note
Symptoms & Clues Root Causes (Multiple) Quick Concept Recap Battle-Tested Diagnostic Commands Fix Steps (Pick What You Need) A) Minimal change: allow Container → Host in INPUT This was the actual unlock in this incident. Simple (what worked): Safer (choose one style): B) Make Docker auto-rules robust (long-term “right way”) C) rp_filter in multi-bridge/PPPoE Reverse…
把 webmail 搬家踩到的一路坑:Docker 網路、反向代理、iptables 與 DNS 的完整筆記
症狀與線索 問題根因(多重) 關鍵概念快速複習 最有用的診斷指令(直接抄) 修復步驟(可擇要) A) 最小變更:放行「容器 → 主機」的 INPUT 這是這次真正解鎖的一步。 簡易版(你採用的做法): 更精準(建議其一): B) 讓 Docker 自動規則恢復完整(長期正道) C) rp_filter 與多橋接/PPPoE 反向代理設定要點(兩種做法) 作法 1:主機 IP + 發布埠(不依賴容器名解析) wwwapp vhost: 配合上面的 INPUT 放行與 DOCKER nat 鏈中的 dpt:83 -> 172.24.x.y:8000 即可。 作法 2:把 wwwapp 接到 mail-network 這樣可用容器名: 避免了一層髮夾 DNAT,但需要你調整 wwwapp 的 network。 最後提供一份「乾淨可重複」的最小規則片段 前提:INPUT 預設 DROP;Docker 用 nft;其餘規則由…