Soa*_*bTI 0 domain-name-system iptables
如何通过iptables阻止从bind发送到相同IP地址的拒绝数据包序列?
我想过使用字符串扩展来寻找“拒绝”。这会保护 dns 免受 DoS 攻击吗?
我的尝试:
iptables -A INPUT -p udp -m udp --sport 53 -m string --string "Refused" --algo bm -m recent --set --name block-dns --rsource
iptables -A INPUT -p udp -m udp --sport 53 -m string --string "Refused" --algo bm -m recent --rcheck --seconds 10 --hitcount 1 --name block-dns --rsource -j DROP
Run Code Online (Sandbox Code Playgroud)
我不太明白您要实现的目标,但它失败的原因很简单,因为 DNS 响应实际上并不包含 string REFUSED
。
RFC 1035定义了一个响应标头,其中在该标头中将 4 位字段设置为RCODE
; 响应代码,其中的值5
代表“拒绝”:
4.1.1. Header section format
The header contains the following fields:
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ID |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QDCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ANCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| NSCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ARCOUNT |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Run Code Online (Sandbox Code Playgroud)
RCODE 5
- 出于策略原因,名称服务器拒绝执行指定的操作。例如,名称服务器可能不希望向特定请求者提供信息,或者名称服务器可能不希望对特定数据执行特定操作(例如,区域传输)。
归档时间: |
|
查看次数: |
434 次 |
最近记录: |