过滤dns污染

5186阅读 0评论2012-02-17 我要去鸟巢
分类:

dns污染实在是卑鄙和可耻的行为,我不能改变什么,但我至少可以做点什么。
它的原理可见
简单点说,就是通过提前返回错误的dns响应包(污染包早于正常包到达客户端)达到污染的目的。
所以说,只要在这个大的局域网内,就会被污染。目前它的污染方式仅仅是对udp方式的dns查询污染。
知道的污染方式,就好对症下药:
1.使用tcp方式查询
  a)windows客户可,让所有dns请求都走tcp协议
  b)建立本地dns,使用tcp协议查询(例如unbound,pdnsd等等);编写dns proxy(
2.通过延迟方式过滤欺骗的udp
  编写dnsproxy(),通过延迟处理,过滤早到的污染包。
3.通过ttl判断,过滤欺骗污染
  获取你的dns服务器正常响应包的ttl
  以正常的ttl=44举例如下
  iptables -A INPUT -p udp -sport 53 -m ttl --ttl-lt 44 -j DROP
  iptables -A INPUT -p udp -sport 53 -m ttl --ttl-gt 44 -j DROP
  iptables -A INPUT -p udp -sport 53 -m ttl --ttl-eq 44 -j ACCEPT

以上几种方式都可以较好的解决目前墙内dns污染,其中优劣请自行体会。
上一篇:Drupal中如何实现用户控制
下一篇:TCP三次握手/四次挥手详解