最近遇到业务上的需求,需要了解防火墙。首先使用防火墙的目的在于对系统的访问进行控制。防火墙是一种安装在组织结构的内部网络与因特网之间的设备(通常是路由器或者计算机)。它是用于转发某些分组而过滤掉或者不转发其他分组。
例如,防火墙可以过滤掉所有目的地址为特定主机或特定服务器(比如HTTP服务器)的分组,防火墙在组织机构中用来拒绝对特定主机或者特定服务的访问。
防火墙通常分为:分组过滤防火墙和基于代理的防火墙。
分组过滤防火墙
它可以根据网络层和传输层的头部信息来转发或者阻止分组,这些头部信息指的是:源和目的IP地址,源端口和目的端口地址以及协议类型(TCP或UDP)
分组过滤防火墙是使用过滤表来确定抛弃(不转发)哪些分组的路由器。
根据上图,对下列分组进行过滤:
1、对来自网络131.34.0.0的分组要进行阻止(安全防范)。*号表示任何一个。
2、对目标是任何内部TELNET服务器(端口为23)的进入分组进行阻止。
3、对目标是内部主机194.78.20.8的进入分组进行组织。组织机构只希望该主机作为内部使用。
4、对目标是HTTP服务器(端口80)的流出分组进行阻止。
代理防火墙
分组过滤防火墙是基于在网络层和传输层头部中可利用的信息进行工作的。然而,有时我们需要基于报文自身(在应用层)中可利用的信息进行报文过滤。例如,假设组织机构需要实现以下关于其web页面的策略:只有那些先前已于公司建立商业联系的因特网用户才拥有访问,同时阻止其他用户访问。在这种情况下,分组过滤防火墙是不起作用的,你无法通过头部信息进行过滤,因为你无法通过头部信息区分用户。检查必须在应用层(使用URL)完成。
一种解决方案是安装一台代理计算机(应用网关),它位于顾客(客户端)计算机和公司计算机之间。当客户端进程发送一份报文时,代理防火墙运行服务器进程来接受该请求,服务器在应用层打开该分组,查看该请求是否合法,如果合法,代理服务器就将请求转发给实际的服务器。如果不合法就抛弃该报文。