浅谈系统防火墙

时间:2022-07-01 07:02:53

浅谈系统防火墙

摘 要:介绍防火墙分类及其防火墙对数据过滤的简单规则,并以Iptables为例,介绍基于LINUX操作系统的一种防火墙设置。

关键词:防火墙 包过滤 NAT Iptables

1.引言

随着Internet的迅速发展,现代人进入了网络时代,它给人们的生产和生活都带来了前所未有的飞跃,大大提高了工作效率,丰富了人们的生活,弥补了人们的精神空缺;而与此同时给人们带来了一个日益严峻的问题――网络安全。网络的安全性成为当今最热门的话题之一,很多企业为了保障自身服务器或数据安全都采用了防火墙。随着科技的发展,防火墙也逐渐被大众所接受,并成为计算机网络不可缺少的重要组成部分。

2.防火墙的定义

所谓防火墙(firewall)指的是一个有软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障,是一种获取安全性方法的形象说法。它在Internet与Intranet之间建立起一个安全网关(Security Gateway),对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行,从而保护内部网免受非法用户的侵入。防火墙主要由服务访问政策、验证工具、包过滤和应用网关4个部分组成。目前有商用版本的防火墙,也有完全免费和公开源代码的防火墙。

3.防火墙的基本分类

3.1、包过滤防火墙

第一代防火墙和最基本形式防火墙检查每一个通过的网络包,或者丢弃,或者放行,取决于所建立的一套规则,这称为包过滤防火墙。本质上,包过滤防火墙是多址的,表明它有两个或两个以上网络适配器或接口。例如,作为防火墙的设备可能有两块网卡(NIC),一块连到内部网络,一块连到公共的Internet。防火墙的任务,就是作为”通信警察”,指引包和截住那些有危害的包。

3.2、状态励态检测防火墙

状态/动态检测防火墙,试图跟踪通过防火墙的网络连接和包,这样防火墙就可以使用一组附加的标准,以确定是否允许和拒绝通信。它是在使用了基本包过滤防火墙的通信上应用一些技术来做到这点的。当包过滤防火墙见到一个网络包,包是孤立存在的。它没有防火墙所关心的历史或未来。允许和拒绝包的决定完全取决于包自身所包含的信息,如源地址、目的地址、端口号等。包中没有包含任何描述它在信息流中的位置的信息,则该包被认为是无状态的:它仅是存在而已。

3.3应用程序防火墙

应用程序防火墙实际上并不允许在它连接的网络之间直接通信。相反,它是接受来自内部网络特定用户应用程序的通信,然后建立于公共网络服务器单独的连接。网络内部的用户不直接与外部的服务器通信,所以服务器不能直接访问内部网的任何一部分。

3.4、NAT

讨论到防火墙的主题,就一定要提到有一种路由器,尽管从技术上讲它根本不是防火墙。网络地址转换(NAT)协议将内部网络的多个IP地址转换到一个公共地址发到Internet上。NAT经常用于小型办公室、家庭等网络,多个用户分享单一的IP地址,并为Internet连接提供一些安全机制。当内部用户与一个公共主机通信时,NAT追踪是哪一个用户作的请求,修改传出的包,这样包就像是来自单一的公共lP地址,然后再打开连接。一旦建立了连接,在内部计算机和Web站点之间来回流动的通信就都是透明的了。当从公共网络传来一个未经请求的传入连接时,NAT有一套规则来决定如何处理它。如果没有事先定义好的规则,NAT只是简单的丢弃所有未经请求的传入连接,就像包过滤防火墙所做的那样。可是,就像对包过滤防火墙一样,你可以将NAT配置为接受某些特定端口传来的传入连接,并将它们送到一个特定的主机地址。

3.5、个人防火墙

现在网络上流传着很多的个人防火墙软件,它是应用程序级的。个人防火墙是一种能够保护个人计算机系统安全的软件,它可以直接在用户的计算机上运行,使用与状态/动态检测防火墙相同的方式,保护一台计算机免受攻击。通常,这些防火墙是安装在计算机网络接口的较低级别上,使得它们可以监视传入传出网卡的所有网络通信。

一旦安装上个人防火墙,就可以把它设置成“学习模式”,这样的话,对遇到的每一种新的网络通信,个人防火墙都会提示用户一次,询问如何处理那种通信,然后个人防火墙便记住响应方式,并应用于以后遇到的相同那种网络通信。

4.LI NUX防火墙配置软件―Iptables

Iptables是与Linux内核集成的IP信息包过滤系统,它是一种功能强大的工具。Iptables信息包过滤系统由两个组件netfilter和Iptables组成。netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。主要的链表有三个,分别是mangle表、filter表和nat表。mangle表主要用来修改数据包,我们可以改变不同的包及包头的内容,比如TTL,TOS或MARK; filter表是专门过滤包的;nat表的主要用处是网络地址转换,即Network Address Translation,缩写为NAT,做过NAT操作的数据包的地址就被改变了,当然这种改变是根据我们的规则进行的。Iptables组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。

5.linux下设置Iptables防火墙

在设置防火墙之前,我们需要事先根据防火墙要达到的效果来定制自己的防火墙规则。比如建立一个反弹式防火墙,可以设计成将对方主机的扫描按照所扫描的端口再返回给对方的主机,从而实现反弹不明扫描的效果,命令代码如下:

service Iptables stop

Iptables -A INPUT i lo-j ACCEPT

Iptables -A INPUT-p tcp --dport 22-j ACCEPT

Iptables -m state --state RELATED,ESTABLISHED.j ACCEPT

Iptables―j MIRROR

service Iptables star

在这一规则中,实际上只打开了TCP/22 一个端口。如果有人扫描的时候,除了TCP/22的其他端口都被Iptables反弹回去:

5.1、如果扫描者有公网IP且有防火墙,则防火墙会被告知他扫描的IP在扫描他。

5.2、如果扫描者有公网IP但无防火墙,他获得的扫描数据其实都是那个IP MJRROR给他的,如果他扫到了很多漏洞而正准备发起攻击的话,实际上他攻击的是他自己。

6.结束语

本文介绍了几类防火墙以及每种防火墙的工作原理,并使用Iptables介绍了一种反弹式防火墙的设置方法。任何一种防火墙只是为网络通信或者是数据传输提供了更有保障的安全性,但是我们也不能完全依赖于防火墙。除了防火墙来保障安全的同时,我们也要加固系统的安全性,提高自身的安全意识。这样一来,数据和通信以及Web站点就会更有安全保障。

参考文献:

1 Tony Bautts,Terry Dawson,Gregor N.Purdy,《Linux网络管理员指南(第三版)》2006.6

2苏哈林(Suehring, S.《Linux防火墙(原书第3版)机械工业出版社,2006.6

3王伟编,《防火墙原理与技术》,机械工业出版社,2004.4

上一篇:资产负债表债务法与利润表债务法差异的探讨 下一篇:论声像档案对高校基建审计的应用