Author: Rico WuEnvironment: OPNsense 25.x + Zenarmor + SuricataUse case: Enterprise internet access control & application-layer filtering 🧱 1. What Is Layer-7 Control? Traditional firewalls operate mainly at Layer-3 and Layer-4 — controlling traffic based on IP addresses, ports, and protocols.While effective for basic routing and NAT, they can’t tell what the traffic actually is….
Category: Linux
About Linux Tech
深度封包的力量:在 OPNsense 啟用 Layer 7(L7)應用層流量控制
作者: Rico Wu環境: OPNsense 25.x + Zenarmor + Suricata應用場景: 企業上網行為管理與應用層封包管控 🧱 一、什麼是 L7 流量控制? 一般防火牆主要運作在 L3(網路層)與 L4(傳輸層),也就是依據 IP、Port、通訊協定 來允許或阻擋流量。這樣能處理連線方向與基本安全,但無法辨識「應用內容」。 L7(Layer 7,應用層)防火牆 能深入檢視封包內容(DPI, Deep Packet Inspection),可根據實際應用類型進行控制,例如: 在企業網路環境中,L7 控制能大幅提升 安全性、效率與使用行為可視化。 ⚙️ 二、OPNsense 如何支援 L7? OPNsense 是基於 FreeBSD + pf 架構的防火牆,其中 pf 防火牆本身僅支援 L3/L4 控制。 但 OPNsense 可透過 插件與整合模組 實現 L7(應用層)控制,常用的三種方式如下: 模組 功能用途 L7 支援程度 備註 Zenarmor (原名…
Understanding “network unreachable resolving ‘./NS/IN’” Messages in BIND9
When managing a DNS server such as BIND9, you might notice repeated messages like these in your lame-servers.log or system log: At first glance, these may look like DNS errors.In reality, they are harmless IPv6 connectivity warnings, not signs of malfunction. 🔍 Why These Messages Appear When BIND performs recursive queries, it tries to contact…
BIND9 日誌出現「network unreachable resolving ‘./NS/IN’」的原因與解決方式
在管理 DNS 伺服器(如 BIND9)時,有時會在 lame-servers.log 或一般系統日誌中看到如下訊息: 乍看之下像是 DNS 出錯,但其實這些只是 IPv6 無法連線的提醒訊息,並不影響實際解析。 🔍 為什麼會出現這些訊息? BIND 在進行遞迴查詢時,會同時嘗試向根伺服器(Root DNS)查詢 IPv4 與 IPv6。如果你的伺服器或 Docker 容器 沒有啟用 IPv6 網路或沒有預設 IPv6 路由,BIND 嘗試連線到 IPv6 根伺服器(如 2001:500:1::53)時,就會出現: 👉 也就是說,它只是告訴你「IPv6 不通」,並不代表 DNS 功能異常。IPv4 解析仍然正常進行。 ✅ 解決方式(擇一) 方案 A:讓 BIND 僅使用 IPv4(最簡單) 如果你的環境暫時不使用 IPv6,可讓 BIND 啟動時加上 -4 參數。 範例:你原本的啟動腳本為 其中的 -4 位置錯了,應該改成放在 映像名稱之後,如下: 這樣…
Setting Up DNSSEC from Scratch: Building a Secure DNS Zone
In today’s internet infrastructure, DNSSEC (Domain Name System Security Extensions) plays a vital role in preventing forged or tampered DNS responses.This guide walks you step-by-step through creating a new DNS zone and enabling DNSSEC signing to ensure data integrity and trust. 1. What Is DNSSEC? DNSSEC adds cryptographic signatures to DNS records, allowing clients (resolvers)…
從零開始設定 DNSSEC:打造安全的 DNS Zone
在 DNS 架構中,DNSSEC (DNS Security Extensions) 能有效防止 DNS 資料被偽造或竄改。本文將一步步帶你完成一個新的 DNS 區域設定,並加入 DNSSEC 簽章,建立安全可信的名稱解析環境。 一、什麼是 DNSSEC? DNSSEC 透過「公開金鑰簽章」來保護 DNS 資料完整性。簡單來說,它會讓查詢者能驗證 DNS 回應是否真的來自授權的 DNS 伺服器,而不是中途被竄改。 主要機制包含: 二、建立新區域前的準備 三、建立新的 Zone 檔案 建立 /etc/bind/db.example.com,內容如下: 四、在 BIND 設定中加入 Zone 編輯 /etc/bind/named.conf.local: auto-dnssec maintain 與 inline-signing yes 會讓 BIND 自動處理簽章與金鑰輪換。 五、產生 DNSSEC 金鑰 在金鑰目錄(例如 /etc/bind/keys/)中執行: 系統會產生四個檔案: 六、簽署 Zone 重新載入 BIND 讓它執行自動簽章:…
Building a Split-Horizon + DNSSEC Authoritative/Recursive DNS with BIND 9.21
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*…
用 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…