大家好
請問一下我的centos 6.2上有架設dns server但我發現為何它的連數特別多
出去查特別多,中dns的ddos嗎?它大約十來分鐘就降下來,我有用yum更新bind
來防陋洞,server在內網透過防火牆nat轉53至server所以沒對外,請問這樣行為正常嗎??
forwarders { 168.95.1.1; 168.95.192.1; };或其他反應快的DNS IP。
logging { channel query.log{ file "/data/logs/query.log" versions 55 size 900m; print-time yes; severity debug 3; }; category queries { query.log; }; };log的量會蠻大,可知道到底哪些IP在query哪些domain。
options { listen-on port 53 { 192.168.1.253; }; // listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; allow-transfer { none; }; recursion yes; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; // forward only; forwarders { 168.95.1.1; 168.95.192.1; 8.8.8.8; }; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; };
在這個案例中,防火牆的規則,你可以定義以下規則
1.WAN_ANY to DMZ_ANY PROTOCOL UDP_DNS PERMIT And Log
2.WAN_ANY to DMZ_ANY PROTOCOL TCP_DNS PERMIT And Log
3.WAN_ANY to DMZ_ANY PROTOCOL UDP_ANY PERMIT And No_Log
4.WAN_ANY to DMZ_ANY PROTOCOL TCP_ANY PERMIT And No_Log
如果防火牆的Log可以透過電子郵件方式寄送到你的信箱備份的話,請啟用!
透過以上的規則及設備,這樣就可以分析出
辦公室的網路環境,是哪個電腦向192.168.1.253發出DNS查詢的行為
及可以紀錄到192.168.1.253收到DNS查詢的要求時,並向外的DNS Server(168.95.xx.xx,8.8.8.8)查詢DNS資料
--
前提,你要有透通性DMZ的防火牆!
否則,僅能透過Switch的Mirror Port,來做出側錄網路封包的行為囉!
--
另外,如果192.168.1.253是CentOS系統
你可以做以下的調整
啟動DNS服務(named)
修改 /etc/resolv.conf檔案內的DNS Server清單
將168.95.1.1,168.95.192.1,8.8.8.8等等的DNS Server IP刪除
僅留下192.168.1.253
一切新的查詢,向root_DNS Server查詢,查詢後,CentOS的Named服務會記憶,以便下次相同查詢可以快速回應,節省網路sessions!
謝謝你詳細的回答,我目前是用zyxel usg 50h比較早的硬體防火牆
外面服務透過虛擬伺服器nat轉進後端centos
有可能是我把dns權限開太大囉,所以一直有好幾百幾千的dns udp包
我的named.conf如下:
<pre class="c" name="code">options {
listen-on port 53 { 192.168.1.253; };
// listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
allow-transfer { none; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
// forward only;
forwarders {
168.95.1.1;
168.95.192.1;
8.8.8.8; };
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
請你在指教~謝謝你!!