1 of 33

DNS RPZ介紹

TWNIC

2021/9/28

1

2 of 33

內容

  • TWNIC簡介
  • DNS介紹
  • RPZ介紹
  • 如何設定RPZ Slave DNS
  • RPZ細部說明

2

3 of 33

TWNIC簡介

  • TWNIC(財團法人台灣網路資訊中心)主要負責
    • ccTLD .TW/.台灣域名註冊管理服務
      • 註冊系統
      • DNS解析系統

    • 台灣地區IP位址分配管理
      • IPv4
      • IPv6
      • ASN

3

4 of 33

什麼是DNS

  • DNS全名
    • Domain Name System
    • 網域名稱解析系統、網域名稱系統
  • 網域名稱(Domain Name)與IP位址的轉換
  • 將較容易記憶的主機名稱,轉譯成IP 位址,可以不用強記IP位

5 of 33

DNS的重要性

  • DNS相對其他Internet的協定,是一個相對比較底層的協定,其他如Web、Email等都必須依賴DNS的正常運作才能提供服務
  • DNS系統所造成的影響是全面性的
    • DNS有問題時,無法存取Web Server,無法寄送Email

6 of 33

為什麼要有DNS黑名單

  • 別人用我的DNS來作反射放大攻擊,一直重複查詢同一個域名
  • 別人用我的DNS來作NXDOMAIN攻擊,一直連續查詢某個域名下不存在的域名
  • SPAM、C&C、Phishing…

  • 所以必須將某些域名的查詢擋下來,避免造成嚴重的後果

6

7 of 33

為什麼要有DNS黑名單(續)

  • DNS是Internet的基礎,幾乎所有的應用程式都必須依賴DNS進行連線
  • 91%的惡意軟體使用DNS與C&C進行連線 (*1)
    • 台灣地區使用付費防毒軟體不到20% (*2)
    • IOT設備越來越多,但大都沒辦法安裝防毒軟體
    • 在DNS端防堵成效最大

7

*1 Cisco 2016 security report�*2 https://www.ixresearch.com/reports/%E7%A0%94%E7%A9%B6%E6%A1%88%E4%BE%8B-%E5%B0%8F%E8%AA%BF%E6%9F%A5/

8 of 33

傳統作法

  • 在DNS上設一個local zone,將該域名的查詢直接回應出去
    • 反射放大攻擊🡺封包變小,減少頻寬消耗
    • NXDOMAIN攻擊🡺不會出去查詢(攻擊權威DNS),不會cache查詢結果造成記憶體消耗
  • 維護成本高,尤其一個ISP如果管理數百或數千部DNS時

8

9 of 33

什麼是RPZ

  • Response Policy Zone
  • 可以作到符合下列之一
    • 當用戶查詢某一個特定域名時
    • 如果解析結果為某個IP網段時
    • 某一特定權威DNS的名稱
    • 某一特定權威DNS的IP
    • 查詢來自特定的IP網段
  • 執行下列動作之一
    • 正常解析、Log、Drop、回應特定狀態(NODATA、NXDOMAIN) 、回應特定IP

9

10 of 33

RPZ運作方式

10

11 of 33

RPZ的好處

  • 直接使用DNS伺服器原本解析的方式來處理要封鎖的域名,不須在DNS前端另設過濾機制
  • 管理方便,就是一個zone file,可作zone transfer,利用master/slave DNS的機制來同步管理所有的cache DNS
  • 很多資安服務都有提供RPZ的方式,如spamhaus原本的RBL可改用RPZ增加效能、phishtank也可使用RPZ阻擋釣魚網頁

11

12 of 33

RPZ標準

  • IETF Draft,並沒有成為RFC標準,主要原因為
    • 和DNS的精神相違背,DNS就是要作出可信任的正確的解析結果
    • 和DNSSEC沖突
  • 但由於RPZ的實用價值相當高,BIND 9.8開始也支援RPZ(這篇IETF Draft的作者是BIND軟體的早期開發者)
  • 由於市場需求,其他open source及商業DNS產品也開始支援RPZ

12

13 of 33

各產品支援程度

13

Vendor

Product

Notes

AnswerX Cloud (deployed all over the world) and AnswerX License (rack and stack on Unix or VMs) can pull in multiple RPZ threat feed. Each RPZ threat feed can be applied to multiple “services,” nested workflows, or merged into a master RPZ feed.

BlueCat provides both their own protection policies for customers as well as the ability for customers to add their own zones.

SolidServer allows incorporation of external policies through a GUI

The DNS engine is based on BIND 9 (with enhancements). Add providers or manage your own list with a GUI.

RPZ support is included in BIND version 9.8 and later.

policy.rpz module

Partial support

14 of 33

資源消耗情況

  • 先前TWNIC在101.101.101.101放置30餘萬域名及其所下所有子域名共60多萬筆黑名單
  • CPU使用量沒有改變
  • 記憶體: 約佔 300 Mbytes,平均每筆黑名單約需500 bytes
  • 在一個月的時間內阻擋了約100萬次惡意網域名稱的查詢(被阻擋的域名大部份是C&C)

  • 註:目前101.101.101.101的rpz zone file已超過200萬筆

14

15 of 33

使用DNS RPZ的法源基礎

  • 資通安全管理法
    • 第16條
      • 關鍵基礎設施提供者應符合其所屬資通安全責任等級之要求,並考量其所保有或處理之資訊種類、數量、性質、資通系統之規模與性質等條件,訂定、修正及實施資通安全維護計畫。
    • 第7條
      • 主管機關應衡酌公務機關及特定非公務機關業務之重要性與機敏性、機關層級、保有或處理之資訊種類、數量、性質、資通系統之規模及性質等條件,訂定資通安全責任等級之分級;其分級基準、等級變更申請、義務內容、專責人員之設置及其他相關事項之辦法,由主管機關定之。

15

16 of 33

網域名稱進入RPZ的三種情況

16

 

情況一

情況二

情況三

情況

網域名稱係法院判決/裁定或行政機關行政命令移除

網域名稱為經法院或行政機關認定違法者

網域名稱系有資安疑慮且影響資安重大者

性質

依據法律移除

法律認定違法自願移除

法律認定關鍵基礎設施有維護資安的義務自願移除

17 of 33

情況一:法院判決/裁定

17

18 of 33

情況二

18

19 of 33

情況三

19

20 of 33

如何設定TWNIC DNS RPZ

  • https://rpz.twnic.tw/

20

21 of 33

BIND設定 (named.conf)

options {

response-policy {

zone “rpztw”;

};

};

zone “rpztw” {

type slave;

file “rpztw”;

masters {

35.221.136.32;

};

allow-query {

localhost;

};

};

key "rpztw" {

algorithm hmac-sha512;

secret "ilbWTAZ4Nvip4SHP82x1B+aSiMHFbS80+qXBkDtuYDHdf5LtEG1t1sRlGL7MpUAlCDmNJsznALk6ivxm6EtPvA==";

};

server 35.221.136.32 {

keys { "rpztw"; };

};

21

22 of 33

BIND設定

  • 因某些硬體設備無法支援sha512的編碼,所以另有一把 sha256 的 TSIG key

key "rpztw-sha256" {

        algorithm hmac-sha256;

       secret “n6MGuHTZI7z26MDmksLkHJwYxb5x5b3O84LAHqRnNNo=";

};

23 of 33

如何作一個RPZ master zone

23

24 of 33

RPZ zone file範例

$TTL 300

@      IN      SOA     localhost. This.is.an.infringing.website 1618646406 60 60 86400 60

        IN      NS      localhost.

wordtheminer.com IN      CNAME  .

akams.live IN      CNAME      .

categery.com IN      CNAME      .

32.97.41.64.97.rpz-ip   IN      CNAME   .

32.200.44.90.97.rpz-ip  IN      CNAME   .

32.154.75.126.98.rpz-ip IN      CNAME   .

24

25 of 33

解析結果範例

25

26 of 33

對某個域名不解析(查不到IP)

  • 當查詢wordtheminer.com回應NXDOMAIN
    • wordtheminer.com IN      CNAME  .
  • 當查詢wordtheminer.com及其子域名皆回應NXDOMAIN
    • wordtheminer.com IN      CNAME  .
    • *.wordtheminer.com IN      CNAME  .

26

27 of 33

改變原有解析結果(IP導向)

27

28 of 33

對某一解析出來的IP進行處理

  • IP的寫法如PTR紀錄要倒過來寫,例如
    • 180.188.20.33/32 要寫成
    • 32.33.20.188.180.rpz-ip

28

29 of 33

IPv6的寫法

  • 2001:288:1:1006::11/128 可寫成
  • 128.11.zz.1.1006.288.2001.rpz-ip
  • 或是
  • 128.11.0.0.0.1.1006.288.2001.rpz-ip

29

30 of 33

處理某一部或多部nameserver的解析

  • 例如要封鎖moevax.edu.tw這部nameserver
  • moevax.edu.tw.rpz-nsdname IN CNAME .

  • 例如要封鎖140.111.1.2/32這部nameserver
  • 32.2.1.111.140.rpz-nsip IN CNAME .

  • 例如要封鎖140.111.1.0/24網段上所有nameserver
  • 24.0.1.111.140.rpz-nsip IN CNAME .

  • IPv6同上一頁的寫法,只不過最後的rpz-ip改為rpz-nsip

30

31 of 33

封鎖特定Client IP/網段的解析結果

  • 例如封鎖來自140.111.2.0/24的使用者
  • 24.0.2.111.140.rpz-client-ip IN CNAME .

31

32 of 33

RPZ Action

  • 回應NXDOMAIN
    • CNAME .
  • 回應NODATA
    • CNAME *.
  • 僅寫log不處理
    • CNAME rpz-passthru.
  • 不回應(通常用在處理DDoS攻擊)
    • CNMAE rpz-drop.
  • IP導向
    • A x.x.x.x
    • CNAME x.x.x.

32

33 of 33

Q & A

33