基于Linux的IPv6复合防火墙的设计

发布者:人妙果华最新更新时间:2013-10-31 来源: eefocus关键字:IPv6  防火墙  网络安全 手机看文章 扫描二维码
随时随地手机看文章
引言

IPv6运用AH和ESP对所传输的数据进行认证和加密,保证了数据的机密性、完整性和可靠性,实现了信息在传输过程的安全性。但IPv6并不能保障网络系统本身的安全及其提供的服务的可用性,也不能防止黑客的非法入侵和窃取私有数据。面对IPv6将要广泛的应用,有必要将其和防火墙相结合来保障整个网络系统的安全。

目前Linux操作系统自2.2内核以来已提供对IPv6的支持,其性能稳定且安全性较高,因此本文以Linux为平台来研究设计针对IPv6的防火墙系统。

Linux内核对数据包的过滤处理

netfilter框架机制

netfilter是linux2.4内核以后实现数据包过滤处理的一个抽象的、通用化的功能框架,它提供了不同于BSD Socket接口的操作网络数据包的机制。在netfilter中,协议栈每种协议都定义了若干个钩子(HOOK),而对应协议的数据包将按照一定的规则通过一些钩子,每一个钩子都是处理函数挂载点。内核模块可以在各个钩子上注册处理函数以操作经过对应钩子的数据包。数据包经过所注册的函数处理后,根据一定的策略返回给内核进行下一步的处理。
IPv6协议定义了五个钩子:

(1)NF_IPv6_PRE_ROUTING:数据包在抵达路由之前经过这个钩子。一般应用于防止拒绝服务攻击和NAT。
(2)NF_IPv6_LOCAL_IN:目的地为本地主机的数据包经过这个钩子,这个钩子可以应用于防火墙。
(3)NF_IPv6_FORWARD:目的地非本地主机的数据包经过这个钩子。
(4)NF_IPv6_POST_ROUTING:数据包在离开本地主机之前经过这个钩子,包括源地址为本地主机和非本地主机的数据包。
(5)NF_IPv6_LOCAL_OUT:本地主机发出的数据包经过这个钩子。这个钩子可以应用于防火墙。如图1所示。


图1 netfilter框架机制

数据包从左边进入系统,进行IP校验以后,数据包经过第一个钩子NF_IP6_PRE_ROUTING注册函数进行处理,然后就进入路由代码决定该数据包是需要转发还是发给本机。若该数据包是发给本机的,则该数据经过钩子NF_IP6_LOCAL_IN注册函数的处理以后传递给上层协议。若该数据包应该被转发则它被NF_IP6_FORWARD注册函数处理。经过转发的数据包经过最后一个钩子NF_IP6_POST_ROUTING注册函数的处理以后,再传输到网络上。本地产生的数据经过钩子NF_IP6_LOCAL_OUT注册函数处理以后,进行路由选择处理,然后经过NF_IP6_POST_ROUTING注册函数的处理以后发送到网络上。每个注册函数处理完后,将返回一个整形常量,内核根据这个返回值来对数据包作下一步的处理,现在内核共定义了以下五个常量:

(1)NF_DROP表示丢弃此数据包,而不进入此后的处理;
(2)NF_ACCEPT表示接受此数据包,进入下一步的处理;
(3)NF_STOLEN表示异常分组;
(4)NF_QUEUE表示排队到用户空间,等待用户处理;
(5)NF_REPEAT表示再次进入该钩子函数作处理。

ip6tables数据包过滤系统

目前,基于Netfilter框架的、称为ip6tables的IPv6数据包选择系统在Linux2.4以上的内核中被应用,它可以让用户访问内核过滤规则和命令。这种数据包选择主要用于实现数据包过滤(filter表)、网络地址转换(nat表)及数据包处理(mangle表)。Linux2.4内核提供的这三种数据包处理功能都基于Netfilter的钩子函数和IP表。它们相互之间是独立的模块,但完美的集成到由Netfilter提供的框架中。

filter表格不对数据包进行修改,只对数据包进行过滤。它通过钩子函数NF_IP6_LOCAL_IN、NF_IP6_FORWARD及NF_IP6_LOCAL_OUT接入Netfilter框架。NAT表格监听三个Netfilter钩子函数:

NF_IP6_PRE_ROUTING、NF_IP6_POST_ROUTING及NF_IP6_LOCAL_OUT,用于源NAT、目的NAT、伪装(是源NAT的一个特例)及透明代理(是目的NAT的一个特例)。mangle表格在NF_IP6_PRE_ROUTING和NF_IP6_LOCAL_OUT钩子中进行注册。使用mangle表,可以实现对数据包的修改或给数据包附上一些额外数据。
ip6tables用户命令基本上包含以下5部分:

(1)希望工作在哪个表(Filter、NAT、Mangle);
(2)希望使用⑴所指定的表的哪个链(INPUT、OUTPUT、FORWARD等);
(3)进行的操作(插入、添加、删除、修改);
(4)对特定规则的目标动作;
(5)匹配数据包条件。ip6tables的语法为:

#ip6tables[-ttable] command [match] [target] [-ttable]有三种可用的表选项:filter、nat和mangle。该选项如果未指定,则filter用作缺省表。filter表用于一般的信息包过滤,它包含INPUT、OUTPUT和FORWARD链。nat表用于要转发的信息包,它包含PREROUTING、OUTPUT和POSTROUTING链。

PREROUTING链由指定信息包一到达防火墙就改变它们的规则所组成,而POSTROUTING链由指定正当信息包打算离开防火墙时改变它们的规则所组成。如果信息包及其头内进行了任何更改,则使用mangle表。该表包含一些规则来标记用于高级路由的信息包,该表包含PREROUTING和OUTPUT链。[page]

ip6tables的基本操作(command):-A表示在链尾添加一条规则,-I表示插入一条规则,-D表示删除一条规则,-R表示替代一条规则,-L表示列出所有规则。

ip6tables基本目标动作(target)(适用于所有的链):ACCEPT表示接收该数据包,DROP表示丢弃该数据包,QUEUE表示排队该数据包到用户空间,RETURN表示返回到前面调用的链,FOOBAR表示用户自定义链。
ip6tables基本匹配条件(match)(适用于所有的链):-p表示指定协议,-s表示源地址,-d表示目的地址,-i表示数据包输入接口,-o表示数据包输出接口。例如,识别IPv6的网络服务器上的SSH连接时可以使用以下规则:
#ip6tables-AINPUT-ieth0-ptcp-s3ffe:ffff:100::1/128--dport22-jACCEPT
当然,还有其他对规则进行操作的命令,如清空链表,设置链缺省策略,添加用户自定义的链等,这里不再详述。
INPUT、OUTPUT、FORWARD链是ip6tables内置的过滤链,每条链都可定义若干条过滤规则,构成了基本的ip6tables包过滤防火墙,如图2所示。


图2 ip6tables内置的过滤链表

应用服务代理

包过滤防火墙只考查数据包的少数几个参数,对高层的应用服务不能识别。为了能过滤服务连接,通过代理服务器使允许代理的服务通过防火墙,阻塞没有代理的服务。因此,使用代理服务的好处就是可以过滤协议,在应用层级建立起安全机制。应用代理后网络通信过程如图3所示。


图3 应用代理后网络通信过程

Squid是Linux下一个高性能的代理缓存服务器,支持FTP、gopher和HTTP协议。和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。可从www.squid-cache.org获取该软件的源代码安装包squid-2.5.STABLE.tar.gz,解压缩包:

#tarxvfzsquid-2.5.STABLE2.tar.gz
然后,进入相应目录对源代码进行配置和编译:
#cdsquid-2.5.STABLE2
#./configure--prefix=/var/squid
--sysconfdir=/etc
--enable-arp-acl
--enable-linux-netfilter
--enable-pthreads
--enable-err-language="Simplify_Chinese"
--enable-storeio=ufs,null
--enable-default-err-language="Simplify_Chinese"

最后执行#make;makeinstall将源代码编译为可执行文件完成安装。为了使squid支持IPv6,从devel.squid-cache.org/projects.html#squid3-ipv6下载squid3-ipv6.patch补丁并安装。接下来在/etc/squid.conf中对squid的运行进行配置。

下面是一个在配置文件中有关IPv6部分的简单例子:
#IPv6的访问控制列表
aclallsrc::/0
aclsitelocalsrcfec0:/16
aclipv4::ffff:0:0/96
#对列表所做的处理
http_accessdenyipv4
http_accessallowsitelocal
http_accessdenyall

IPv6复合型防火墙的设计

把分组过滤系统ip6tables和应用代理squid结合使用,由分组过滤控制通信的底层,代理服务器用于过滤应用层的服务,这样就能从网络层到应用层进行全方位的安全处理。比如若要对http协议进行控制,则用ip6tables把对Web端口80的请求转发到squid端口,由squid对这个应用层协议进行控制,而用户浏览器仍然认为它访问的是对方的80端口。如下面这条命令:

#ip6tables-tnat-APREROUTING-ieth0-s3ffe:ffff:200:: 1/128-ptcp--dport80-jREDIRECT--to-ports3128(eth0为防火墙主机输入接口,3128是squid监听HTTP客户连接请求的缺省端口)。系统的工作流程如图4所示。当一个数据包进入防火墙后,首先由ip6tables的nat表中PREROUTING链的规则来判断这个数据包的高层协议(如HTTP、FTP等)是否应受控制,若应受控制,则将其定向到squid端口,由squid代理进程进行处理,如上命令所示。之后,进行路由判断,若是防火墙本地包,则要由INPUT链处理,若是外地包,则要由FORWARD链来处理,最后经过POSTROUTING链的snat处理把数据包转发出防火墙,形成透明代理。如下命令所示:


图4 IPv6复合型防火墙系统的工作流程

ip6tables-APOSTROUTING-tnat-sIPv6(s1)-oeth1-jSNAT--to-sourceIPv6(s)。其中IPv6(s1)指数据包的源IPv6地址,eth1为防火墙主机输出接口,IPv6(s)指防火墙主机的出口地址。

若数据包来自防火墙主机本身,经过PREROUTING链规则处理,判断是否应进行squid代理,若是,则进行squid处理,之后经过OUTPUT链规则处理,再判断路由,最后由POSTROUTING链的snat处理把数据包转发出防火墙。

结论

由squid限定内外网络之间的服务连接,使它们都通过squid的介入和转换,再由防火墙本身提交请求和应答,这样就使内外网络的计算机不会直接进行会话,结合ip6tables的包过滤控制底层通信,从而能建立起一种从网络层到应用层坚固的IPv6防火墙系统。ip6tables和squid都可以免费获得,因此无论从安全性还是从经济性来说,这都是一种非常好的IPv6防火墙解决方案。

关键字:IPv6  防火墙  网络安全 引用地址:基于Linux的IPv6复合防火墙的设计

上一篇:实时嵌入式操作系统VxWorks设备驱动程序的设计
下一篇:KVM在嵌入式Linux上的移植

推荐阅读最新更新时间:2024-05-02 22:49

勒索软件是网络安全的最大威胁之一
勒索软件任务组(RTF)联合主席约翰•戴维斯:勒索软件是网络安全的最大威胁之一 勒索软件已成为当今社会最普遍的威胁之一,从一种网络犯罪滋扰发展成为对国家及全球安全、经济稳定和公共安全的严重威胁。近期发生的事件凸显了这一威胁的严重性,其中包括美国一条主要输油管道在受到活跃网络勒索团伙攻击后被迫关闭。 来自Palo Alto Networks(派拓网络)Unit 42威胁情报团队的数据表明,这些攻击造成的成本飞涨:去年平均支付的网络赎金增加了一倍多,达到31.2493万美元。2021年到目前为止,平均付款额几乎翻了三倍——达到约85万美元。Unit 42事件响应团队今年看到的最高赎金要求达5000万美元——高于2020年的30
[网络通信]
勒索软件是<font color='red'>网络安全</font>的最大威胁之一
DEKRA德凯推出全球首个电动汽车充电桩网络安全认证计划
斯图加特2022年12月6日 /美通社/ -- DEKRA德凯推出首个针对所有类型电动汽车供电设备(Electric Vehicle Service Equipment,EVSE)的网络安全认证计划,并成为全球首家提供相关网络安全认证服务的公司。该认证计划基于网络安全国际标准,例如ETSI EN 303 645或IEC 62443,旨在通过安全解决方案,帮助制造商确保其EVSE产品能够应对安全威胁。 通过该项认证的EVSE产品将获得DEKRA Seal证书,表明其已通过DEKRA德凯测试并符合相关网络安全要求。DEKRA德凯全新认证计划增加了端到端的测试认证服务,涵盖三个安全等级,以保障所有类型EVSE产品的安全性、可靠
[汽车电子]
DEKRA德凯推出全球首个电动汽车充电桩<font color='red'>网络安全</font>认证计划
思科将收购安全公司Cognitive提升网络安全
网易科技讯 1月30日消息,据国外媒体报道,思科今天在官方博客上宣布,它将收购捷克的一家小型私有安全公司Cognitive Security。Cognitive Security致力于网络安全研究和应用人工智能技术监测高级网络威胁。 思科负责并购工作的企业商业开发主管希尔顿·罗曼斯基(Hilton Romanski)表示,“思科的安全愿景是,提供永远开启的整合式安全系统,促使客户获得移动云业务的益处。思科基于云的全球威胁智能感知系统和Cognitive Security的实时行为分析服务,将整合成一个通用策略引擎,从而在智能网络中控制分布式网络攻击行为,以及消除高级网络威胁。” Cognitive Security的员工将加盟
[网络通信]
倪光南院士:网络安全比芯片等核心技术提升更须国人警惕
小编按:倪光南院士在文章中提到,中国与国外在芯片领域上有差距,但是我们不能一味的去批评,毕竟中国正在追赶。除了在芯片领域中国出现的问题外,在操作系统上我们也一直受制于人。这样软件无法跟上,硬件也没法保障,在核心技术上我们受制于人,既无法保障网络安全,也无法保证产业的发展。 因中兴被美国“封杀”,芯片产业受到中国人的高度关注。美国扼住了中兴产业链的咽喉,是不是就说明中国芯片产业技不如人呢?我认为这要分不同领域、不同场合去看,不可一概而论。 芯片差距不可一概而论 芯片分超级计算机应用、桌面应用、移动应用、工业应用及消费应用等不同场合。在高性能计算机领域,安装中国自主研发的“申威26010”众核处理器的“神威太湖之光”在
[嵌入式]
2016年的五大主导信息安全趋势
    随着2015年即将接近尾声,我们可以预期,在2016年相关网络罪犯活动的规模、严重程度、危害性、复杂性都将继续增加,一家负责评估安全和风险管理问题的非营利性协会:信息安全论坛(ISF)的总经理史蒂夫·德宾代表其成员表示说。   “在我看来,2016年可能将会是网络安全风险最为严峻的一年。”德宾说。“我这样说的原因是因为人们已经越来越多的意识到这样一个事实:即在网络运营正带来了其自己的特殊性。”   德宾说,根据ISF的调研分析,他们认为在即将到来的2016年,五大安全趋势将占据主导。   当我们进入2016年,网络攻击将进一步变得更加具有创新性、且更为复杂,德宾说:“不幸的是,虽然现如今的企业正开发出新的安全管理机制
[安防电子]
我国IPv6上网等来历史性一刻 真相很残酷
  近期中美贸易战、中兴事件不断刺激国人神经,引发各界人士围绕“核心技术”话题展开了思想碰撞与反思,也让中国人充分意识到自己手中的砝码,只有那些能够掌握核心技术的领域。而在最为活跃的互联网,甚至需求最大的半导体行业里,大量的“核心技术”却被老美把控,如同被人掐住了命门。已历近代百年血泪史洗礼的泱泱大国,又怎能再次受制于人?下面就随网络通信小编一起来了解一下相关内容吧。    中国输不起网络战   如今,我国已拥有众多的网民与庞大的互联网经济体系。据CNNIC(中国互联网络信息中心)统计,截至2017年12月,我国网民规模已达7.72亿,超过印美两国网民数量的总和,人数则占到全球网民总数的五分之一以上。   互联网经济GDP占
[网络通信]
AccessData网络安全副总裁将在台北发表演讲
AccessData网络安全副总裁Jason Mical将在台北Secutech 2014发表专题演讲。 此次演讲主题将围绕企业和政府部门如何在以复杂数据为主的网络、移动设备和IT环境受到网络攻击后快速应对和展开补救。 新加坡 , 2014年3月17日 - 亚太商讯 - 应急响应解决方案(Incident Resolution)解决方案领导者AccessData日前宣布,其集团网络安全副总裁JasonMical将于2014年3月19-31日在台湾台北市举行的第17届国际电子安全、信息安全、消防和安全展会和会议(Secutech) 上作为特邀演讲嘉宾发表专题演讲。 Mical的主题演讲标题是“由国际资安检测分析
[网络通信]
国内安全行业面临挑战,网络安全的九大新趋势你知道吗?
随着互联网的深入发展,网络安全态势越来越严重。从勒索病毒、数据泄露、黑客攻击到恶意软件和基础设施攻击等,网络安全已经成为悬在互联网上的“达摩克利斯之剑”。 目前,网络安全角势严峻已经成为全球共识。相比国外,国内安全行业面临的挑战正在不断增大。 来自阿里巴巴集团安全部的资深总监张玉东认为,国内企业安全意识觉醒力度不够、安全投入不足。同时,很多企业的安全做法相对于瞬息万变的黑灰产形态,仍然比较传统。并且在数字时代,企业在准备不足的情况下,要面临数据安全保护的巨大挑战。而即将到来的 5G /IPv6/ IoT 时刻将深刻改变互联网的安全格局。 张玉东总结了网络安全行业和技术在架构、应用、对抗样本、智能攻防等方向的九大新趋势。 趋势1
[安防电子]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved