视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
一种基于Netfilter的认证方法研究与实现
2025-09-25 17:37:27 责编:小OO
文档
设计与应用

计算机测量与控制.2005.13(4) Computer Measurement &Control  

 ・363・

收稿日期:2004-06-28; 修回日期:2004-08-03。基金项目:湖南省自然科学基金资助项目(02JJ Y2094)。

作者简介:周诚(1976-),男,山东单县人,硕士,主要从事网络安全、计算机通讯技术方面的研究。

施荣华(1963-),教授,主要从事计算机通信保密和计算机网络方面的研究。

文章编号:1671-4598(2005)04-0363-03       中图分类号:TP393.08      文献标识码:B

一种基于N etf ilter 的认证方法研究与实现

周 诚,施荣华,杨政宇

(中南大学信息科学与工程学院,湖南长沙 410075)

摘要:随着网络的迅速发展,网络安全显得越来越重要,认证是其中重要的手段。通过对Linux 内核中的Netfilter 模块进行研究,

提出了一种基于Netf ilter Hook 编写网络认证体系的思想、方法,并根据信息隐藏技术的要求,给出了一个认证方法的框架。

关键词:网络安全;认证;Netfilter

R esearch and Implementation of a Certif ication Method B ase d on N etf ilter

Zhou Cheng ,Shi Rong Hua ,Yang Zhengyu

(School of Information Science &Engineering ,Centeal South U niversity ,Changsha 410075,China )

Abstract :wit h development of network ,t he security of net work is more and more important ,aut hentication is one of t he more used met hods to identify t he user ’s ID.After studying t he Netfilter module in t he Linux kernel ,a t hought and met hod based on t he Netfilter HOO K is presented and a aut hentication frame is discussed according to information hiding.

K ey w ords :network security ;aut hentication ;Netfilter

0 前言

Linux 214系统的网络安全体系是由Netfilter -iptables 、

连接跟踪、NA T 共同组成的[1],其中Netfilter 是其中最关键的部分。在现在防火墙系统中,很多就是采用Netfil ter -ipt 2ables 结构体系实现的[2],而本文将讨论如何利用

Netfilter 实现新的应用扩展———构造一种网络认证体系。

本文中所有的开发和试验都在运行于X86系列主机上的Linux 214120中完成。

图1 Netfilter 在内核中的位置

1 Netfilter Frame 简介[3]

IP 协议栈是Linux 操作系统的主要组成部分,是Linux 的

特色之一,素以高效稳定著称。Netfilter 与IP 协议栈是密切结合在一起的,与Linux 内核集成的IP 信息包过滤系统(如图1),其原理就是在协议栈中提供了一些钩子函数,从而实现对流经它的数据包的处理[5-6]。

Netfilter 是嵌入内核IP 协议栈的一系列调用入口,设置在报文处理的路径上,钩子(HOO K )类型定义在netfilter _ipv41h 中[6]。报文按照来源和去向,可以分为三类:流入的、流经的和流出的,其中流入和流经的报文需要经过路由才能区

分,而流经和流出的报文则需要经过投递。Netfilter 就是根据网络报文的流向,在这几个点插入处理过程,钩子类型和所在的位置如表1所示,钩子处理的相应动作如表2所示。

表1 Netfilter HOO K 的位置及描述

HOO K 类型

描  述

N F_IP_PRE_ROU TIN G:在报文作路由以前执行;

N F_IP_FORWARD :在报文转向另一个NIC 以前执行N F_IP_POST_ROU TIN G:在报文流出以前执行;

N F_IP_LOCAL_IN :在流入本地的报文作路由以后执行;N F_IP_LOCAL_OU T :

在本地报文做流出路由前执行。

表2 钩子处理的动作

N F_ACCEP T :继续正常的报文处理;N F_DROP :

将报文丢弃;

N F_STOL EN :由钩子函数处理了该报文,不要再继续

传送;

N F_QU EU E :将报文入队,通常交由用户程序处理;N F_REPEA T :

再次调用该钩子函数。

2 基于内核的认证方法工作原理和流程

核心模块编程也许是Linux 开发中最有趣的部分之一。以恶意的观点来看,可以隐藏文件、进程,并且做各式各样的,任何的root 能够做的事情。但是如果从系统安全的角度来看,可以隐藏文件、进程、网络认证以及做很多安全有关的各式各样事情。

有了赋予内核级程序员的强大力量,很多事情成为可能。其中最有趣的一个就是嵌入到内核中的后门,作为隐藏后门的守护进程,而在这里本文所提出的是安放一个用作内核后门

 ・3・计算机测量与控制 第4期

的网络认证服务,而这就正是利用Netfilter HOO K 完成的!

在这里将展现的是一个简单、原理性的,采用Netfilter 做的后门模块。该模块吸收了包过滤防火墙的思想:首先在服务器端做了一个防火墙,监控所有进入网络的报文,从中找出所需要的特殊报文,而其它的则直接丢弃,然后根据这个特殊报文的格式完成相应的操作(如图2所示)。根据不同要求和目的,可以选择多种协议用来作为报文的载体[4]

图2 基于内核认证系统原理图

下面将以ICMP 协议(ICMP ,网络控制报文协议--In 2

ternet Control Message Protocol )[7]为例具体介绍这种认证方法,流程如图3所示。

图3 认证系统工作流程图

该模块是在N F _IP _LOCAL _IN 处加载,可以监控所

有进入本机的报文。首先判断进入的报文是否是ICMP 数据包。如果是,则查找其数据格式是否满足要求。当有这样一个ICMP 报文(格式1)被发现,则清除记录的IP 地址和访问标志,结束本次认证。当另一个“魔法”ICMP 报文(格式2)被发现后,该模块就记录该报文中的IP 地址,并设置允许访问的标志,完成本次认证,从而该IP 地址就可以进行允许范围之内控制操作;否则立即返回N F _DROP ,丢弃该数据包。

如果模块监控发现输入的是TCP 数据包,则进一步检查标志是否设置,如果没有设置则立即返回N F _DROP ,丢弃该数据包;如果设置,则比较IP 地址,满足返回N F _AC 2CESS ,允许该IP 进行下一步的访问;否则也返回N F _DROP ,丢弃该数据包。

如果两者都不是,则表示不满足认证系统的需要,立即返

回NF _DROP ,丢弃该数据包。

客户端认证程序相对简单,就是在发送ICMP 数据包的时候,要注意使用服务器端相约定的报文格式,注意认证和结束认证的报文格式是不同的[7]。

3 综合性能分析

311 安全性分析

如图2所示,从服务器外面看,服务器不存在任何事先打开的网络端口,服务器是采用动态的开启网络访问端口,只有在基于内核的网络认证成功之后,才会开启网络服务所要的端口。同时,在网络访问端口开启之后,也只有开启者的IP 地址才能访问这个端口,其它IP 地址依然是不能看到和访问该端口的。也就是说不管是否认证,整个服务器对于没有认证的IP 地址都是一个黑箱[4],即隐藏了认证的路径。

具体而言:如果进入服务器的协议或报文格式不对,则直接丢弃,也就不会给攻击方以任何突破口。即使使用网络或端口扫描工具,由于网络端口是动态开启的,而且开启之后也只有开启着才能访问,因此也是无法找出可用的端口,从而保证了认证的安全和可靠性,也就是说相当于利用Netfilter 的特性在服务器外面加了一层包过滤的防火墙保护。

如果不泄漏特殊报文格式(钥匙),攻击方甚至是无法知道服务器是否正在工作。只有知道密钥,才能通过服务器的后门,打开所需要的网络端口(通道),进行下一步控制操作。

由于从图2中,可以看到在访问结束后,会利用另一钥匙把打开的通道关闭,保证服务器重新进入黑箱状态,以防止假冒IP 的攻击。

经过前面的介绍,可以看出这种方法能和目前的网络安全策略相结合,从而进一步提高完成某些网络设置、配置文件的修改等网络控制操作的安全系数。

由于采用特殊的报文作为开启网络访问的钥匙,在网络传递过程中,也存在可能被截取的情况。如果采用明文传递,很容易被黑客截取和分析出密钥的格式,安全系数明显不高;如果对传递的ICMP 报文加入IP 信息、采用时间戳、一次一密等防护手段,就可以做到即使报文被截取,密钥的数据格式,黑客也很难得到,也就可以相对提高系统的安全系数。312 效率分析

从流程图(图3)可以看到,对于除ICMP 的其他协议报文,模块很快就返回(这里是NF _DROP ,把报文丢弃),等待下一个报文的到来。

对于TCP 协议的报文,在标志设置完成后,客户端要访问服务器,只要再经过两次比较,就可以了,速度几乎可以到达线性,影响忽略不计;在标志没有设置情况,则很快返回,等待下一个报文。

当为ICMP 协议时,因为需要耗时间进行两次检测ICMP 报文的格式,而这部分速度则受匹配算法影响。在检测结束后,也很快返回,等待下一个报文。

也就是说,当条件不满足的时候,该方法将丢弃所有接收的报文,即使以后进行功能扩展,需要这些数据包的时候,也不会因为采用这种方法,而影响整个网络的性能。整个系统对速度影响最大的就是在对ICMP 格式的检测。

第4期周诚,等:一种基于Netfilter 的认证方法研究与实现・365・ 

  所以,整个系统的效率依赖于ICMP 格式的检测上。要安全系数高,则要采用高难度的算法;要效率高,则要采用高速的算法。因此最终采用何种算法,要根据现场需要,综合安全和效率考虑,选择相应的算法。313 系统测试

测试1:在加载模块后,不管系统是否完成认证,用端口扫描、DoS 等方法攻击服务器[4],都得到一个结果:“数据包无法到达……”,也就是即服务器处于黑箱子状态。

测试2:截取报文,从报文中,很难知道其报文格式,再将把截取到的报文,修改ICMP 报文头中的IP 信息后重发,由于报文中的IP 信息和ICMP 头中的不一致,也会被丢弃,同时记录下该IP 。

测试3:在完成系统认证后,客户端则可以对服务器进行相应的控制和操作,速度几乎不受影响;操作结束后,关闭通道,服务器又回复到黑箱子状态,这样可以防假冒IP 进行访问。测试结果说明,该认证系统能够抵御很大部分的网络攻击,而且对系统其它性能也不会产生较大影响,因此该认证系统具有一定的可行性和较高的安全性。

4 小结

本文给出了一个Netfilter 的一种扩展———网络认证,介绍

了该方法的工作原理和流程,可以看出该方法具有高效、安全的优点。如果在该方法上再结合SSL 、数字签名、证书等认证手段,形成多种认证方法相结合的安全认证体系,则可以把网络认证做到更安全,可靠。该方法在防火墙配置、核心信息查询等安全要求高的场所都有广泛的应用价值。

参考文献:

[1]Russell R.Linux 214Packet Filtering HOW TO [Z].mailing list

netf ilter @list s.samba.org v1.0.1CST ,2000.

[2]赵萍,等.防火墙和入侵检测技术分析[J ].计算机测量与控制,

2002,10(5):335-338.

[3]Russell PR.Writing a module for netfilter [J ].Linux Magazine ,

http ://www.linux -mag.com/2000-06/gear _01.ht ml ,2000.

[4]沈勇,等.Netfilter 在拒绝服务防范中的应用[J ].计算机应用

研究,2002,19(5):67-69.

[5]王宏健,等.基于Linux 内核防火墙Netfilter 的安全应用的设计

方法[J ].小型微型计算机系统,2001,22(12):1516-1518.

[6]毛德操,胡希明.Linux 内核源代码情景分析[M ].杭州:浙大

出版社,2001.

[7]Stevens W R.TCP/IP 详解[M ].北京:机械工业出版社,2000.

(上接第345页)

上图中采用PID1指令作为TIC201的温度调节器,也是该串级调节回路的主调节器;采用PID2指令作为FIC101的流量调节器,也是该串级调节回路的副调节器。PID1的输出MV1作为PID2的给定值SV2,PID2的输出MV2通过D/A 单元控制F TV601,流量信号F101经A/D 转换作为PID2的测量值PV2,温度信号T201经A/D 转换作为PID1的测量值PV1。实现的聚合反应控温曲线如图7所示。本例PL C 系统采用的PID 指令均为二自由度PID 指令,实现控温过程平稳,限于篇幅,参数整定从略

图7 反应过程中的温度曲线

3 结论

基于PL C 的二自由度PID 控制算法具有编程简单、调试

方便、适应性广等特点,由于在顺序控制方面独具优势,因此,较适合于间歇生产过程的控制。采用该算法在中试聚合反应系统上投运后,工作正常,控制效果稳定可靠,具有很好的实用和推广价值。

参考文献:

[1]曹辉,霍罡.可编程序控制器系统原理及应用[M ].北京:电子

工业出版社,2003.

[2]游文虎,姜复兴.一种改进PID 算法在组合导航仿真实验台中的

应用[J ].计算机测量与控制,2004,12(7):675-677.

[3]王振鹏,段晨东,何正嘉.基于虚拟仪器技术实现PLC 控制系统

的状态监测和故障诊断[J ].计算机测量与控制,2004,12(8):

711-713.

[4]霍罡,曹辉.变频的在线故障检测技术的应用研究.计算机测量

与控制,2004,12(12):1134~1136.

专业提供各种军用民用Flash

  M -systems 产品系列:315英寸、215英寸FFD 系列电子盘。与机械硬盘兼容、接口与安装结构基本一致。容量128MB 至9011G B 。电子盘(宽温、普温)产品系列:DiskOnChip (DOC )、DiskOnModule (DOM )C ompactFlash 2Card (CF 卡)PCMCIA Card (PC 卡)

中国指定代理商 诚征区域经销商

华高科技北京分公司

地 址:北京海淀区西大街70号305室(100080)联系人:冯闰生   电 话:010282872251626592华高科技深圳分公司地 址:深圳市深南大道6007号创展中心1711室(518040)联系人:罗定安   电 话:0755-8386701883867718华高科技成都分公司联系人:赵欣    电 话:02828555695185533246下载本文

显示全文
专题