9.2.3 管理主机防火墙规则
来源:互联网 发布:js qq在线客服 编辑:程序博客网 时间:2024/05/21 19:21
9.2.3 管理主机防火墙规则
可以有很多功能种类的防火墙,有些是安装在某一台主机上,主要用于保护主机本身的安全;有些是安装在网络中的某一节点,专门用于保护网络中其他计算机的安全;也有一些可以为内网的客户机提供NAT服务,使内网的客户机共用一个公网IP,以便节省IP地址资源。下面首先介绍一下主机防火墙的应用示例。
当一台服务器为外界提供比较重要的服务,或者一台客户机在不安全的网络环境中使用时,都需要在计算机上安装防火墙,以最大限度地防止主机受到外界的攻击。9.2.2小节介绍的开机时默认的防火墙设置非常典型,用户可以根据自己主机的功能关闭已经开放的端口,或者开放更多的端口,以便允许符合更多规则的数据包通过。
例如,为了使主机能为外界提供telnet服务,除了配置好telnet服务器外,还需要开放TCP23号端口。因为在默认的防火墙配置中,并不允许目的端口为23的TCP数据包进入主机。为了开放TCP23号端口,可以有两种办法,一种是在RH-Firewall-1-INPUT链中加入相应的规则,还有一种是把规则加到INPUT链中。但需要注意的是,规则是有次序的,如果使用以下命令,则是没有效果的。
# iptables -A RH-Firewall-1-INPUT -p tcp --dport 23 -j ACCEPT
上述命令执行后,可以再次查看规则情况。
# iptables -L -n --line-number
…
Chain RH-Firewall-1-INPUT (2 references)
num target prot opt source destination
…
11 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
12 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25
13 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-
prohibited
14 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:23
# 新添加的规则
#
可以看到,新添加的规则位于最后的位置。由于所有的数据包都可以与目标动作为REJECT的规则号为13的规则匹配,而REJECT代表的是拒绝,因此数据包到达新添加的规则前肯定已被丢弃,这条规则是不会被使用的。为了解决这个问题,需要把上述规则插入到现有的规则中,要位于规则13的前面。下面是正确的开放TCP23号端口的命令。
# iptables -I RH-Firewall-1-INPUT 11 -p tcp --dport 23 -j ACCEPT
以上命令中,“-I RH-Firewall-1-INPUT 11”表示在RH-Firewall-1-INPUT链原来的规则11前面插入一条新规则,规则内容是接受目的端口为23的TCP数据包。为了删除前面添加的无效规则,可以执行以下命令。
# iptables -D RH-Firewall-1-INPUT 15
15是第一次添加的那条无效规则此时的规则号,也可能是其他的数值,可根据具体显示结果加以改变。如果希望新加的规则与原来的规则11、12等类似,可以执行以下命令。
# iptables -I RH-Firewall-1-INPUT 11 -m state --state NEW -p tcp --dport 23 -j ACCEPT
以上是在RH-Firewall-1-INPUT链中添加规则,以开放TCP23号端口。还有一种开放TCP23号端口的方法是在INPUT链中添加规则,具体命令如下所示。
# iptables -I INPUT 1 -p tcp --dport 23 -j ACCEPT
# iptables -L --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- anywhere anywhere tcp dpt:telnet
2 RH-Firewall-1-INPUT all -- anywhere anywhere
…
%注意:添加的规则也要位于原来规则2的前面,否则,任何数据包都匹配规则2,将会跳到RH-Firewall-1-INPUT链,并且不再回来。因此,添加在规则2后面的规则都是无效的。
前面介绍的是在RHEL5默认防火墙规则的基础上添加用户自己的防火墙规则,以开放TCP23号端口。在很多的时候,用户可能希望从最初的状态开始,构建自己的防火墙。为了从零开始设置iptables防火墙,可以用以下命令清空防火墙中所有的规则。
# iptables -F
然后再根据要求,添加自己的防火墙规则。一般情况下,保护防火墙所在主机的规则都添加在INPUT内置链中,以挡住外界访问本机的部分数据包。本机向外发送的数据包只经过OUTPUT链,一般不予限制。如果不希望本机为外界数据包提供路由转发功能,可以在FORWARD链中添加一条拒绝一切数据包通过的规则,或者干脆在内核中设置不转发任何数据包。
- 9.2.3 管理主机防火墙规则
- 9.2.5 使用图形界面管理主机防火墙规则
- 9.2.4 常用的主机防火墙规则
- 9.2 iptables主机防火墙
- linux防火墙基础和管理设置iptables规则
- ESX 3防火墙规则分析与修改
- 外围防火墙规则+内部防火墙规则
- 防火墙默认规则
- win7防火墙规则设置
- 防火墙规则测试工具
- 防火墙规则修改
- ubuntu防火墙规则
- linux防火墙过滤规则
- 状态防火墙规则设计
- iptables防火墙添加规则
- 防火墙规则设定
- 防火墙的规则
- linux 防火墙配置规则
- 9.2.1 iptables防火墙的运行与管理
- 进程间通信
- 9.2.2 RHEL 5开机时默认的防火墙规则
- 使用 C# 进行 Outlook 2007 编程
- SQL中CONVERT时间转化函数的用法
- 9.2.3 管理主机防火墙规则
- Sqlite基础及其与SQLServer语法差异
- 9.2.4 常用的主机防火墙规则
- 9.2.5 使用图形界面管理主机防火墙规则
- 学会使用SafeArray
- 结婚周年送媳妇什么好啊???
- 一些silverlight网站、第三方控件及开源代码与大家们分享(微软转载)
- Too many files open; check that FILES = 20 in your CONFIG.SYS file 解决方案
- 优化系列