我们的 W2K3 DNS 服务器似乎受到了某种 DOS 攻击,但我似乎找不到有关此次攻击的任何描述或理由。
三个特定的远程主机一直在用如下语句轰炸我们的三个 DNS 服务器中的两个:
8937 891.093750 91.205.43.25 ns2.me.com DNS DNS: QueryId = 0xDA7C, QUERY (Standard query), Query for of type NS on class Internet
8938 891.218750 91.205.43.25 ns2.me.com DNS DNS: QueryId = 0xA504, QUERY (Standard query), Query for of type NS on class Internet
8939 891.219727 91.205.43.25 ns1.me.com DNS DNS: QueryId = 0x4E3F, QUERY (Standard query), Query for of type NS on class Internet
8940 891.370117 69.197.181.26 ns1.me.com DNS DNS: QueryId = 0xA8CC, QUERY (Standard query), Query for of type NS on class Internet
8941 891.372070 69.197.181.26 ns2.me.com DNS DNS: QueryId = 0xC808, QUERY (Standard query), Query for of type NS on class Internet
8942 891.476562 91.205.43.25 ns2.me.com DNS DNS: QueryId = 0xCC37, QUERY (Standard query), Query for of type NS on class Internet
8943 891.478516 91.205.43.25 ns1.me.com DNS DNS: QueryId = 0xEDEC, QUERY (Standard query), Query for of type NS on class Internet
几天来,每秒大约有 10 次这样的攻击。每个攻击者都会快速连续地尝试两台被攻击的服务器,尽管他们从未尝试过我们的第三台服务器。
以下是每个数据包的详细信息的示例:
Frame:
+ Ethernet: Etype = Internet IP (IPv4)
+ Ipv4: Next Protocol = UDP, Packet ID = 20114, Total IP Length = 45
+ Udp: SrcPort = 23909, DstPort = DNS(53), Length = 25
- Dns: QueryId = 0xEDEC, QUERY (Standard query), Query for of type NS on class Internet
QueryIdentifier: 60908 (0xEDEC)
- Flags: Query, Opcode - QUERY (Standard query), RD, Rcode - Success
QR: (0...............) Query
Opcode: (.0000...........) QUERY (Standard query) 0
AA: (.....0..........) Not authoritative
TC: (......0.........) Not truncated
RD: (.......1........) Recursion desired
RA: (........0.......) Recursive query support not available
Zero: (.........0......) 0
AuthenticatedData: (..........0.....) Not AuthenticatedData
CheckingDisabled: (...........0....) Not CheckingDisabled
Rcode: (............0000) Success 0
QuestionCount: 1 (0x1)
AnswerCount: 0 (0x0)
NameServerCount: 0 (0x0)
AdditionalCount: 0 (0x0)
- QRecord: of type NS on class Internet
QuestionName:
QuestionType: NS, Authoritative name server, 2(0x2)
QuestionClass: Internet, 1(0x1)
我们目前已将防火墙配置为简单地丢弃来自三个攻击者的请求,但如果我允许他们通过,我们的服务器将响应一个很长的答案,列出所有根提示服务器的名称(但不是地址),并且似乎无论是否打开递归,它都会这样做。
有人知道这是怎么回事吗?我可以让传入流量停止吗?还是只能在防火墙处阻止它,直到他们厌倦为止?
谢谢你的信息,
保罗
答案1
这可能不是针对您的 DoS 攻击 - 更可能是您的机器被用来向其他人发送数据包。
这被称为“放大攻击”。他们向您发送 25 字节的 DNS 请求 - 您发回约 500 字节的根提示。
如果是这种情况,源 IP 地址实际上是被欺骗的,并且他们利用您的大量响应来增强针对这些欺骗 IP 地址的 DoS 效果。
在防火墙处丢弃数据包可能是您目前能做的最好的事情。
然而,从长远来看,真正的解决方案是配置您的 DNS 服务器,使其REFUSED
对任何服务器不具有权威性的查询返回响应代码。如果您这样做,那么您的服务器将不再是未来对其他人进行放大攻击的有用工具。
答案2
或许呼应参宿一,我不明白你的 DNS 服务器的用途。
他们面向公众的权威服务器提供有关您的域的信息?如果是,则无需响应除他们有权响应的查询之外的任何其他查询。如果您不发送响应,每秒 10 个请求听起来并不是您应该担心的事情。
这是一个内部递归/缓存服务器,为内部用户提供服务?如果是这样,应该有一个view
可以match-clients
(在 BIND 语法中)并且不接收来自网络外部的请求。如果您已经拥有这个并且请求来自您控制的段,那么,追捕那些客户端吧!
答案3
你无法控制其他人的行为。即使你在服务器上修复了此响应,他们也可能决定继续前进并改变攻击方式,而不仅仅是“感到无聊”。既然你知道他们现在在哪里,我认为在你的防火墙上完全阻止他们可能是你最好和最安全的选择。
话虽如此,您也确实希望纠正服务器响应,以防范未来的攻击,或者即使您当前的攻击者只是切换 IP。但其他人可以比我更好地帮助解决这个问题。