频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

使用IP链建立Linux防火墙

作者: 出处:ENET  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2005-12-14 09:27
关 键 词:Linux  防火墙
阅读提示:虽然Linux操作系统具有很多优点,其安全性也较高,但是你不应当由此产生一种虚假的安全感,因为你的Linux系统的安全性仍旧可能受到损害。现在就让我们来看看如何通过使用IP链(IPchains)来建立Linux系统的防火墙,保护你的系统不受侵害

虽然Linux操作系统具有很多优点,其安全性也较高,但是你不应当由此产生一种虚假的安全感,因为你的Linux系统的安全性仍旧可能受到损害。现在就让我们来看看如何通过使用IP链(IPchains)来建立Linux系统的防火墙,保护你的系统不受侵害。
先假设你已经具备了一些关于因特网的基本知识。应当说,熟悉像IP地址、TCP端口和网络传输数据之类的词汇是很有用处的。对防火墙有一个大概的了解也是十分有必要的。
■命令:
我们需要确立起一系列的规则,这样IP链才能进入来来往往的网络路径。每一条规则都被置于三链之一,这三个链分别为:存放输入数据的输入链、存放输出数据的输出链和传输链。
每增加一条规则,都要从IP链开始,并且要增加下面的某些或全部步骤。附加(Append)、删除(Delete)、插入(Insert)和替换(Replace),这些命令通常是跟在起始的IP链命令之后,并且指示程序应当把规则命令添加在哪条链上以及如何添加。添加时,以-A、-D、- I,或者-R开始,这些字母的后面再加上链的名称(输入链或输出链)。
当你要使用插入命令时,必须在要加入该命令的位置上,在链的名称后面,具体指定行号。
在使用替换命令时,需要指定被替换的行号,使用删除命令的时候,也必须指定删除的行号。  
在使用删除选项时,无须在行号后面再输入什么别的内容。你只要键入ipchains -L,就可以发现命令所作用的行号。

■协议(Protocol):
在这里你要针对每一条规则命令具体地指明某种协议。在大多数情形下,使用TCP/IP协议。
也有可能你不想让你的计算机对另一台计算机发出的Ping信号做出反应。为了做到这一点,需要具体指定ICMP(互联网控制报文协议)。在具体地指定某个协议的时候,要使用-p命令,如:-p icmp。
■源(Source):
源可以确定从某个特定的IP地址而来的路径以及使用-s命令的端口。如果你知道一个标准的IP地址,就可以直接使用IP地址,或者干脆指定一个域名(比如www.ccidnet.com)。假如你想指定任意一个地址,不妨用0.0.0.0/0。
我们可以在IP地址的后面用数字来指定某一个端口(比如110),也可以用服务器的名称(pop3)来指定某一个端口。使用冒号可以将两个端口数字分隔开,这样就能指定一连串的端口。例如:
-s mail.mailserver.com pop3
-s 127.0.0.1 139:164
■目的(Destination):
用法与源地址是一样的,只要指定目的地址和端口即可。
■跳转(Jump):
我们需要了解的最后一个选项是-j命令。这个命令告诉防火墙,如果一项规则命令与正在输入的数据相匹配时,防火墙应该采取什么步骤。在大多数情况下,这种步骤就是接受或拒绝。举个例子吧,假如你想拒绝某组与命令相符的数据时,防火墙就跳转至拒绝。如果一组数据不符合某条命令规则,该数据就会往前进入下一个命令。如果没有任何规则符合这组数据的话,数据就会在缺省的状态下被拒绝。
当然还有一些其它的选项和命令能够与IP链的命令一起使用。假如你想深入了解更多的信息,可以在命令行栏键入ipchains -h。

建立防火墙
建立Linux系统的防火墙的核心部分就是在你接近你想要访问的服务器的同时,又要阻止其它服务器接近你的系统。这里我们提出一些忠告。
首先,你在建立你的防火墙时尽量对所有的“拒绝”规则使用-I命令。当某条规则将一组数据挡在外面的时候,就会产生一行信息,加入到你的核心程序信息记录中(变量/记录/核心程序/信息)。你读一读这个文件就能明白为什么一组数据会被挡在外面。一条记录详细说明了被采取的步骤、能解释某条规则源目的链、源地址和端口以及目的地址和端口,因而你能运用这些信息来调整防火墙。可以按照你想得到的方式拥有任何东西,这时就不再需要-I命令了。
其次,建立防火墙可以挡住所有流入的Syn数据。Syn数据是用于启动链接的数据组,但它们不应该出现在大部分的桌面系统上。可以这样运用-y命令:
ipchains -I input 1 -p tcp -y -j DENY
你还可用下面这条命令挡住ICMP数据:
ipchains -I input 2 -p icmp -j DENY
把这两条规则放在最前面,就能保证系统不会随便接收这些数据。下一步,该挡住像ftp、telnet、smtp和pop3之类的一些常用的服务器端口:  
ipchains - A input -p tcp - s 0.0.0.0/0 ftp DENY
ipchains - A input -p tcp - s 0.0.0.0/0 telnet DENY
ipchains - A input -p tcp - s 0.0.0.0/0 smtp DENY
ipchains - A input -p tcp - s 0.0.0.0/0 pop3 DENY  
ipchains - A input -p tcp - s 0.0.0.0/0 nntp DENY
如果在连接发送邮件的服务器时出现问题,可以在smtp 和pop3 DENY的规则前面插入一条规则,这样便能使所谓的DENY规则失去作用。不过要保证这条规则的明确性,因为这样才能使得DENY规则失效。通常来说,明确地指明一个IP地址是个不错的做法:
ipchains - I 3 input - 1 - p tcp - s mail.mailserver.com pop3 - j ACCEPT
ipchains - I 4 input - 1 - p tcp - s mail.mailserver.com smtp - j ACCEPT
可以用你发送邮件的服务器的地址替代域名“mail.mailserver.com”,对于一个新的服务器或者任何一个链接有困难的FTP网址,都可以这样做。
虽然这些规则是一些基本性的,但有助于建立一个安全有效的防火墙。我们可以在像Gibson Research Center (http://www.grc.com) 和DSL Reports (http://www.secure-me.net/) 之类的网站检测防火墙的安全和有效性。上面两个网站都可以免费提供关于因特网的端口查询。一旦找到了有用的规则,就用ipchain-save命令将这些规则保存到某个文件中。
当重新启动系统的时候就可以运用这个保存了规则的文件。键入ipchains-save/etc/ipchains.rules就能保存防火墙设置数据。在重新启动你的系统后保持有关防火墙的设置时,请键入ipchains-restore/etc/ipchains.rules 。当你的系统断电或者重新启动时,Linux系统不会自动保存这些设置数据。


发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有