有事您说话 发表于 2014-10-29 17:02:24

浅谈URL过滤与DNS过滤

本帖最后由 有事您说话 于 2014-10-29 17:02 编辑

1. URL过滤
URL过滤是现在防火墙的一个重要的访问控制方法,同时还衍生出一系列技术,如URL重组,和URL分类服务器连动等。固然URL控制可以限制到文件级别的粒度,但在实际应用中进行如此细粒度控制的几乎没有,并不限制访问的目录名和文件名,基本还是限制在域名级别。这样带来的问题就是不用URL访问,而是用IP地址访问,在访问前先使用nslookup等工具先解析出IP地址后用IP访问,这样URL域名过滤就会失效;其二,即使域名限制成立,但等URL重组完,再识别,再强行断开连接,对系统,包括客户端、服务器和防火墙的资源都是很大浪费。
URL过滤还有一个比较大的缺陷,在HTTP/1.1中,域名部分是通过HTTP头的“Host: ”字段来获取的,其他字段均不能保证能正确获取域名,而这个字段有的服务器并不检查,可以随便填个别的域名,服务器也可以正确返回;而在HTTP/1.0中,这个字段更加不是必须的,因此根本不能保证获取正确的域名。
2. DNS过滤
解决方法是DNS过滤,即在域名解析时就进行限制,在DNS请求包中就把域名提取出来进行判断。由于DNS一般是UDP包,一个包中就包含了所有信息,不需要重组(对于TCP的DNS协议可以关闭,使用UDP的已经足够了);其次,对于UDP包,各种资源的消耗都很少,客户端发UDP的资源消耗远小于TCP,服务器根本就没消耗,防火墙跟踪UDP也比跟踪TCP要简单得多;再次,限制得可以更加全面,通常URL只限制了HTTP,而限制DNS则把该域名对应的所有服务都可以限制住;最后,DNS限制就没有IP访问的漏洞,因为本来就得不到IP。
当然,DNS过滤是无法控制到目录和文件级别的粒度的,但大部分情况都不需要。所以必要时可以用DNS过滤为主,URL过滤为辅的方法进行过滤。
3. 结论
使用DNS过滤,能更快更有效的限制对域名的访问,过滤得也更彻底,强于URL

Dr.Antenna 发表于 2014-10-29 17:13:38

在哪里设置?能不能给个范例

糖不吃 发表于 2014-10-29 17:22:20

是说梅林吗?

有事您说话 发表于 2014-10-29 17:31:38

Dr.Antenna 发表于 2014-10-29 17:13
在哪里设置?能不能给个范例

OpenWRT固件上有这个功能的,比较全面。华硕的路由器目前Merlin固件有一个DNS Filtering功能。那里面可以通过手动设定DNS来选择DNS商提供的DNS过滤功能。



有事您说话 发表于 2014-10-29 17:33:25

糖不吃 发表于 2014-10-29 17:22
是说梅林吗?

是DNS Filter专门的功能。可以参见其他譬如OpenWRT固件。这个功能做的比较全面。

蛋蛋 发表于 2014-10-29 17:49:40

有事您说话 发表于 2014-10-29 17:33
是DNS Filter专门的功能。可以参见其他譬如OpenWRT固件。这个功能做的比较全面。 ...

华硕路由器没有哦,遗憾

糖不吃 发表于 2014-10-29 17:58:05

蛋蛋 发表于 2014-10-29 17:49
华硕路由器没有哦,遗憾

都是借助知名的公共服务的DNS Server或是自行架设的DNS Server。污染/劫持还是有可能滴。

有事您说话 发表于 2014-10-29 18:02:19

蛋蛋 发表于 2014-10-29 17:49
华硕路由器没有哦,遗憾

华硕路由器Merlin固件有DNS Filter功能,但主要是借助第三方DNS商,侧重点不同。希望有人向华硕的研发团队反应一下啊!!!期待

迪安 发表于 2014-10-30 08:59:40

请教,若DNS Filter设定的DNS Server,与LAN PC自行设定的DNS Server造成冲突(ex. 一个能解析到某个IP,另一个无法解析),这个时候谁的优先级大?

有事您说话 发表于 2014-10-30 09:24:23

迪安 发表于 2014-10-30 08:59
请教,若DNS Filter设定的DNS Server,与LAN PC自行设定的DNS Server造成冲突(ex. 一个能解析到某个IP,另 ...

这种情形根据LAN PC发送域名解析请求,先通过PC端进行解析,如果查找到直接匹配。如果没有才会到另一级DNS Server(这里也就是我们的路由器了)。这样看来应该是先自身,再下一级。
页: [1] 2
查看完整版本: 浅谈URL过滤与DNS过滤