2018年2月28日 星期三

如何在 Nano Server 中安裝 DNS Server

1. 在 Nano Server中安裝 DNS Server之前, 先確認在建立 Nano Server Image檔時有將 Microsoft-NanoServer-DNS-Package這個套件加入, 否則將無法安裝 DNS Server, 另外, 最好先將 Nano Server加入網域中, 以方便後面操作w-studio.idv.tw

2. 於 AD Server上, 輸入指令 Get-WindowsFeature查詢 Nano Server上安裝的角色功能, 此時雖有安裝 DNS Serveer, 但是尚未啟用

2018年2月24日 星期六

實作DNSSEC區域簽署

1. 開啟 DNS管理員, 查看正向對應區域的 DNSSEC為未簽署狀態
w-studio.idv.tw
2. 首先查看網域內容, SOA主要伺服器輸入完整FQDN

DNS安全性-DNSSEC詳談

DNS的原始設計不包含任何安全細節, 相反的它被設計成一個可擴增的分散式系統(Distributed system). 域名系統安全擴展(DNSSEC, Domain Name System Security Extensions)嘗試在其中添加安全性, 同時仍保持向下相容性. RFC 3833記錄了 DNS的一些已知威脅以及 DNSSEC如何應對這些威脅

DNSSEC旨在保護應用程式(以及服務這些應用程式的快取解析器)免受偽造或不當操縱的 DNS數據所造成的影響(例如域名伺服器快取污染的數據), 來自 DNSSEC保護區的所有回應都經過數位簽章. 通過檢驗數位簽章, DNS解析器可以核查資訊是否與區域所有者發布的資訊相同(未修改和完整), 並確認此為實際負責的 DNS伺服器所提供, 雖然保護IP位址的正確性是許多使用者關注DNSSEC的直接課題, DNSSEC還可以保護 DNS中發布的其他任何數據: 包括文字記錄(TXT)和郵件交換記錄(MX), 並可用於引導發布參照儲存在 DNS中的加密憑證的其他安全系統: 例如憑證記錄(CERT記錄,RFC 4398), SSH指紋(SSHFP,RFC 4255), IPSec公鑰(IPSECKEY,RFC 4025)和TLS信任錨(TLSA,RFC 6698)w-studio.idv.tw

以上摘自維基百科: 域名系統安全擴充


DNSSEC是用來防止 DNS查詢回應的攔截和篡改攻擊, 如果駭客更改來自 DNS伺服器的回應或者將欺騙性的回應發送給用戶端電腦轉向到他們假的伺服器, 他們就可以存取敏感資訊, 任何依賴 DNS 進行初始連接的服務(例如電子商務網站伺服器和電子郵件伺服器)都容易受到攻擊, DNSSEC用來保護進行 DNS查詢的用戶端不接受錯誤的 DNS回應

當託管數位簽章區域的 DNS伺服器收到查詢時, 伺服器會傳回數位簽章以及請求的記錄, 解析器(resolver)或其他伺服器可以從信賴起點(Trust Anchors)取得公開金鑰, 然後驗證回應是否真實且未被篡改, 解析器或伺服器必須為簽署區域或簽署區域的父級設定信賴起點

Trust anchors:
信賴起點(trust anchors)是由公開金鑰表示的權威實體, TrustAnchors區域儲存特定區域關聯的預先配置公開金鑰, 在 DNS中信賴起點是 DNSKEY 或 DS 資源記錄, 用戶端電腦使用這些記錄來建立信賴鏈(trust chains), 必須從每個網域 DNS伺服器上的區域設定信賴起點以驗證來自該簽章區域的回應, 如果 DNS伺服器是網域控制站則 Active Directory 整合區域可以發布信賴起點
w-studio.idv.tw
NRPT(Name Resolution Policy Table):
NRPT包含控制用於發送 DNS查詢和處理來自這些查詢回應的 DNS用戶端行為的規則, 例如 DNSSEC規則促使用戶端電腦檢查對特定 DNS網域尾碼的回應驗證, 群組原則是設定 NRPT的最佳方法, 如果沒有 NRPT則用戶端電腦只接受回應而不會驗證它們w-studio.idv.tw

4種 DNS加密記錄: DNSKEY、DS、RRSIGN、NSEC/NSEC3/NSEC3RARAM
資源紀錄 目的
DNSKEY: 此記錄發布該區域的公開金鑰, 它根據 DNS伺服器持有的私鑰檢查回應的權限, 這些密鑰需要透過密鑰輪詢定期更換, Windows Server 2016 支援自動密鑰輪詢, 每個區域都有多個 DNSKEY, 然後分解為 ZSK 和 KSK 級別
DS(Delegation Signer): 此記錄是包含子區域公鑰雜湊的託管記錄, 由父區域的私鑰簽署, 如果已簽署父區域的子區域也被簽署, 則必須手動將子區域的 DS 記錄加到父區域以便可以建立信賴鏈w-studio.idv.tw
RRSIG(Resource Record Signature): 此記錄包含一組 DNS記錄的簽章, 它用於檢查回應的權限
NSEC(Next Secure): 當 DNS回應沒有資料提供給用戶端時, 則該記錄驗證主機不存在
NSEC3: 該記錄是 NSEC記錄的雜湊版本, 透過列舉區域來防止攻擊

2018年2月23日 星期五

一些 DNS安全性(DNS security)相關實作方式

。DNS快取鎖定(DNS cache locking):
快取鎖定是 Windows Server 2016的一項安全功能, 可用於控制覆寫 DNS快取中的資訊, 當遞迴 DNS伺服器回應查詢時, 伺服器會暫存結果以便在收到另一個請求相同資訊的查詢時能夠快速回應, DNS伺服器在快取中保存資訊的時間由資源記錄的 TTL值決定, 如果收到有關該資源記錄的更新資訊則可以在 TTL 到期之前覆寫快取中的資訊, 如果惡意的使用者成功覆寫快取中的資訊則可能能將你重新導向到惡意站點, 如果使用快取鎖定, DNS伺服器會在 TTL值的持續時間內禁止快取記錄被覆寫w-studio.idv.tw

快取鎖定的設定為百分比值, 如果快取鎖定值設定為 50, 則 DNS伺服器在 TTL 持續時間的一半內不會覆寫快取, 預設快取鎖定百分比值為 100, 這表示快取在 TTL 的整個持續時間內不會被覆寫w-studio.idv.tw
使用指令: dnscmd /Config /CacheLockingPercent [percent]w-studio.idv.tw
Powershell: Set-DnsServerCache –LockingPercent [value]
w-studio.idv.tw

試作DNS原則(DNS policies)

1. 開啟 DNS Server中的 DNS管理員, 並新增一筆 www 的別名(CNAME)資源記錄
w-studio.idv.tw
2. 新增一筆 www 的別名(CNAME)資源記錄

DNS原則(DNS policies)

DNS原則(DNS policies)是 Windows Server 2016中 DNS的一項新功能

DNS伺服器使用 DNS原則根據不同因素處理查詢的方式來操作, 例如新增一個 DNS原則來回應請求 Web伺服器的 IP位址查詢, 以便根據離用戶端最近的伺服器使用不同的 IP位址進行回應, 這與用子網路遮罩重新排序不同, 因為用戶端不會與 Web伺服器具有相同的本地端子網位址, 用戶端只是連線到距離最近的 Web伺服器

幾個使用 DNS原則時機:
應用程式高可用性: 用戶端被重導向到應用程式最佳的目標, 其中最佳的目標由容錯移轉叢集中的高可用性因素決定w-studio.idv.tw
流量管理: 用戶端被重導向到最近的資料中心或伺服器位置
分割DNS: 用戶端根據其是內部或外部網路來接收回應, 並且 DNS記錄被分成不同的區域範圍
過濾: 如果 DNS查詢是來自惡意 IP位址或 FQDN清單則會被阻擋
鑑識: 惡意 DNS用戶端被重導向到一個 DNS黑洞, 而不是他們試圖連線的電腦
基於時間的重新導向: 根據一天中的不同時間將用戶端重導向到不同資料中心(伺服器)
w-studio.idv.tw
DNS原則物件:
用戶端子網路(Client subnet): 在建立子網路後根據查詢的子網路定義應用的原則, 例如在分割 DNS環境中, 內部用戶對 www.aaa.com 的名稱解析查詢可以透過內部 IP位址來回應, 外部用戶則用不同 IP位址來回應w-studio.idv.tw
遞迴範圍(Recursion scope): DNS伺服器可以有多個遞迴範圍, 可以使用 DNS伺服器遞迴原則為給定的一組查詢選擇遞迴範圍, 如果 DNS伺服器對某些查詢不具有權威性, 則 DNS伺服器遞迴原則可讓你控制如何解析這些查詢, 在這種情況下可以指定使用哪些轉寄站以及是否使用遞迴w-studio.idv.tw
區域範圍(Zone scope): DNS區域可以有多個區域範圍, 每個區域範圍都可以包含自己的一組 DNS資源記錄, 相同的資源記錄根據範圍具有不同的 IP位址可以存在於多個範圍中, 區域傳輸可以在區域範圍級別完成, 這將允許將主要區域中區域範圍的資源記錄傳輸到次要區域中的相同區域範圍
w-studio.idv.tw
建立及管理DNS原則:
現在只能使用 PowerShell 指令來建立及管理 DNS原則, 
例: Add-DnsServerQueryResolutionPolicy

2018年2月22日 星期四

幾個分割DNS (Split DNS)實作方式

1. 相同的命名空間:
。內部及外部電腦使用相同的網域名稱, 外部不可存取內部 DNS記錄
。需要在內部和外部 DNS之間做記錄同步化
。管理者需手動設定共同使用電腦名稱(伺服器)的內外部 DNS資源記錄
。內部需建立樹根網域的條件轉寄
w-studio.idv.tw
2. 唯一命名空間(Unique namespace):
。不需要記錄同步化
。現存的 DNS基礎架構不受影響
。清楚的劃分內部和外部 DNS, 內部不需建立樹根網域的條件轉寄
。此方式會導致網域名稱過長, 較適合只有樹系根網域的網域環境或有子網域環境
w-studio.idv.tw
3. 子網域(Subdomain):
。內外部電腦能明確分辨是對內還是對外網域的電腦存取
。不需要記錄同步化
。連續的命名空間容易被了解
。管理者需手動設定共同使用電腦名稱(伺服器)的內外部 DNS資源記錄
。內部需建立樹根網域的條件轉寄

分割DNS (Split DNS)

分割 DNS(Split DNS)或稱為裂腦 DNS(split-brain DNS), 官方教材寫了一大堆敘述, 簡單來說就是在對外網路防火牆內及內部網路防火牆內各設置具有同樣網域名稱的 DNS Server, 而內部網路的 DNS Server是使用整合 AD的 DNS. 此目的在於外部網路無法查詢內部 DNS資源記錄及 ADDS資訊, 而內部用戶端設定使用整合 AD的 DNS Server, 所有 DNS查詢都只發送到這些 DNS Server, 如果需要查詢外部名稱解析時, 則整合 AD的 DNS Server會將這些請求轉發到面向外部網路的 DNS Server, 面向外部網路的 DNS Server區域中的所有記錄都是手動建立, 僅包含其自身和需要從網際網路訪問的其他伺服器的記錄.w-studio.idv.tw

Split DNS 簡圖


2018年2月21日 星期三

DNS Server上設定 GlobalNames zone

1. 開啟伺服器管理員的 DNS管理員, 在伺服器的正向對應區域中新增一個區域

2. 開始新增區域精靈

全域名稱區域 GlobalNames zone

在舊版的 Windows系統中, 為了使用簡單的單一標籤名稱(如電腦名稱)來解析類似於使用 DNS網域名稱系統解析完整網域名稱(FQDN), 使用 Windows網際網路名稱服務(WINS)技術, 這是一種使用 NetBIOS over TCP/IP(NetBT)的舊版服務, 因為 WINS 與 NetBT 不支援 IPv6, 所以漸漸的被淘汰使用w-studio.idv.tw

GlobalNames 區域是 DNS伺服器的特殊命名區域的一種, 它們不支援動態記錄註冊所以要手動建立, 在多個 DNS網域環境中解析名稱使用 GlobalNames區域來維護 DNS尾碼列表, 當用戶端嘗試解析簡短(標籤)名稱時, 它們會自動附加其網域名稱(例如: 電腦名稱+網域名稱), 根據設定也會在上層網域中尋找名稱或通過其名稱尾碼列表進行解析, 例如組織中支援兩個網域時(例如 aaa.com 和 bbb.com), aaa.com 網域中的用戶需要使用 FQDN(例如 host.bbb.com)來定位 bbb.com 中的主機, 否則管理員需要在 aaa.com 網域中的所有設備上新增 bbb.com 的 DNS尾碼, GlobalNames 是基於使用單一名稱指向 FQDN 的特殊正向對應區域中的別名(CNAME)資源記錄, 例如 GlobalNames區域將使 aaa.com 網域和 bbb.com 網域中的用戶端能夠使用單一標籤名稱(例如host)來定位 FQDN 為 host.bbb.com 的主機而無需使用 FQDNw-studio.idv.tw

用戶端可在網路卡內容中設定 DNS 尾碼

2018年2月20日 星期二

根目錄提示 (root hints)

root hints 根目錄提示

根目錄提示是網際網路上 13個 FQDN的列表, 如果 DNS伺服器無法使用自己的區域資料、DNS轉寄站或自己的快取去解析 DNS查詢, 則會使用這些 FQDN列表, 根目錄提示列出了 DNS層次結構中的最高層伺服器, 並且可以為 DNS伺服器提供必要的資訊以便對 DNS命名空間的下一層執行反覆查詢w-studio.idv.tw

安裝 DNS角色時會自動安裝根伺服器, 是從 DNS角色設置檔案中的 cache.dns 中複製, 我們也可以在 DNS伺服器新增根目錄提示, 以支援在樹系中找尋非連續網域

當 DNS伺服器與根目錄提示伺服器溝通時, 它僅使用反覆查詢, 要將伺服器設置為僅對轉寄站使用遞迴查詢則在 DNS伺服器「內容」視窗上的轉寄站標籤內設定, 如果要停用所有反覆查詢則取消勾選轉寄站標籤內的「如果沒有可用的轉寄站, 則使用根目錄提示」選項, 如果將伺服器設置為僅使用轉寄站並停用根目錄提示, 則會嘗試向轉寄伺服器發送遞迴查詢, 如果轉寄伺服器沒有回應這個查詢, 則第一個伺服器會回應找不到主機w-studio.idv.tw


另外 IANA 發布的 IPV6根目錄提示已新增到 Windows Server 2016 DNS, 網際網路名稱查詢現在可以使用 IPv6 根目錄伺服器來執行名稱解析

DNS名稱解析的進階設定


。DNS round robin (DNS循環配置資源)
DNS區域可以包含許多記錄和不同類型的記錄, 這些記錄代表主機名、別名、服務定位器、郵件交換器和其他專用記錄的 IP位址, 電腦可以在不同的網路卡上擁有多個 IP位址, 或者多個 IP位址可以綁定到同一個網路卡, 在這種情況下電腦的主機名將不會解析為一個 IP 位址而是兩個或更多, 具體取決於它擁有的 IP位址數量, 這些位址都在 DNS正向對應區域中具有主機資源記錄
w-studio.idv.tw
DNS循環功能性的決定為所設定名稱傳回哪些 IP位址, 此功能傳回設定名稱的所有 IP位址的列表, 然後針對來自唯一來源的每個 DNS查詢在列表中替換 IP 位址, 如果 DNS每次都以不同的 IP回應同一個請求者, 快取的效率會降低, 例如如果有多個具有相同內容的 Web Server, 並且希望對發送給它們的 HTTP GET 命令進行負載平衡, 則需要為每個具有相同名稱的 Web Server 建立一個 (A) 資源記錄
例如:

DNS動態更新

DNS動態更新是即時更新, 對於更改位置的 DNS 用戶端很重要, 因為可以在無需人為干預的情況下動態註冊和更新其資源記錄, 無論用戶端的 IP 位址是從 DHCP 伺服器分發的或是固定的, DHCP 用戶端服務都會執行註冊

註冊發生在以下事件期間:
• 用戶端啟動時, DHCP 用戶端服務啟動
• 在任何網路連接上設定、新增或更改 IP 位址時
• 當管理者執行 PowerShell 指令 Register-DNSClient 或在命令提示列下執行 ipconfig /registerdns 時

動態更新的過程:
1. 用戶端傳送一個 SOA 查詢
2. DNS 伺服器傳回一個 SOA 資源記錄
3. 用戶端傳送動態更新要求去識別主要 DNS 伺服器
4. DNS 伺服器回覆它可以執行更新
5. 用戶端傳送非安全的更新給 DNS 伺服器
6. 如果區域只允許安全的更新, 這個更新就會被拒絕
7. 用戶端傳送安全的更新給 DNS 伺服器

2018年2月19日 星期一

DNS 在 ADDS 中的應用程式分割

DNS 安裝過程會建立兩個預設應用程式分割: DomainDNSzones 應用程式分割和 ForestDNSzones 應用程式分割, 網域中安裝了 DNS 服務的網域控制站會自動接收 DomainDNSzones 應用程式分割的副本, 樹系中(forest)的所有網域控制站都會收到 ForestDNSzones 應用程式分割的副本, 但是如果在環境中執行了 DNS 並且將現有的 DNS 伺服器用於 ADDS, 則 Active Directory 安裝將不會建立預設應用程式分割
Application partitions in ADDS

w-studio.idv.tw

整合Active Directory 的區域

單點的主要區域伺服器如果故障, 因為次要區域伺服器是唯讀的, 它們可以解析名稱但不能儲存其他記錄或接受對記錄的修改

我們可以透過將 DNS 區域整合到 ADDS 來使其具有容錯能力, 使 DNS 區域成為 ADDS 整合區域, 如果 DNS 伺服器是網域控制站, 則 DNS 伺服器可以將區域資料儲存在 ADDS 資料庫中, 當 DNS 伺服器以這種方式儲存區域資料時, 區域檔案中的記錄被儲存為 ADDS 物件, 這些物件的各種屬性都被視為 ADDS 屬性, 在 ADDS 資料庫中託管 DNS 區域的所有網域控制站都被視為該區域的主要區域伺服器, 它們可以接受對 DNS 區域的修改,然後將這些修改複製到其他網域控制站, 由於 DNS 區域信息傳輸使用 ADDS 複製, 因此每個修改都經由加密複製安全傳送, 當具有 Active Directory 整合 DNS 區域的網域控制站出現故障時, 如果有其他具有 Active Directory 整合區域的網域控制站, 該區域和網域的 DNS 功能將繼續正常運行
w-studio.idv.tw
如果 DNS 伺服器是 ADDS 網域控制站, 則 DNS 伺服器可以將區域資料儲存在 ADDS 資料庫中, 當 DNS 伺服器以這種方式儲存區域資料時, 這會建立一個 Active Directory 整合區域
w-studio.idv.tw
整合Active Directory 區域的優點:
  • 多重主要更新: 與只能由單一主要伺服器修改的標準主要區域不同, Active Directory 整合區域可以由該區域複製到的任何可寫入網域控制站寫入, 這會在 DNS 基礎架構中建立冗餘, 多重主要更新在使用動態更新區域並具有地理分佈的位置的組織中尤為重要, 用戶端可以更新其 DNS 記錄, 且無需連接到可能在地理上距離較遠的主要伺服器
  • 使用 ADDS 複製來複製 DNS 區域資料: Active Directory 複製的特徵之一是屬性級複製, 其中僅複製更改的屬性, Active Directory 整合區域可以避免像在傳統 DNS 區域傳輸模型中那樣複製整個區域檔案w-studio.idv.tw
  • 安全的動態更新: Active Directory 整合區域可以強制實施安全的動態更新
  • 詳細的安全性: 與其他 Active Directory 物件一樣, Active Directory 整合區域能夠透過修改區域上的存取控制列表 (ACL) 來委派區域、網域和資源記錄的管理

用戶端定位網域控制站的過程

定位網域控制站的過程:
1. 新用戶端查詢網域中的所有網域控制站: 新的網域用戶端重新啟動時, 它將從 DHCP伺服器接收 IP位址並向該網域進行身份驗證, 但是用戶端不知道在哪裡可以找到網域控制站, 因此用戶端透過查詢 _tcp文件夾來查詢網域控制站, 該文件夾包含該網域中所有網域控制站的 SRV記錄
w-studio.idv.tw
2. 用戶端依序嘗試對所有網域控制站執行 LDAP ping: DNS傳回所有符合的網域控制站中的列表, 用戶端在首次啟動時嘗試與它們聯繫

3. 第一個網域控制站做出回應: 第一個回應用戶端的網域控制站檢查用戶端的 IP位址, 將該位址與子網對象進行交叉參考, 並將用戶端所屬的站點通知用戶端, 用戶端將站點名稱儲存在其註冊表中, 然後在特定站點的 _tcp文件夾中查詢網域控制站

4. 用戶端查詢站點中的所有網域控制站: DNS傳回站點中所有網域控制站的列表
w-studio.idv.tw
5. 用戶端嘗試依序對站點中的所有網域控制站執行 LDAP ping: 首先回應的網域控制站對用戶端進行身份驗證

6. 用戶端形成親緣關係: 用戶端與首先回應的網域控制站形成親緣關係, 然後在之後嘗試與同一網域控制站進行身份驗證, 如果網域控制站不能用, 用戶端將再次查詢站點的_tcp文件夾, 並再次嘗試跟首先回應站點的網域控制站綁定w-studio.idv.tw


如果用戶端移動到另一個站點, 則用戶端將嘗試對其首選的網域控制站進行身份驗證, 網域控制站會注意到用戶端的IP位址與其他站點相關聯, 然後將用戶端引至新站點, 然後用戶端會查詢 DNS 以獲取本地站點中的網域控制站, 以查詢其新站點的特定 SRV記錄, 如果要在沒有網域控制站的站點中控制身份驗證, 也可以手動設定站點覆蓋範圍和SRV記錄優先等級

SRV(服務資源定位記錄)的優點

  • 網域控制站藉由服務和站點位置來動態註冊SRV資源記錄
  • 在嘗試跨廣域網路連接到其他網域控制站之前, 站點中的用戶端系統使用站點中記錄的SRV資源記錄, 在其自己的站點中查找網域控制站
  • 保持跨鏈接的網路流量減量並進行管理

SRV記錄用於定位服務, 例如網域控制站和郵件伺服器以及整合SRV記錄和ADDS站點, 建立站點的主要原因之一是要確保用戶端先根據其本地網域控制站(而不是網域中的任何網域控制站)進行身份驗證, SRV記錄可以辨識網域控制站所在的特定站點

將Windows系統用戶端加入網域然後重新啟動它時, 用戶端將完成網域控制站的位置和註冊過程, 此註冊過程的目標是根據IP子網資訊找到最有效能最接近用戶端位置的網域控制站

2018年2月18日 星期日

什麼是SRV資源記錄(Service Resource Locator records服務資源定位記錄)

將網域控制站(DC)新增到網域時, 網域控制站透過在 DNS 中建立 SRV資源記錄(或稱定位記錄)來通告其服務, 此與將主機名映射到IP位址的主機(A)資源記錄不同, SRV記錄是將服務映射到主機名, 例如為了發布其提供身份驗證和目錄訪問的能力, 網域控制站註冊 Kerberos v5 協定和輕量型目錄訪問協定(LDAP) SRV記錄, 這些 SRV記錄將添加到樹系的 DNS區域內的幾個文件夾中
w-studio.idv.tw
例如在網域中名為 name_tcp 的文件夾包含該網域中所有網域控制站的 SRV記錄, 另外在網域中還有一個名為 name_sites 的文件夾, 其中包含網域中設定的每個站點的子文件夾. 每個特定站點的文件夾都包含 SRV記錄, 這些記錄代表站點中可用的服務, 像是如果網域控制站位於站點中, 則 SRV記錄將位於路徑 _sites\sitename\_tcp 中, 其中 sitename 是站點的名稱

DNS和ADDS整合

DNS 和 ADDS 的整合是因為所有用戶端和伺服器都使用DNS來定位網域控制站, 以便使用者可以登錄到網域並使用 ADDS 服務, 電腦透過使用以下記錄來定位網域控制站和服務:
。主機(A)資源記錄: 主機(A)資源記錄包含網域控制站的FQDN和IP位址
。SRV資源記錄: SRV資源記錄包含網域控制站的FQDN和網域控制站提供的服務的名稱

當安裝ADDS網域控制站時, DNS會自動安裝, ADDS 和 DNS 的整合會要求計劃DNS和ADDS的設計, DNS伺服器的數量和位置會造成ADDS的功能和性能極大影響

安裝ADDS之後, 在新的網域控制站上操作DNS伺服器時, 可以使用以下方法之一來儲存和復制DNS區域資料:
。使用文字檔案進行標準(主要)區域儲存
。使用Active Directory資料庫的目錄整合區域儲存

2018年2月17日 星期六

從 Web Log 學習系統漏洞 4

最近又有新的入侵狀況, 查了一下估狗大神, 應該是 NAS 上面的漏洞

WebDAV (Web-based Distributed Authoring and Versioning), 是一個HTTP(S)的延伸通訊協定, 讓你的網頁伺服器成為一個標準的網路磁碟. 在WebDAV的支援下, NAS使用者將可以用HTTP(S)的協定來遠端讀寫網路磁碟

186.95.81.73 - - [15/Feb/2018:20:21:09 +0800] "GET / HTTP/1.0" 200 1527
186.95.81.73 - - [15/Feb/2018:20:21:20 +0800] "GET /webdav HTTP/1.0" 404 204
186.95.81.73 - - [15/Feb/2018:20:22:11 +0800] "GET / HTTP/1.0" 200 1527
186.95.81.73 - - [15/Feb/2018:20:22:12 +0800] "GET / HTTP/1.0" 200 1527
92.30.47.173 - - [16/Feb/2018:13:34:43 +0800] "GET / HTTP/1.0" 200 1527

Windows Server 2016 上的 DNS Server 與 ADDS 整合

延續之前的設定, 再將 Server1 安裝 ADDS 來做整合(使用 Server2 或 Server3 都可)
ADDS and DNS integration

1. 首先將 Server1 網路設定中的 DNS Server 設定為原始 ADDS Server 的 IP, 不然使用 Server 1 的 IP 時後面安裝 ADDS 時會有問題

2. Server1 安裝 ADDS 之前查看一下 DNS 設定, wey.com 區域(網域)是設定在條件轉寄站這裡

2018年2月15日 星期四

實作 DNS 委派 (delegation) 設定及測試

本練習使用 Windows Server 2016, 延續之前練習 DNS 轉寄時的主機設定, 多增加一台 Server 2 的 VM

1. 開啟 DNS 管理員, 於 Server3 中的原本正向對應區域的網域項目上按下滑鼠右鍵, 再按下新增網域, 此處所新增的為子網域

2. 輸入新的網域名稱, 我以TPE(台北)做為新的子網域名稱

DNS 委派 (Delegation)

(上圖是這次DNS委派練習的大略架構, 並不是準確的示意圖)

DNS是一個分層系統, 可因實際需求再細分成許多子網域, 上層的網域可以將其分出的某個子網域的域名與 IP 交由另一部機器管理, 區域委派指向下一級層次結構, 然後標識負責較低級區域的名稱伺服器

在決定是否劃分DNS名稱空間以新增其他區域時, 考慮以下情況:
。需要將部分DNS名稱空間的管理委派給另一個組織位置或部門
。需要將一個大區域劃分為較小的區域, 以便可以在多台伺服器之間分配流量負載, 如此可以提高DNS名稱解析的性能, 並建立一個更加容錯的DNS環境
。需要通過立即增加多個子網域來擴展名稱空間, 以適應新的分支或站點

設定 DNS 區域轉送(Zone transfers)及次要區域(Secondary Zone)

建立次要區域(Secondary Zone)之前, 要先將主要區域(Primary Zone)設定區域轉送(Zone transfers), 如此主要區域的區域記錄才能授權傳送到次要區域

1. 將主要區域DNS(Server3)的正向對應區域的區域(網域)按下滑鼠右鍵, 再按內容

2. 選擇「區域轉送」標籤, 勾選允許區域轉送後, 有三種區域轉送的選項, 第一種任何伺服器可能會造成主要區域伺服器的負擔及安全問題, 通常選擇第二及第三種來限制特定伺服器才能將區域轉送, 先說明第二種列在名稱伺服器的伺服器

2018年2月14日 星期三

設定 DNS 條件轉寄(Conditional Forwarding)

設定條件式轉寄站(Conditional Forwarding):

1. 在條件式轉寄站按下滑鼠右鍵, 再按新條件式轉寄站

2. 輸入 DNS 網域及主要伺服器 IP 位址, 再按下確定

設定 DNS 虛設常式區域(Stub Zone)

建立虛設常式區域(Stub Zone):

1. 在正向對應區域按下滑鼠右鍵, 再按新增區域

2. 準備建立新的DNS區域

設定 DNS 轉寄站(Forwarder)

設定轉寄站(Forwarder): 之前提到轉寄站是一台 DNS 伺服器, 被設計用來解析外部或站台外面的 DNS 網域名稱, 當 DNS 伺服器將無法解析的查詢轉寄給網路上 DNS 伺服器時, 會將其指定為轉寄站, 藉由使用轉寄站可以管理網路外部名稱的名稱解析, 例如 Internet 上的名稱並提高網路的名稱解析效率

1. 指定某 DNS Server (Server1)來作為轉寄站, 首先將其網路設定中的DNS伺服器改為自身的 IP 位址

2. 在伺服器(Server1)圖示旁按下滑鼠右鍵, 再按下內容

設定不同網域下 DNS 如何相互利用-模擬建立新網域端的 DNS Server

使用 Windows Server 2016 來設定, 一般來說如果是不同的公司則 DNS 區域Zone 應該已經是建立好的而不是重新建立, 本練習是模擬在沒有 DNS Server 的情況下來建立

1. 首先建立 Zone 2 的區域(或稱網域) DNS Server, 確認 IP 與原本的網段不一樣

2. 在正向對應區域(Forward Lookup Zones)按下滑鼠右鍵, 建立新的區域(Zone)

設定不同網域下 DNS 如何相互利用-以 Windows Server 2016 為例

w-studio.idv.tw

畫一張大概的網路架構圖, 至少準備 5台VM:
1. DC Server
2. Zone 1 的 DNS Server
3. Zone 1 的 Client
4. 路由器
5. Zone 2 的 DNS Server
(Zone 2 的 Client 可由 Zone 1 的 Client 中設定另一個網段的網卡來模擬)

利用這些伺服器在不同網域下DNS如何使用條件轉寄(Conditional Forwarding)和虛設常式區域(Stub Zone)

2018年2月12日 星期一

DNS 條件轉寄(Conditional Forwarding)和虛設常式區域(Stub Zone)使用時機

條件轉寄(Conditional Forwarding):
是將 DNS伺服器設定為將其接收的查詢轉寄到指定DNS伺服器, 取決於查詢所包含的DNS名稱
 -指向到不同的網域名稱
 -名稱甚至可以是在不同的頂層(top level)
 -當對某個網域名稱的名稱解析, 使用特定的路徑

如果希望位於不同網路上的 DNS用戶端在不必查詢網際網路 DNS伺服器的情況下彼此解析名稱(例如發生公司合併的情況), 則應將每個網路的 DNS伺服器設定為轉發對另一個網路中名稱的查詢, 一個網路中的 DNS伺服器會將另一網路中的用戶端名稱轉發到特定的 DNS伺服器, 該伺服器將建立有關另一網路的大量資訊快取, 就可以在兩個網路的 DNS伺服器之間建立直接的聯繫點, 減少遞迴的需要

虛設常式區域無法提供伺服器對伺服器的相同優勢, 是因為在一個網路中身為虛設常式區域的 DNS伺服器使用包含該名稱區域的所有權威 DNS伺服器列表, 而不是指定特定 DNS伺服器來回應另一網路中名稱的查詢


虛設常式(Stub Zone):
使父系區域的DNS伺服器保持對子區域DNS伺服器具有權威性的所有了解
 -通常是當網域名稱是在較高層級之下
 -委派在委派之下(Delegation below a delegation)

如果希望 DNS伺服器保持對外部區域的權威 DNS伺服器的了解則使用虛設常式區域, 條件轉寄不是使身為父系區域的 DNS伺服器知道子區域的權威 DNS伺服器的有效方法, 因為只要子區域的權威 DNS伺服器有修改, 就必須在身為父系區域的 DNS伺服器上手動修改條件轉寄設定, 也就是必須為子區域的每個新的權威 DNS伺服器更新 IP位址

DNS Forwarding 轉寄

轉寄提供了一種將 DNS 伺服器區域中未包含的名稱空間或資源記錄傳遞到另一台 DNS 伺服器進行解析的方式, 例如將外部名稱解析請求發送到 ISP提供商的 DNS 伺服器, 而不是直接發送到根提示(root hints), 或者將外部 DNS 查詢從分支機構 DNS 伺服器發送到總部 DNS 伺服器, 然後轉到根提示以解析名稱, 還可以使用條件轉寄(conditional forwarder)根據特定網域名稱轉寄查詢
DNS Forwarder
#w-studio.idv.tw
轉寄站(Forwarder)是一台 DNS 伺服器, 被設計用來解析外部或站台外面的 DNS 網域名稱
#w-studio.idv.tw
當網路的其他 DNS 伺服器將無法解析的查詢轉寄給網路 DNS 伺服器時, 會將其指定為轉寄站, 藉由使用轉寄站可以管理網路外部名稱的名稱解析, 例如 Internet 上的名稱並提高網路的電腦名稱解析效率

2018年2月11日 星期日

解決舊版 Linux 無法使用圖形化環境 (以 VirtualBox + Red Hat 6.0 為例)

以前在實體主機安裝或在使用 VM 安裝舊版 Linux 時常會遇到顯示卡及螢幕驅動程式無法支援 X Window Server, 即使設定好 XFree86 也只能使用文字模式 (run level 3) 而無法使用圖形介面 (run level 5), 其實早在以前就已經有人解開這問題, 利用 Frame Buffer X Server (FB device)驅動顯示卡, 如果你是完全安裝的話系統內都會有這個東西, 只是它並不是預設設定好, 必須自行再手動設定才能正常使用

1. 以 VirtualBox 安裝舊版 Red Hat Linux 6.0 為例, 安裝完只能跑文字模式 (run level 3)
w-studio.idv.tw

DNS Caching 快取/暫存

DNS快取(Caching): 對於組織使用或存取的常用網域建立網域名稱及IP位址的快取, 藉由減少解析 DNS主機名稱所需的時間來提高組織的 DNS性能, DNS伺服器成功解析 DNS名稱時會將名稱添加到其快取中

DNS快取的資料預設時間是一小時, 可以修改對應 DNS區域的 SOA 記錄的 TTL 值來進行設定


Stub Zone 虛設常式區域

Stub Zone 虛設常式區域(這個名詞翻譯真拗口...或可翻譯存根區域), 舉例來說, 當兩個公司合併時要求 DNS伺服器解析兩個單獨的 DNS名稱空間, Stub Zone可以解析單獨的 DNS名稱空間之間的名稱

Stub Zone

當 DNS解析器在 Stub Zone 的 DNS伺服器上執行遞歸查詢操作時, DNS伺服器將使用 Stub Zone 中的資源記錄來解析查詢, DNS伺服器向 Stub Zone 的 NS資源記錄指定的權威 DNS伺服器發送迭代查詢, 就像在快取中使用 NS資源記錄一樣, 如果 DNS伺服器在其 Stub Zone 中找不到權威 DNS伺服器, 則 Stub Zone 的 DNS伺服器將使用 root hints 來嘗試標準遞歸
#w-studio.idv.tw
DNS伺服器儲存從權威 DNS伺服器收到的快取列表中 Stub Zone 的資源記錄, 但不將這些資源記錄儲存在 Stub Zone 中, Stub Zone 中僅儲存 SOA、NS記錄以及僅用於解析回應於查詢而返回的NS記錄的 A資源記錄, 根據每個資源記錄中的生存時間(TTL)值來儲存快取的資源記錄, 未寫入快取的 SOA、NS記錄和A資源記錄根據 Stub Zone 的 SOA 指定的到期時間間隔到期, 在 Stub Zone 的建立過程中, 將建立 SOA 記錄, SOA記錄更新發生在從原始主要區域傳輸到 Stub Zone 的過程中, 如果重複查詢, 則 DNS伺服器將返回一個包含 Stub Zone 指定的伺服器的引用

官方教材的說明真是複雜..., 簡單來說 Stub Zone 只儲存 SOA, NS, A 這三個東西, 並且能快速解析名稱

2018年2月10日 星期六

DNS如何在DNS區域間解析名稱

w-studio.idv.tw

以查詢 www.google.com 為例:
1. 用戶端向本地 DNS伺服器查詢 IP 位址 www.google.com

2. 如果本地 DNS伺服器沒有資料, 它將查詢 .root DNS伺服器以獲取 .com DNS伺服器的位址

3. 本地 DNS伺服器查詢 .com DNS伺服器以獲取 google.com DNS伺服器的位址

4. 本地 DNS伺服器在 google.com DNS伺服器上查詢 www.google.com 的 IP位址

5. www.google.com 的 IP位址返回到用戶端

2018年2月9日 星期五

試用 Microsoft Azure

Microsoft Azure 是微軟的公用雲端服務 (Public Cloud Service) 平台, 是微軟線上服務 (Microsoft Online Services) 的一部份, 自 2008 年開始發展, 2010年2月份正式推出, 簡單來說就是雲端的虛擬化服務

記得半年前第一次用 Azure 時, 它還是放在 Office365 之下, 之後微軟一直改版, 當初要申請及設定感覺還很複雜, 現在整合出來只要有任何 Email 帳號直接在 Azure 網站上申請及設定感覺方便不少, 而且能先試用30天, 之後如果不想使用也不會自動扣款

Azure網站: https://azure.microsoft.com/zh-tw/

Google了一下發現以前還有個 Azure Girl 形象人物, 怎麼後來就沒了... XD
Azure Girl 形象主題曲

1. Azure網站說明, 免費試用30天 NT$6100 (記得之前還有NT$6300, 漲價了?)

2018年2月6日 星期二

DNS名稱解析故障排除-以 Windows 10 為例

常用的 DNS 故障排除的命令列工具有:
- Nslookup
- DNSCmd
- DNSlint
- Ipconfig

常用的 Powershell:
。Clear-DNSClientCache: 清除用戶端快取, 類似 ipconfig / flushdns 指令
。Get-DNSClient: 顯示網路介面的詳細資訊
。Get-DNSClientCache: 顯示本地DNS用戶端快取的內容
。Register-DNSClient: 將電腦上的所有IP位址註冊到已設定的DNS伺服器上
。Resolve-DNSName: 對特定名稱執行DNS名稱解析, 類似 nslookup 指令
。Set-DNSClient: 在電腦上設定DNS用戶端的特定介面
。Test-DNSServer: 測試運作中的DNS伺服器
w-studio.idv.tw
本篇以 Powershell 及命令提示字元來操作 DNS 故障排除

1. 首先在Client端(以Win10為例)開啟 Powershell, 輸入 ipconfig /all 查詢所有的網路設定, 本例的Client端主機已經加入網域中

2. 輸入 Get-DnsClientServerAddress 取得 DNS 的 IP

用 dnscmd 備份還原 DNS Server 資料庫(區域記錄)-以 Windows Server 2016 為例

1. 使用 dnscmd 指令備份 DNS 資料庫, 以下為 dnscmd 指令說明

2. 說明中提到這個指令將來會移除, 可能會改成 Powershell指令


2018年2月5日 星期一

Client端的DNS說明-以Windows Server 2016為例

Windows 的 Client 端DNS設定, 在控制台中的網路連線設定, 於某網卡上按下滑鼠右鍵叫出內容, 再點擊 TCPIP/IPv4 的內容來設定

在「一般」標籤頁中下方按下進階鈕之後, 可以再詳細設定 DNS, 這部分也可從 Server 端設定網路用戶原則來套用至 Client 端