基于Linux系统的包过滤防火墙(4)
来源:asp之家 发布时间:2009-09-19 20:21:00
关于ICMP类型的更详细的表述参见RFC792。
2.2 iptables语法
2.2.1 Iptables的优点
→iptables允许建立状态(stateful)防火墙,就是在内存中保存穿过防火墙的每条连接。这种模式对于有效地配置FTP和DNS以及其它网络服务是必要的。
→iptables能够过滤TCP标志任意组合报文,还能够过滤MAC地址。
→系统日志比ipchains更容易配置,扩展性也更好。
→对于网络地址转换(NetworkAddressTranslation)和透明代理的支持,Netfilter更为强大和易于使用。
→iptables能够阻止某些DoS攻击,例如SYS洪泛攻击。
2.2.2 Iptables的规则要素
一条iptables规则基本上应该包含5个要素:
→指定表(table)
→指定操作命令(command)
→指定链(chains)
→指定规则匹配器(matcher)
→指定目标动作(target)
(1)表。Iptables从其使用的3个表而得名,分别是filter、nat、mangle。对于包过滤防火墙只使用filter表。表filter是默认的表,无需显示说明。
(2)操作命令。包括添加、删除、更新等。
(3)链。对于包过滤防火墙可操作filter表中的INPUT链、OUTPUT链和FORWARD链。也可以操作由用户自己定义的自定义链。
(4)规则匹配器。可以指定各种规则匹配,如IP地址、端口、包类型等。
目标动作。当规则匹配一个包时,真正要执行的任务用目标标识。最常用的内置目标分别是:
→ACCEPT表示允许包通过
→DROP表示被丢弃
此外,包过滤防火墙还可以使用扩展的目标:
→REJECT表示拒绝包,丢弃包的同时给发送者发送没有接受的通知。
→LOG表示包的有关信息被记录日志。
→TOS表示改写包的ToS的值。
要使用上述的扩展目标,必须在内核中激活相应选项或者装载了相应的内核模块。
2.2.3 Iptables工具的调用语法
Iptables的语法非常复杂,要查看该工具的完整语法,应该查看其手册页。
Iptables的语法通常可以简化为下面的形式:
Iptables[-t table]CMD[chain][rule-matcher][-j target]
其中:tables为表名,CMD为操作命令,chain为链名,rule-matcher为规则匹配器,target为目标动作。
2.2.4 制定永久性规则
iptables软件包提供了两个命令分别用于保存和恢复规则集。可以使用下在的命令转储在内存中的内核规则集。其中/etc/sysconfig/iptables是iptables守护进程调用的默认规则集文件:
#/sbin/iptables-save >; /etc/sysconfig/iptables
要恢复原来的规则库,需使用命令:
#/sbin/iptables-restore < /etc/sysconfig/iptables
为了使得用iptables命令配置的规则在下次启动机器时还能被使用,有两种主法。
(1)使用iptables的启动脚本实现。Iptables的启动脚本/etc/rc.d/init.d/iptables每次启动时都使用/etc/sysconfig/iptables所提供的规则进行规则恢复,并可以使用如下的命令保存规则:
#service iptables save
(2)在自定义脚本中用iptables命令直接创建规则集。可以直接用iptables命令编写一个规则脚本,并在启动时执行这个脚本。
例如:若规则脚本的文件名为/etc/fw/rules,则可以在启动脚本/etc/rd.d/init.d/rc.local中加入下面的代码:
if[-x /etc/fw/rules];then /etc/fw/rules;fi;
这样,机器每次启动时即可执行该规则脚本。
如果使用此种方式,建议使用ntsysv命令关闭系统的iptables守护进程。
2.3 iptables命令使用举例
2.3.1 链的基本操作
(1)清除所有的规则。通常在开始配置包过滤防火墙之初清除所有的规则,重新开始配置,以免原有的规则影响新的设定。使用如下命令进行:
1) 清除预设表filter中所有规则链中的规则。
#iptables -F
2)清除预设表filter中使用者自定义链中的规则。
#iptables -X
3)将指定链所有规则的包字节记数器清零。
#iptables -Z
(2)设置链的默认策略。一般地,配置链的默认策略有两种方法。
1)首先允许所有的包,然后再禁止有危险的包通过防火墙。即“没有被拒绝的都允许”。这种方法对于用户而言比较灵活方便,但对系统而言,容易引起严重的安全问题。
为此,应该使用如下的初始化命令:
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
2)首先禁止所有的包,然后再根据需要的服务允许特定的包通过防火墙。即“没有明确允许的都被拒绝”。这种方法最安全,但不太方便。为了使得系统有足够的安全性,一般采用此种策略进行iptables防火墙的配置。
为此,应该使用如下的初始化命令:
#iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#iptables -P FORWAED DROP
3)列出表/链中的所有规则。包过滤防火墙只使用filter表,此表为默认的表,因此可以使用下面的命令列出filter表中所有规则:
#iptables -L
使用上面的命令时,iptables将逆向解析IP地址,这将发费很多时间,从而造成信息出来的非常慢。为了解决这个问题,可以使用下面的带有-n参数的命令(-n参数用于显示数字化的地址和端口):
#iptables -L -n
4)向链中添加规则。下面的语句用于开放网络接口:
#iptables -A INPUT -i lo -j ACCEPT
#iptables -A OUTPUT -o lo -j ACCEPT
#iptables -A INPUT -i eth0 -j ACCEPT
#iptables -A OUTPUT -o eth0 -j ACCEPT
#iptables -A FORWARD -i eth0 -j ACCEPT
#iptables -A FPRWAED -o eth0 -j ACCEPT
5)使用用户自定义链。下面是一个用户自定义链的创建、修改和调用的简单命令序列:
猜你喜欢
- 1.PV是衡量一个网站价值的重要参数,在相同的IP下,PV越高也就证明网站价值越大。2.另外一个方面来说,网站的广告点击率在 2--8%之间
- 写下这篇文章之前,我想先说说我自己,我,玉龙,建站经验8年,在K666时代开始泡,chinaz泡过,落伍泡过,cnzz泡过,XXSKY的时候
- 了解网赚的老手,都应该知道,网赚其实是一种思路。遍观现在的网赚项目,网赚教程,遍地飞,其实都是思路的延伸,生发出来的。说什么日赚100,日赚
- 核心提示: 何时执行目标导向内容优化战略?当你确定目标,并有耐心评估网站表现时,这一战略就起作用。当然,这一过程可能花一些时间,需要不断进行
- 说明:满分50分,时间8分钟。请把答案写在纸上。一、单项选择题(2分×15=30分)1.搜索引擎搜索结果页面,简称什么?
- 这两天M$出了个IE8beta1版~害得我的Google Reader里全是IE8的信息,可惜有用的信息太少了,在翻M$的网站时,倒是发现了
- 北京时间11月19日上午消息,网易今早公布2009财年第三季财报,管理层随后于9点举行分析师电话会议,网易CEO丁磊及代理CFO蔡安活参会并
- 北京时间12月2日消息,据国外媒体报道,金融顾问公司Collins Stewart分析师桑迪普·阿格瓦尔(Sandeep Aggarwal)
- 有两台邮件服务器分别为192.168.1.1(windows下主机名为b.test.cn)和192.168.1.3(linux下主机名为a.
- Tomcat除了支持Java Servlet/JSP之外,也可以当做网站服务器使用,但是在对于静态的html文件、图片文件等的解析效率上不如
- 网页游戏又称Web游戏,无需庞大的客户端,打开浏览器即可进行游戏。近年来网页游戏发展势头迅猛,玩家也是越来越喜爱和认可网页游戏。开发一款网页
- 北京时间10月14日消息,美国知名IT杂志《eWeek》网络版今天刊文称,即使是最忠实的谷歌“粉丝”
- 国内知名的网站内容管理系统帝国CMS6.6测试版开源发布。在6.6版本中系统等各方面都进行了完善,新增更多实用功能,优化了更多细节。6.6版
- 一台服务器 几乎所有网站打开网页 甚至HTML网页 都出现了<iframe src="http://xxxdfsfd/web
- 前天吧,晚上和朋友吃了饭聊网络,发现“www.SEOtest.cn”在Google中的排名掉了。搜索
- 相信大多数站长都曾经遭遇过iframe木马的侵害,有朋友的网站被注入了N回iframe,心情可想而知。而且现在ARP攻击,注入iframe也
- Windows系统在长时间地工作之后,往往会不可避免地出现无法启动或者运行出错的故障,面对这些故障我们是选择将就使用,还是选择重新安装系统?
- 1、问:我的机器拥有多个IP地址,它们对应各自的域名,如何建立指向不同目录的多个WWW站点?答:你需要分别将各个Web站点的“Web站点”选
- 1、什么是FTP?FTP有哪些功能?FTP(File Transfer Protocol)是 Internet上用来传送文件的协议(文件传输
- Godaddy主机用户应该怎样核实Google站长工具里的域名呢?使用站长工具,你可以访问crawl statistics, recent