Linux安全网关接口SGI的设计与实现
- 格式:docx
- 大小:44.67 KB
- 文档页数:4
一、LTE组网图二、网元介绍2。
1、HSS:HSS(Home Subscriber Server)是支持用于处理调用/会话的IMS网络实体的主要用户数据库。
HSS9820从逻辑上划分为BE(Back End)和FE(Front End)两部分,实现用户数据与业务逻辑处理的分离。
•BEBE即USCDB(Unified Subscriber Center DataBase),负责存储用户数据,提供用户数据的增加、删除、更新和查询服务,为FE提供有效的数据支撑。
•FEFE负责信令接入和业务逻辑处理,从BE获得数据服务。
2.2、MME:MME(Mobility Management Entity)MME是核心网其中的一个网元,是核心网中负责处理信令的网元,MME是一个信令实体,主要负责移动性管理、承载管理、用户的鉴权认证、SGW和PGW的选择等功能;➢NAS信令解析和处理。
➢NAS信令的安全性,NAS (Non—Access Stratum)非接入层信令的加密和完整性保护.➢与其他3GPP网络的核心网交互,进行移动性控制➢控制和执行寻呼的传递➢TA列表的管理➢维护TAI和UE位置区(LAI)的映射,UE时区的管理➢PDN网关和服务网关的选择➢切换到2G/3G时,选择SGSN➢MME改变时,选择MME➢漫游的处理➢鉴权管理➢承载管理2。
3、SGW:Serving GWSGW终结和E-UTRAN的接口,主要负责用户面处理,负责数据包的路由和转发等功能,支持3GPP不同接入技术的切换,发生切换时作为用户面的锚点;对每一个与EPS相关的UE,在一个时间点上,都有一个SGW为之服务。
SGW和PGW可以在一个物理节点或不同物理节点实现。
支持UE的移动性切换用户面数据的功能,E—UTRAN空闲模式下行分组数据缓存和寻呼支持 ,分组数据路由及转发;移动性及切换支持;合法监听;计费(针对用户进行计费),类似取代原2G、3G核心网SGSN用户承载功能。
计算机常用术语服务器c2c: card-to-card interleaving,卡到卡交错存取cc-numa(cache-coherent non uniform memory access,连贯缓冲非统一内存寻址)chrp(common hardware reference platform,共用硬件平台,ibm为powerpc制定的标准,可以兼容mac os, windows nt, solaris, os/2, linux和aix等多种操作系统)emp: emergency management port,紧急事件管理端口icmb: inter-chassis management bus, 内部管理总线mpp(massive parallel processing,巨量平行处理架构)mux: data path multiplexor,多重路径数据访问通信cti:computer telephone integration,计算机电话综合技术dbs: direct broadcast satellite,直接卫星广播dwdm: dense wavelength division multiplex,波长密集型复用技术mmds: multichannel multipoint distribution service,多波段多点分发服务pcm: pulse code modulation,脉冲编码调制pstn(public switched telephone network,公用交换式电话网)tapi: telephony application programming interface,电话应用程序接口tsapi: telephony services application programming interface,电话服务应用程序接口wdm: wavelength division multiplex,波分多路复用游戏act(action,动作类游戏)arpg(action role play games,动作角色扮演游戏)avg(adventure genre,冒险类游戏)dan(dance,跳舞类游戏,包括跳舞机、吉它机、打鼓机等)dc(dreamcast,世嘉64位游戏机)etc(etc,其它类游戏,包括模拟飞行)ffj: force feedback joystick(力量反匮式操纵杆)fpp(first person game,第一人称游戏)ftg(fighting game,格斗类游戏)gb(game boy,任天堂4位手提游戏机)gbc(game boy color,任天堂手提16色游戏机)gg(game gear,世嘉彩色手提游戏机)fc(famicom,任天堂8位游戏机)fps(frames per second,帧/秒)fr(frames rate,游戏运行帧数)mac(macintosh,苹果电脑)n64(nintendo 64,任天堂64位游戏机)sfc(super famicom,超级任天堂16位游戏机)slg(simulation game,模拟类游戏)spg(sports games,运动类游戏)srpg(strategies role play games,战略角色扮演游戏)stg(shoot game,射击类游戏)ss(sega saturn,世嘉土星32位游戏机)pc(personal computer,个人计算机)ps(play station,索尼32位游戏机)ps(pocket station,索尼手提游戏机)rac(race,赛车类游戏)rts(real time strategies,实时战略)rpg(role play games,角色扮演游戏)tab(table chess,桌棋类游戏)网络adsl: asymmetric digital subscriber line,不对称数字订阅线路ah: authentication header,鉴定文件头amr(audio/modem riser,音效/数据主机板附加直立插卡)arp(address resolution protocol,地址解析协议)atm(asynchronous transfer mode,异步传输模式)bod(bandwidth on demand,弹性带宽运用)cbr(committed burst rate,约定突发速率)ccirn: coordinating committee for intercontinental research networking,洲际研究网络协调委员会ccm(call control manager,拨号控制管理)cdsl: consumer digital subscriber line(消费者数字订阅线路)cgi(common gateway interface,通用网关接口)ciea: commercial internet exchange association,商业因特网交易协会cir(committed infomation rate,约定信息速率)cts(clear to send,清除发送)dbs-pc: direct broadcast satellite pc(人造卫星直接广播式pc)dce: data circuit terminal equipment,数据通信设备des: data encryption standard,数据加密标准dmt: discrete multi - tone,不连续多基频模式dns(domain name system,域名系统)docsis(data over cable service interface specifications,线缆服务接口数据规格)dte: data terminal equipment,数据终端设备ebr(excess burst rate,超额突发速率)esp: encapsulating security payload,压缩安全有效载荷fdm: frequency division multi,频率分离flow-control流控制fricc: federal research internet coordinating committee,联邦调查因特网协调委员会ftp(file transfer protocol,文件传输协议)ghost:(general hardware oriented system transfer,全面硬件导向系统转移)hdsl: high bit rate dsl,高比特率数字订阅线路http(hypertext transfer protocol,超文本传输协议)icmp(internet control message protocol,因特网信息控制协议)ietf(internet engineering task framework,因特网工程任务组)ike: internet key exchange,因特网密钥交换协议imap4: internet message access protocol version 4,第四版因特网信息存取协议internet(因特网)ip(internet protocol,网际协议)isdn(integrated service digital network,综合服务数字网络)isoc: internet society,因特网协会isp(internet service provider,因特网服务提供商)lan(local area network,局域网)ldap: lightweight directory access protocol,轻权目录访问协议lom(lan-on-montherboard)iab: internet activities board,因特网工作委员会ietf: internet engineering task force,因特网工程作业推动l2tp(layer 2 tunneling protocol,二级通道协议)lmds: local multipoint distributed system,局域多点分布式系统mime: multipurpose internet mail extension,多用途因特网邮件扩展协议mnp: microcom networking protocalmodem(modulator demodulator,调制解调器)nat(network address translation,网络地址转换)nc(network computer,网络计算机)nds: novell directory service,novell目录服务nntp: network news transfer protocol,网络新闻传输协议msn: microsoft network,微软网络ofdm(orthogonal frequency division multiplexing,直角频率部分多路复用)p3p(privacy preference project,个人私隐安全平台)pds: public directory support,公众目录支持pgp: pretty good privacy,优良保密协议pics: platform for internet content selection,因特网内容选择平台pof: polymer optical fiber,聚合体光纤pop3: post office protocol version 3,第三版电子邮局协议pptp: point to point tunneling protocol,点对点通道协议radsl: rate adaptive dsl,速率自适应数字订阅线路rarp(reverse address resolution protocol,反向地址解析协议)rdf: resource deXion framework,资源描述框架rsa(rivest shamir adlemen,一种因特网加密和认证体系)rts(request to send,需求发送)sis: switched internetworking services(交换式网络互联服务)s/mime: secure mime,安全多用途因特网邮件扩展协议snmp(simple network management protocol,简单网络管理协议)smtp(simple mail transfer protocol,简单邮件传输协议)skip: simple key exchange internet protocol,因特网简单密钥交换协议sua(single user account,单用户帐号)tcp(transmission control protocol,传输控制协议)uart(universal asynchronous receiver/transmitter,通用异步接收/发送装置)udp(user datagram protocol,用户数据报协议)uls: user location service,用户定位服务vod: video on demand,视频点播vpn: virtual private network, 虚拟局域网www(world wide web,万维网,是因特网的一部分)编程api(application programming interfaces,应用程序接口)ascii(american standard code for information interchange,美国国家标准信息交换代码) atl: activex template library(activex模板库)basic:beginner's all-purpose symbolic instruction code(初学者通用指令代码)com: component object model(组件对象模式)dna: distributed internet application(分布式因特网应用程序)mfc: microsoft foundation classes(微软基础类库)sdk(software development kit,软件开发工具包)windowsce(consumer electronics,消费电子)dcom: distributing component object model,构造物体模块dhcp: dynamic host configuration protocol,动态主机分配协议dmf: distribution media formatgdi(graphics device interface,图形设备接口)gui(graphics user interface,图形用户界面)gpf(general protect fault,一般保护性错误)hta: hypertext application,超文本应用程序inf file(information file,信息文件)ini file(initialization file,初始化文件)ndis: network driver interface specification,网络驱动程序接口规范nt(new technology,新技术)qos: quality of service,服务质量rrvp: resource reservation protocol(资源保留协议)rtos(real time operating systems,实时操作系统)sbfs: simple boot flag specification,简单引导标记规范vefat: virtual file allocation table(虚拟文件分配表)(vxd,virtual device drivers,虚拟设备驱动程序)wdm(windows driver model,视窗驱动程序模块)winsock: windows socket,视窗套接口whql: windows hardware quality labs,windows硬件质量实验室whs: windows Xing host,视窗脚本程序zam: zero administration for windows,零管理视窗系统加密ecc: elliptic curve crypto(椭圆曲线加密)set: secure electronic transaction(安全电子交易)语言css: cascading style sheets,层叠格式表dcd: X content deXion for xml: xml文件内容描述dtd: X type definition,文件类型定义html(hypertext markup language,超文本标记语言)jvm: X virtual machine, X虚拟机oji: open X vm interface,开放X虚拟机接口sgml: standard generalized markup language,标准通用标记语言smil: synchronous multimedia integrate language(同步多媒体集成语言) vrml:virtual reality makeup language,虚拟现实结构化语言vxml(voice extensible markup language,语音扩展标记语言)xml: extensible markup language(可扩展标记语言)xsl: extensible style sheet language(可扩展设计语言)计算机公司ali: acer lab(宏棋实验室)asf: applied science fictionamd: advanced micro device(超微半导体)ami: american megatrends incorporatedear(extreme audio reality)hp: hewlett-packard,美国惠普公司ibm: international business machine,国际商业机器idg(international data group,国际数据集团)ims: international meta systemmle:microsoft learning and entertainment,微软教学与娱乐公司ms(microsoft,微软)nai: network associates incorporation,前身为mcafee。
linux设备sg生成规则-回复Linux设备sg生成规则引言:Linux是一种广泛使用的开源操作系统,被用于各种设备和平台。
在Linux 中,设备驱动程序是与硬件交互的关键组件之一。
为了正确识别和管理设备,Linux内核实施了一系列的设备名称生成规则,其中之一是sg(SCSI generic)设备名称生成规则。
本文将详细解释Linux设备sg生成规则,包括sg设备的概述、生成规则和使用方式。
第一部分:概述1.1 什么是sg设备?sg设备是指与SCSI(Small Computer System Interface)接口相关的设备,在Linux系统中,sg设备提供了一种通用的接口来与SCSI设备进行通信和交互。
sg设备可以用于执行各种SCSI命令,如读取、写入、格式化等。
1.2 为什么需要sg设备?在Linux中,很多设备都基于SCSI接口,如硬盘驱动器、光盘驱动器、磁带驱动器等。
通过使用sg设备,我们可以直接与这些SCSI设备进行通信,而无需通过其他设备名称来转发命令。
第二部分:sg设备的生成规则2.1 设备名称规则在Linux系统中,每个设备都有一个唯一的设备名称。
sg设备的名称规则如下:- 主名称为“sg”- 后缀为递增的数字例如,sg0、sg1、sg2等。
2.2 设备识别规则Linux内核会根据设备的类型和连接顺序来识别并分配sg设备名称。
具体规则如下:- 每个SCSI总线上的第一个设备将被分配为sg0- 以此类推,后续设备将依次递增分配sg设备名称例如,第一个SCSI总线上的设备为sg0,第二个SCSI总线上的设备为sg1,以此类推。
第三部分:使用sg设备3.1 sg设备的用途sg设备可以用于执行各种SCSI命令,包括但不限于:- 读取、写入数据- 执行格式化操作- 获取设备状态信息- 执行控制操作等3.2 sg设备的操作方式通过使用sg设备,我们可以直接向SCSI设备发送SCSI命令,并通过读取sg设备的响应来获取操作结果。
SAN和NAS的区别存储区域网络(SAN)和网络附加存储(NAS)是相互竞争的两种网络存储技术,实际上,它们可以很好地相辅相成,用于存取不同类型的数据。
NAS设计用来在文件这个层次上存取数据,而SAN最适合用于高容量数据块的传输。
这两种技术都能满足消除存储器到服务器的直接联系的需求,有利于更灵活的存储访问,另外,SAN和NAS都是基于开放的行业标准网络协议——用于SAN的光纤通道协议和用于NAS的TCP/IP网络协议。
SAN支持的应用软件范围宽广,其中包括提供对NAS软件的存储,而NAS一般被限制在文件层访问数据的软件。
撇开SAN和NAS的区别,它们都在今天的企业中扮演着至关重要的角色,而且提供了许多优点,这些优点是传统的服务器附加存储实现方案无法提供的。
SAN的主要特点SAN设计用来提供灵活的、高性能的和可伸缩的存储网络基础结构。
SAN提供了许多在存储装置和服务器之间的直接连接来实现这个目的。
这些存储装置包括磁盘存储系统和磁带库。
高性能的光纤通道交换机和光纤网络协议确保了设备连接的可靠和高效。
这些连接基于固有的光纤通道和SCSI(通过SCSI到光纤通道转换器和网关)。
一个或更多的光纤通道交换机在主服务器与存储设备之间提供相互连接。
主服务器与存储设备放置在被称为”SAN组织结构”的网格拓扑结构内(见下图)。
减少网络阻塞的SAN基本结构因为SAN通过最优化处理来达到在服务器和存储装置之间传输数据块的目的,所以它在很多方面的使用效果都很理想,例如:处理关键任务的数据库软件。
关键任务是指响应时间要能确定,实用性和存储的可伸缩性集中化的存储备份。
这主要要求操作性能、数据的完整性和可靠性用来确保关键的企业数据的安全。
高可用性和应用软件故障恢复环境。
这可以确保以较少的开销,使应用软件的可用性得到极大的提高。
可伸缩的虚拟存储。
它将存储与主机的联系断开,能动态地从集中存储地分配存储量。
提高了故障容错度。
可在远距离(最远达150km)的主服务器和连接设备之间提供高性能的光纤通道传输。
linux通信课程设计一、教学目标本节课的教学目标是使学生掌握Linux操作系统的基本通信功能,包括命令行操作、文件传输、远程登录等。
知识目标要求学生了解Linux操作系统的基本结构,掌握常用的命令及其用法,理解网络通信的基本原理。
技能目标要求学生能够熟练地在Linux环境下进行命令行操作,配置网络通信参数,使用SSH进行远程登录。
情感态度价值观目标在于培养学生对计算机科学的兴趣,提高他们的自主学习能力,培养他们解决问题的能力。
二、教学内容本节课的教学内容主要包括三个部分:Linux操作系统的基本概念,Linux命令行的使用,以及网络通信的配置和应用。
首先,介绍Linux操作系统的基本概念,包括Linux的历史、特点和应用领域。
其次,讲解Linux命令行的使用,包括基本的命令行操作、文件管理和文本处理命令。
最后,介绍网络通信的配置和应用,包括文件传输、远程登录和网络诊断。
三、教学方法为了达到本节课的教学目标,将采用多种教学方法,包括讲授法、演示法、实验法和讨论法。
首先,通过讲授法向学生介绍Linux操作系统的基本概念和命令行的使用。
其次,通过演示法展示网络通信的配置和应用,使学生能够直观地理解。
然后,通过实验法让学生亲手操作Linux命令行,巩固所学知识。
最后,通过讨论法引导学生思考和解决问题,培养他们的自主学习能力和解决问题的能力。
四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备多种教学资源。
教材方面,选择《Linux操作系统原理与应用》作为主教材,辅助以《Linux命令行与Shell脚本编程》等参考书。
多媒体资料方面,准备Linux操作系统的介绍视频、命令行操作的演示视频和网络通信配置的案例分析。
实验设备方面,准备装有Linux操作系统的计算机和网络设备,以便学生进行实验操作。
通过这些教学资源的准备,希望能够丰富学生的学习体验,提高他们的学习效果。
五、教学评估本节课的教学评估将采用多元化方式,以全面、客观、公正地评估学生的学习成果。
2.3 LTE网络无线侧接口协议2016-4-30广东省电信工程有限公司网优维护分公司以上所有信息均为广东省电信工程有限公司网优维护分公司所有,不得外传All Rights reserved, No Spreading abroad without Permission of GDTEC 第 1页一、 LTE 网络无线接口协议概述1. LTE interfaces LTE 网络接口协议S1-MME : Reference point for the control plane protocol between E-UTRAN and MME. S1-U : Reference point between E-UTRAN and Serving GW for the per bearer user plane tunnelling and inter eNodeB path switching during handover.S3: It enables user and bearer information exchange for inter 3GPP access network mobility in idle and/or active state.S4: It provides related control and mobility support between GPRS Core and the 3GPP Anchor functionof Serving GW. In addition, if Direct Tunnel is not established, it provides the user plane tunnelling.S5: It provides user plane tunnelling and tunnel management between Serving GW and PDN GW. It is used for Serving GW relocation due to UE mobility and if the Serving GW needs to connect to a non-collocated PDN GW for the required PDN connectivity.S6a : It enables transfer of subscription and authentication data for authenticating/authorizing user access to the evolved system (AAA interface) between MME and HSS.Gx : It provides transfer of (QoS) policy and charging rules from PCRF to Policy and Charging Enforcement Function (PCEF) in the PDN GW.S8: Inter-PLMN reference point providing user and control plane between the Serving GW in the VPLMN and the PDN GW in the HPLMN. S8 is the inter PLMN variant of S5.S9: It provides transfer of (QoS) policy and charging control information between the Home PCRF and the Visited PCRF in order to support local breakout function.S10: Reference point between MMEs for MME relocation and MME to MME information transfer.S11: Reference point between MME and Serving GW.S12: Reference point between UTRAN and Serving GW for user plane tunnelling when Direct Tunnel is established. It is based on the Iu-u/Gn-u reference point using the GTP-U protocol as defined between SGSN and UTRAN or respectively between SGSN and GGSN. Usage of S12 is an operator configuration option.S13: It enables UE identity check procedure between MME and EIR.SGi: It is the reference point between the PDN GW and the packet data network. Packet data network may be an operator external public or private packet data network or an intra operator packet data network, e.g. for provision of IMS services. This reference point corresponds to Gi for 3GPP accesses.Rx: The Rx reference point resides between the AF and the PCRF in the TS 23.203 [6].SBc: Reference point between CBC and MME for warning message delivery and control functions与UMTS系统相比,LTE/SAE网络中无线传输技术、空中接口协议和系统结构等方面都发生了革命性的变化。
FortiGate 1800F 系列为大型企业和网络服务提供商提供了高性能的下一代防火墙 (NGFW) 功能。
凭借多个高速接口、高端口密度和高吞吐量,该系列可灵活地部署在企业边缘、混合和超大规模数据中心以及内部网段。
该系列还能够利用行业领先的 IPS、SSL 检测和高级威胁防护来优化网络性能。
Fortinet 的安全驱动型网络方法可将网络与新一代安全解决方案紧密集成在一起。
安全 §识别网络流量中的数千个应用,以进行深度检测和精细的策略执行§有效阻止加密以及非加密流量中的恶意软件,漏洞利用及恶意网站的攻击§借助 FortiGuard Labs AI 驱动型安全服务连续提供的威胁情报,防止和检测已知攻击§借助与 Fortinet Security Fabric 相集成的 AI 驱动型 FortiSandbox,实时主动拦截未知的复杂攻击性能 §使用 Fortinet专用的安全处理器 (SPU) 进行了创新设计,能够提供业界最佳的威胁防护性能和超低延迟 §作为首家提供 TLS 1.3 深度检测的防火墙厂商,能够为 SSL加密流量提供行业领先的性能和保护认证 §通过独立测试获得最佳安全性能验证§通过了 NSS Labs、ICSA、Virus Bulletin 和 AV Comparatives等权威第三方机构的认证防火墙IPSNGFW 威胁防护接口网络 §内置 SD-WAN 功能的应用感知路由可确保一致的应用性能和最佳的用户体验 §内置高级路由功能可通过大规模加密 IPSEC 隧道提供出色的性能管理 §简单易用且有效的管理控制平台提供了全面的网络自动化及可视化§由 Fabric 管理中心提供支持的统一管理平台支持零接触部署§通过预定义合规检查清单分析部署最佳实践方案,改进整体网络安全安全结构 §Fortinet 和 Fabric-ready 合作伙伴的产品能够密切集成和协作, 并提供更广泛的可视化、集成端到端检测、威胁情报共享和自动修复§自动构建网络拓扑可视化,可准确检测物联网设备并实现 Fortinet 和 Fabric-ready 合作伙伴产品的全面可视化下一代防火墙 (NGFW)网络分段IPS适用于 4G、5G 和物联网的移动安全性• 通过将威胁防护功能集成到由 Fortinet 安全处理器 (SPU) 提供支持的单个高性能网络安全设备中,降低复杂性并最大限度地提高投资回报• 全面监控整个攻击面中的用户、设备、应用并执行一致的安全策略,无论资产位于何处• 借助经行业验证的 IPS 安全有效性、低延迟和优化的网络性能,防止网络中可利用的漏洞• 利用业界最高的 SSL 检测性能,包括带强制密码的最新 TLS 1.3标准, 对流量解密并自动阻断威胁。
摘要:Linux 安全网关接口 SGI 的设计与实现曲波1 胡混2(x XX 晓庄学院信息技术学院)(「航空航天大学电子信息匸程学院)嗨口唤 /proc 文站关键字:安全网关接口. Linux 防火墙、内核接口模块、防火墙钩子函数./proc 文件系统内核接口随着计算机网络技术的不断提臥汁算机网络的应用也越來越普及.对iI •算机网络系统的安全管理也越來越重 要。
、勺前流行的各种操作系统都在汁算机安全管理方而提供了丰富的功能。
Linux 操作系统不仅在其内核中提供了 丰富的防火墙功能,还以钩子函数的方式为用户提供了防火墻内核接口。
用户根据Linux 防火墙内核接口规X 设计 内核接口模块装入内存,就可实现用户自行设讣的防火墙功能或其它网络访问控制功能。
笔者利用Linux 内核防火墻内核接口模块.实现J'一个通用的安全网关接口(以下简称SGI )。
SGI 类似一个专 用的防火咼 控制流经的网络IP 数据包的转发。
笔者在女个网络应用系统中利用该接口实现网络的安全访问控制. 收到了很好的效果。
1. 安全网关接口 SGI 的基本结构安全网关接口 SGI 的目标是实现一个通用的安全网关内核接口模块.实现对流经的IP 数据包的转发控制c 实现 的方法是采用Linux 的防火增内核模块I 妾口,通过防火墙钩子函数将自己挂接在系统的IP 转发控制链中。
SGI 在内部维护一个Hash 表,每一个表项包含一个代表着放行的IP 地址。
1.1 SGI 防火墙内核接口模块Lmux 防火墻Neuler 提供了一个抽瓠 通用化的框架,以DM 为例,一共有5个防火墙钩子函数,分别为: NF IP PRE ROUTING 、NF IP LOCAL IN 、NF IP FORWARD 、NF IP POST ROUTING 和 NF IP LOCAL OUT 。
数据报进入系统进行IP 校验后,经过第一个钩子函数NF 」P_PRE_ROUTING 进行处理:然后就进入路由代码. 其决定该数据包需要转发还是发给木机:若该数据报是发给木机的,则该数据报经过钩子函数NFJP_LOCAL_IN 处理后传递给上层协议:若该数据报应该被转发则被NF_IP_FORWARD 处理:经过转发的数据报经过辰后一个钩 子函数NF_IP_POST_ROUTING 处理后,再传输到网络上。
木地产生的数据报经过钩子函数NFJP 丄OCAL_OUT 处理后,进行路由选择处埋.然后经过NF」P_POST_ROUTING处理后发送到网络上。
内核模块可以对一个或篡个这样的钩子函数进行注册挂接.并且在数据报经过这些钩子函数时被调用。
SGI就是利用这种钩子函数实现内核接口模块并到防火墙内核接口钩子链上。
1. 2 Hash 表SGI防火墻内核接口模块的任务是确定对流经的IP数据包是否转发。
所以.SGI需嬰维护一个数据表,该数据表中保存着需要转发的IP地址°每XSGI接口模块收到IP数据包后,立即在该数据表中査找该IP地址°若找到则转发放行,找不到则丢弃该IP包。
显然,数据表的结构是决定查找速度的关键。
一方面.数据表的内容是由用户进程动态确定的,要随时变化。
另一方血,查找的速度要快,不降低系统效率。
尽管二叉检索树可以满足t谜要求.但其实现代价较臥所以笔者采用Hash表方法实现。
使用Hash表结构一方面可提岛在IP转发过程中的查询速度.另一方而也可简化数抑結构. 节约内存资源°1. 3 /proc文件系统内核接口如前所述,Hash表的内容是由用户进程动态确定的.而SGI模块属于内核层。
在Lmux操作系统下•用户进程不能直接存取系统内核数据.也不能直接调用内核函数。
一般有两种方法可实现111户进程与内核进程的通信:一是使用设备文件,二是使用/proc文件系统。
对于防火增钩子函数來说,还可以通过套接字存取内核数据°笔者采用/proc文件系统实现用户进程与SGI接口模块的数据交换。
由于/proc文件系统的主要作用是允许内核向应用进程报告它的状态,所以没有专门向内存输入数据而设逍的机制。
为能够写入的文件,在内核程序中要为相应的伽c文件提供专用的处理程序,即伽c文件系统内核接口。
1.4网络管理用户进程网络管理用户进程的任务是通过SGI提供的/pec文件,向SGI内核模块设宜所需转发的IP地址,包括插入. 删除、查找等操作。
采用标准的文件读写操作.按照SGI规定的数据格式与SGI内核模块交换数据。
2.SGI的实现技术2.1Linux内核模块一个Linux内核模块至少包括两个函数:一个是初始化函数imt.moduleO,在模块被插入到内核时调用:另一个是淸除函数cleanup.moduleO,在模块从内核移走时调用。
一股情况下.初始化函数或者在内存中注册一个处理程序.或者使用自己的代码替换一个内核函数:而清除函数的作用是淸除初始化函数所作的任何爭情.使内存模块可以安全地卸载°2.2Linux防火墙钩子函数及其注册Linux防火增钩子函数是一个回调函数.其参数是系统内核调用用户钩子函数时由系统传进來的。
由用户设讣的钩子函数根据其挂接的位宜及对流经的数据报的处理,回送不同的返回值。
如果用钩子函数实现访问控制,则满足放行条件时返回NF.ACCEPT.继续正常传输数据报:否则返回NF_DROP,丢弃该数据报,不再传输。
如果用钩子函数实现数据采集•则对数据报内容转储之后,返回NF_ACCEPT,继续正常传输数据报。
防火增钩子函数必须注册挂扌妬才能匚作。
注册使用的函数为nf_register_hook(),所带参数为指向下列结构体的指针:struct nf_hook_ops iplimitfilter = {{NULL,NULL}, /* structlistj)eadlist. 总是初始化为{NULL,NULL} */fra.PF.INET,NF.IP.FORWARD, NF_IP_PRI_FILTER};其中fwm为钩子函数:PF_INET表示钩子函数11作在IP层:NF_IP_FORWARD为钩子函数的挂接点•此例表示钩子函数在数据报转发时被调用:NF.IP.PRI.FILTER (=0)为函数优先级。
取消注册的函数为nf_unregister_hookO,在卸载内存模块之前调用.拆掉掏妾的钩子函数。
2.3SGI内扌劳妾口模块与应用程序间的通信在Linux里有一个文件系统注册的标准机制。
每个文件系统都有自己的函数來处理索引节点和文件操作,由一个特殊的结构体struct file^operaiions來存放扌斤向所有函数的指针。
该结构体里包含对/proc文件的打开、关闭、读. 写等函数的指针。
用C2a(e_proc_entiy()函数创建新的/proc文件。
在SGI内核模块接口中使用copy_froin__user和copy_lo_user函数实现内核与应用进程的数据交换。
使用copy_froin_user和copy」o_user的原I対是由于Linux系统中的内存是分段你所以指针不能抬向内存中一个唯一的地址.只能抬向内存段中唯一的地址。
系统中有一个供系统内核使用的内存段,而每一个进程还有一个社独的内存段。
进程只能存取自己的内存段。
片需要将一个内存缓冲区中的内容在、“I前进程向内核传递时,内核函数接收到一个抬向进程内存段中内存缓冲区的指针。
此外.由SGI内核接口模块创建的/proc文件还应具备进程阻塞机制。
X用户进程请求SGI内核模块服务时. 若此时内核模块正忙,则将用户进程放入睡眠状态直到内核模块空闲。
笔者采用的方法是/proc文件每次只可被一个进程写操作。
如果用户进程要求写伽c文件时该文件正在被其它用户进程写操作.SGI内核模块就调用inienup(ible_sleep_oii函数将十前用户进程放入WaitQ队列中。
十前一用户进程对/pmc文件的写操作结束后,SGI 内核模块调用\mkjup唤醒等待队列中的用户进程。
2.4SGI接口模块的编译及安装SGI接口模块是一种内核模块,不能按普通应用程序的方法进行编译°另外在程序中大虽使用了内核函数.需要使用内核函数的包含文件。
一般Linux操作系统在安装过程中会将操作系统源码安^/usr/src/linux-XXX子目录下.其中XXX是Lmux的内核版木号。
所以对防火增模块的编译命令应如下所示:gcc "I /usr/src/1inux-XXX -02 -DMODULE ~D KERNEL -c sgi・ c "o sgi・ o 其中sgi. c是SGI接口模块的C程序名。
使用系统命令insmod装入模块.用named卸戦模块°3.纟詆语SGI注册了防火墙钩子函数.可对流经的IP数据报加以控制.决定取舍.实现多种网络控制功能。
笔者在所研制的网络计费.安全审讣、远程监控等女个讣算机网络应用系统中,使用木文提出的安全网关接口SGI 实现网络信息流的访问控制,收到了良好的效果。
参考文献[1| Andrew S. lanenbauni puter Nelworks(Third Edition) 1996 by Prentice Hall. Inc・[2] Douglas E.er & David LS忙vens. Internetworking With TCP/IP Vbl. HI: Clieiit-Ser\er Programming andApplicaiions(Second Edition) 1996 by Prentice Hall. I IK.DESIGN AND REALIZATION OF THE LINUX SECURITY GATEWAY INTERFACEQu Bo 1 Hu Shi2(JScliool of Information Technology. NaiijingXiaozlmaiigCollege・ Nanjing 210017) ^School of Electronics Information Engineering. BeijingUnivereity of Aeronautics and Astronautics, Beijing 100083)Abstract The paper describes the structure ai)d realization of the Linux security gateway interface (SGI), and the critical techniques involved in SGI such as the kennel interlace nxxlules oftlie Linux fircwalL and tl)e kernel interlace of the /procfile systemKey wordsSecurity gateway interface. Linux firewall, kernel interface module, firewall's Hook iunclioixs. kernel interface of tl)e/proc file system。