Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1687677
  • 博文数量: 782
  • 博客积分: 2455
  • 博客等级: 大尉
  • 技术积分: 4140
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-06 21:37
个人简介

Linux ,c/c++, web,前端,php,js

文章分类

全部博文(782)

文章存档

2015年(8)

2014年(28)

2013年(110)

2012年(307)

2011年(329)

分类:

2012-02-21 21:15:28

原文地址:过滤dns污染 作者:testyy

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污染,其中优劣请自行体会。
阅读(534) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~