在目前中小网络中越来越多的使用防火墙替代路由器作为网络出口设备,这也导致了很多年轻的网工分不清路由器与防火墙到底有什么区别,简单的认为防火墙能防攻击,特别是目前的防火墙集成了很多上网行为管理和IPS的功能,更容易掩盖防火墙本身最核心的功能。
下面以传统防火墙为例,说明防火墙与路由器到底有什么区别。
一、安全域概念
路由器没有安全域的概念,这个概念在防火墙上十分重要,区分了不同接口所连接区域的安全等级,从而为进一步的安全控制打下基础。
二、会话状态
路由器是不会保存会话状态,一个TCP连接所发送的所有报里是包含序列号的,但是路由器不会去关注这个序列号,收到就会转发。也就是路由器只看到5元组的信息,不会再往深了看。NAT会话信息也只是记录五元组信息
防火墙则是会保存每一个会话的状态信息,比如TCP的三次握手,在路由器看来就是报文,只管传输,而防火墙则会检查三次握手报文是否符合规则。很多防火墙的防攻击功能都是基于会话的检测。
三、安全策略(域间策略)
前面两条都是为了这最重要的第三条铺垫的。安全策略可以详细控制会话的通断,只允许合法的数据流通过。这个合法数据流可以做到A可以主动访问B,但是B不可以主动访问A,这里就是由于防火墙保存了会话状态信息,从而知道A访问B的会话是哪些,当B回应A返回的数据,比对之前的会话信息就可以通过,而B主动访问A则是新建了一条新的会话,这条会话根据安全策略是无法通过。
路由器的包过滤是无法做到的,包过滤阻断数据是双向的,一断全断。这点才是路由器与防火墙最根本的区别。
说了那么多,是不是防火墙就可以代替路由器了。在中小网络是可以的,因为这样的网络,数据量有限,客户预算有效,追求性价比,一台设备搞定一切。而在大型网络里,绝对不会使用防火墙代替路由器,路由器在处理路由协议计算上的性能肯定比防火墙强,转发大量数据时,路由器不像防火墙需要对数据包进行检测所以转发延迟更低。还有最关键的一点,路由器支持多种类型的接口,虽然目前以太网接口外的其他接口类型已经越来越少了,但是在一些大型网络中还是存在的,防火墙是无法支持这些接口的。