基于Linux系统的包过滤防火墙(6)

来源:asp之家 时间:2009-09-19 20:21:00 

即每分钟所允许的最大包数量为限制速率(本例为3)加上当前的触发阀值burst数。在任何情况下,都可以保证3个包通过,触发阀值burst相当于是允许额外的包数量。

(4)基于状态的匹配扩展(连接跟踪)。

每个网络连接包括以下信息:源地址、目的地址、源端口、目的湍口,称为套接字对(socketpairs);协议类型、连接状态(TCP协议)和超时时间等。防火墙把这些信息称为状态(stateful),能够检测每个连接状态的防火墙叫作状态包过滤防火墙。它除了能够完成简单包过滤防火墙的包过滤工作外,还在自己的内存中维护一个跟踪连接状态的表,比简单包过滤防火墙具有更大的安全性。iptables与ipchains的不同之处在于iptables可以使用连接状态信息,创建基于包的状态的规则匹配。

基于状态匹配创建规则的命令格式如下:

iptables -m state-state [!]state [,state,state,state]

其中,state表是一个用逗号分割的列表,用来指定的连接状态可以是如下的4种:

→NEW:该包想要开始一个连接(重新连接或将连接重定向)。

→RELATED:该包是属于某个已经建立连接所建立的新连接。例如:FTP的数据传输连接和控制连接之间就是RELATED关系。

→ESTABLISHED:该包属于某个已经建立的连接。

→INVALID:该包不匹配于任何连接,通常这些包会被DROP。

例如:

1)在INPUT链添加一条规则,匹配已经建立的连接或由已经建立的连接所建立的新连接。即匹配所有的TCP回应包。

#iptables -A INPUT -m state-state RELATED,ESTABLISHED

2)在INPUTP链添加一条规则,匹配所有从非eth0接口来的连接请求包。

#iptables -A INPUT -m state-state NEW -i ! eth0

又如,对于ftp连接可以使用下面的连接跟踪:1)被动ftp连接模式。

#iptables -A INPUT -p tcp-sport 1024: --dport 1024: -mstate-stateESTABLES -j ACCEPT

#iptables -A OUTPUT -p tcp-sport 1024: --dport 1024:-mstate-state ESTABLISHED,RELATED -j ACCEPT

2)主动ftp连接模式。

#iptables -A INPUT -p tcp-sport 20 -mstate-stateESTABLISHED,RELATED -j ACCEPT -m state-state ESTABLISHED-jACCEPT

(5)TOS匹配扩展。

所有数据包的首部都有一个称为服务类型的专用字段。该字段用于当数据包经过路由器时区分优先顺序。

使用ToS字段,可以使用某种类型的数据包优先于其它的数据包。有标记的数据包在路由器中进行不同的处理。设置ToS字段的工作是在网络层进行的。有关ToS的具体工作过程请参专考RFC1349。

在数据包中设置ToS字段的主要原因是:对不同类型的数据包加以区分,从而在流量较高的网络上减少网络拥塞。

数据包的ToS字段用一个字节表示。此字节的高3位舍弃不用,最低位使用固定值0,因此,有效位共有4个。有效位分别用来控制数据包的最小延时,最大吞吐量,最大可靠度和最小成本。其中,

→最小延时:用于减少数据包从路由到达主机的时间。

→最大吞吐量:用于提高数据传输量。适用于FTP数据端口,HTTP大文件传输和大量的POP3传输。

→最大可靠度:用来试图减少数据重传。

→最小成本:通常只在商业产品中使用。

要创建与ToS字段匹配的规则,可以使用下面的语法:

iptables [-t table]CMD[chain]-m tos tos_value [-j target]

其中tos_value可以是0x02、0x04、0x06、0x08、0x10。

例如:

#iptables -A INPUT -p tcp -m tos 0x08

表示匹配在ToS字段中设置了最大吞吐量的包。

2.3.4 设置目标扩展

要获得目标的简要说明,可以使用如下的命令:

#iptables -j name_of_TARGET-help

目标扩展由内核模块组成,而且iptables的一个可选扩展提供了新的命令行选项。在几个扩展是包含在默认netfilter发布中的。

(1)设置包的ToS值。为了设置数据包的ToS值,需要使用ToS目标扩展。设置ToS的值,只能对FORWARD、OUTPUT和PREROUTING链进行。语法如下:

iptables [-t table]CMD[chain][rule-matcher]-jTOS-set-tostos_value

其中tos_value可以是0x02、0x04、0x06、0x08、0x10。

下面是使用ToS目标扩展设置ToS值的一些例子:

#iptables -A OUTPUT -p tcp -m tcp-dport 21 -j TOS-set-tos0x10

#iptables -A OUTPUT -p tcp -m tcp-dport 22 -j TOS-set-tos0x10

#iptables -A OUTPUT -p tcp -m tcp-dport 110 -jTOS-set-tos0x08

(2)日志记录。iptables使用新的目标扩展LOG来实现日志记录。LOG目标用syslogd记录此包并继续传播。LOG目标扩展还可以使用如下的一些参数:

→ --log-level

跟踪一个级别名称或数字。合适的名字是"debug"、"info"、"notice"、"warning"、"err"、"crit"、"alert"和"emerg",相当于数字7到0。参考syslog.conf的手册可获取这些级别的说明。默认是"warning"。

→ --log-prefix

跟踪一个最多29个字符的字符串,它被写入到log信息的开始处,这样可以方便地使用grep对日志进行过滤。

另外,在使用LOG目标扩展的同时,还可以使用limit match,这样可以使记录有用日志的同时确保日志记录不会变得冗长。

下面是使用LOG目标扩展的一些例子:

#iptables -A FORWARD -m tcp -p tcp -j LOG

#iptables -A FORWARD -m icmp -p icmp-sport echo-reply -j LOG

#iptables -A INPUT -m limit-limit 3/m-limit-burst 3-jLOG-log-prefix "INPUT packet died:"

第3章、包过滤防火墙配置举例

3.1 建立包过滤防火墙

3.1.1网络结构

本节为一个的网络结构建立一个包过滤防火墙。

这个网络结构假设内部网有有效的Internet地址。为了将内部网段198.168.80.0/24与Internet隔离,在内部网络和Internet之间使用了包过滤防火墙。防火墙的网接口是eth1(198.168.80.254),防火墙的Internet接口是eth0(198.199.37.254)。加外,内网中有3台服务器对外提供服务。分别为:

标签:防火墙,linux
0
投稿

猜你喜欢

  • 启用Mod Rewrite和.htaccess

    2010-06-03 14:56:00
  • 企业维护服务器安全的基本方法

    2010-03-24 18:54:00
  • 详解linux下redis安装、启动与停止,redis做成服务

    2023-10-09 04:02:20
  • 二期备案即将上线 备案系统改造投入试运行公告

    2007-09-20 18:15:00
  • 虚拟机VMware安装步骤及镜像文件下载详解

    2022-09-08 01:29:12
  • 国外网络赚钱之支票 美元外汇等基础知识介绍

    2009-03-30 14:10:00
  • 软文对网站的作用

    2008-05-30 12:55:00
  • Discuz论坛首页和内容页的Title分别定义

    2010-02-20 13:06:00
  • 五大途径教您如何提高DIY服务器性能

    2010-03-24 18:33:00
  • 用Windows Server 2003搭建安全文件服务器(1)

    2007-09-26 14:37:00
  • 百度视频全新改版 自动展现每日热门视频

    2009-10-30 14:48:00
  • VMware15虚拟机安装Ubuntu18.04的图文教程

    2022-11-09 23:25:29
  • 什么是黑帽子优化 六个常用链接作弊伎俩

    2008-11-28 10:25:00
  • 4款测试网页加载速度工具

    2010-05-04 14:19:00
  • 典型DoS攻击原理及抵御措施

    2009-09-19 20:15:00
  • Linux系统删除文件夹和文件的命令

    2023-10-10 16:37:03
  • PR更新搜索引擎送给大家的五一节礼物

    2008-04-30 20:45:00
  • 博客等内容型网站 提供访问量的21个途径

    2009-04-07 13:03:00
  • Zend Optimizer是什么?

    2010-04-17 13:00:00
  • 期待web2.0的春天

    2007-09-18 12:19:00
  • asp之家 网站运营 m.aspxhome.com