CentOS 5 設置 DNS 服務 (CentOS 5 DNS Settings)

設置 dns 服務,並將 windows 2003 轉移至此 centos 5.8 上面的 bind9 服務:

listen-on port 53 { 127.0.0.1; };

listen-on-v6 port 53 { ::1; };

allow-query { localhost; };

allow-query-cache { localhost; };

match-clients { localhost; };

match-destinations { localhost; };

改為:

listen-on port 53 { any; };

listen-on-v6 port 53 { any; };

allow-query { any; };

allow-query-cache { any; };

match-clients { any; };

match-destinations { any; };

加上安全設定:

version "NONE";

// xxxx.tn.edu.tw 正向對應區域

zone "xxxx.tn.edu.tw." IN {

        type master;

        file "xxxx.tn.edu.tw";

        allow-update { none; };

};

// 120.115.10.x 反向對應區域

zone "10.115.120.in-addr.arpa." IN {

        type master;

        file "10.115.120.in-addr.arpa.dns"

        allow-update { none; };

};

檢測DNS AAAA設定(以下引文引用自: 設定 redhat dns ipv6 服務

使用nslookup指令檢測

# nslookup

輸入 【server 2001:288:7287::1】指定v6 DNS server IP

> server 2001:288:7287::1

輸入【set type=a】指定查詢A記錄

> set type=a

輸入【www.anjh.tn.edu.tw】查詢www.anjh.tn.edu.tw的A記錄

> www.anjh.tn.edu.tw

DNS回應www.anjh.tn.edu.tw的A記錄為120.115.10.2

Server:         2001:288:7287::1

Address:        2001:288:7287::1#53

Name:   www.anjh.tn.edu.tw

Address: 120.115.10.2

輸入【set type=aaaa】指定查詢AAAAA記錄

> set type=aaaa

輸入【www.anjh.tn.edu.tw】查詢www.anjh.tn.edu.tw的AAAA記錄

> www.anjh.tn.edu.tw

DNS回應www.anjh.tn.edu.tw的AAAA記錄為2001:288:7287::2

Server:         2001:288:7287::1

Address:        2001:288:7287::1#53

www.anjh.tn.edu.tw      has AAAA address 2001:288:7287::2

※ 過程中若出現 ** server can't find表示輸入的查詢資料有誤或重新檢查DNS設定。

參考:

Bind9在9.3.2之前的版本,皆有安全之虞,至少有幾個已知的攻擊方式,建議利用暑假期間,

配合中心的研習將系統升級,避免不必要的資安事件。

 

建議在bind的named.conf的options中加入遞迴查詢限制及隱藏Bind版本,降低遭受攻擊的機會

參考設定如下 (163.26.100.0/24 為學校網段,請依照實際狀況做修改)

------------------------------------------------------------------------------------------------------------------------------------------------

acl "members" {  127.0.0.1;  163.26.100.0/24; };

 

options {

        recursion yes;    //啟用遞迴查詢服務

        allow-recursion { members; };   //限制遞迴查詢服務範圍為members內的IP

    version "  ";   //隱藏Bind版本,Bind9在9.3.2之前的版本,皆有安全之虞,至少有幾個已知的攻擊方式。

     }

------------------------------------------------------------------------------------------------------------------------------------------------

 

若你使用miniserver或OB2D,那麼預設是有加入的(使用 acl allow_clients { …. }; view

“recursive” { …. };來限制),可以放心

若你的系統是Centos或舊版B2D:

B2D:請檢查你的/etc/bind/named.conf

CentOS:請檢查你的/var/named/chroot/etc/named.conf

於 options{ …. };中,加入

allow-­recursion { 127.0.0.1/32; 120.116.126.0/24(學校網段); 2001:288:759d::/48; };

以上是範例,請勿照抄m(_ _)m,請將學校網段改成學校的IPv4與IPv6

清除查詢快取:

rndc flush

重新啟動dns

B2D:

service bind9 restart

CentOS:

service named restart

http://www.lijyyh.com/2012/07/dns-dns-server-security-management.html

http://note.tc.edu.tw/810.html 原文如下:

防止dns的偽造來源UDP的攻擊  DNS FLOODING ATTACK

攻擊目標為各校DNS,利用DNS本身的特性,造成疊加的攻擊效果+ 利用udp偽造來源封包,借力使力攻擊別人。

防範:無有效的防範方法,無特效藥,一般防火牆和idp/ips無法阻擋。因此採用限制外部IP遞迴查詢(recursive queries),只允許內部使用遞迴查詢來防止。

[BIND]

在named.conf內options段加入這行,並寫入你們學校的ip。

allow-recursion { 163.17.x.0/24; 2001:288:54xx::/48; }; 

這樣只允許163.17.x.0/24及2001:288:54xx::/48可以進行遞迴查詢。但我在CentOS 4.x版(bind-9.2.4-38)發現外部來源的DNS查詢仍可以查到在DNS Cache中的的紀錄。

[Windows DNS Server]

學校有兩台以上dns,一台供外部查詢,另一台供內部使用,外部的dns限制僅供查詢校內的zone:

dnscmd <ServerName> /Config /NoRecursion {1|0}

外部(把所有的遞迴查詢全部停止):

dnscmd <ServerName> /Config /NoRecursion 1

windows 2003 DNS 設定:

以上方法無效,且造成網段連線不正常。不使用。

教育局資訊中心來信,ubuntu12及miniserver可作以下補強:

這是因應所謂DNS的放大攻擊的弱點檢測,大量查詢對伺服器即構成 DoS 攻擊,因此限制用戶查詢使用量(rate

limit)有其必要性,作法上可用 IPS 設備或 DNS 應用軟體的功能,限制單一 IP 位址在單位時間內最

大的查詢次數,藉此保護伺服器免於因某用戶不當使用或中毒等而進行大量查詢  。 

這個攻擊目前尚未發現,不過,先做好預防是上策

目前可以使用 DNS response rate limiting的軟體對 DNS 伺服器進行保護,但需為9.9.2的版本以上方支援,ubuntu 12.04 官方只到9.8.1,所以無此參數,不過,ubuntu有ppa套件,所以可以解決的

如果學校使用ubuntu12.04或miniserver,都可以依照以下方式進行升級bind與參數設定

vi /etc/apt/sources.list

加入這兩行

-------------------------------------------

deb http://ppa.launchpad.net/malcscott/bind9.9/ubuntu precise main

deb-src http://ppa.launchpad.net/malcscott/bind9.9/ubuntu precise main

-------------------------------------------

安裝:

sudo add-apt-repository ppa:malcscott/bind9.9

apt-get update

apt-get install bind9

檢查:(升級為9.9.4)

dpkg -l | grep bind9

ii  bind9                                       1:9.9.4-retrosnub1                          Internet Domain Name Server

設定bind9

vi /etc/bind/namd.conf

--------------------------------------------------

options {

        directory "/etc/bind";

        rate-limit {

                responses-per-second 5;

        };

        listen-on-v6 { any; };

        version "Unknown";

};

--------------------------------------------------------------

重啟服務:

sudo service bind9 restart

測試:

while true; do dig @[你的dnsip] +noignore +short +tries=1 +time=1 www.tn.edu.tw A; done

163.26.1.2

163.26.1.2

163.26.1.2

163.26.1.2

163.26.1.2

;; connection timed out; no servers could be reached

163.26.1.2

163.26.1.2

163.26.1.2

;; connection timed out; no servers could be reached

有看到;; connection timed out; no servers could be reached就表示伺服器已建置限制使用量保護