CN101657793B - 用于配置防火墙的方法、系统和计算机程序 - Google Patents

用于配置防火墙的方法、系统和计算机程序 Download PDF

Info

Publication number
CN101657793B
CN101657793B CN200880011067.8A CN200880011067A CN101657793B CN 101657793 B CN101657793 B CN 101657793B CN 200880011067 A CN200880011067 A CN 200880011067A CN 101657793 B CN101657793 B CN 101657793B
Authority
CN
China
Prior art keywords
software product
software package
entity
security application
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200880011067.8A
Other languages
English (en)
Other versions
CN101657793A (zh
Inventor
M·塞利
L·皮切蒂
M·塞奇
A·加罗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101657793A publication Critical patent/CN101657793A/zh
Application granted granted Critical
Publication of CN101657793B publication Critical patent/CN101657793B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • H04L63/0218Distributed architectures, e.g. distributed firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management

Abstract

提出了一种用于向数据处理系统中的一组数据处理实体(诸如端点)分发软件产品的方案(A1-A16);该系统包括一组安全性应用(诸如防火墙),其适于控制实体的通信。相应的方法开始于以下步骤:为了允许在实体上执行软件产品,确定该安全性应用的目标配置。继而构建适于实施软件产品和目标配置的一个(或多个)软件包(A11)。该方法通过在系统中分发(A12-A16)软件包而继续,从而使得软件包应用于在每个实体上实施软件产品以及每个安全性应用的目标配置。

Description

用于配置防火墙的方法、系统和计算机程序
技术领域
本发明涉及数据处理领域。更具体地,本发明涉及软件产品的分发。
背景技术
软件产品的分发是非常耗时的活动,尤其是在包括大量计算机(或端点)的数据处理系统中。典型的示例是具有数百个端点的大型网络,其中不断地安装、升级或移除软件产品(例如,为了追赶信息技术的开发或为了适应组织改变)。
为此,软件分发应用通常用于从系统的中心站自动分发软件产品。通常,软件分发应用控制生成软件包,每个软件包都适于实施相应软件产品的所需条件(例如,安装、升级或移除)。然后,将软件包分发给所选端点,并且在每个端点上应用该软件包以便安装、升级或移除软件产品。在市场上可获得的商业软件分发应用的示例是IBM公司的“IBM Tivoli配置管理器或ITCM”。
安全性问题在最近几年也变得非常重要。在这方面,当前的焦点已经从服务器侧转移到客户端侧(客户端最近成为很多有害代码或恶意入侵者的攻击目标)。为此,安全性应用(诸如防火墙)通常用于控制端点的任何通信。特别地,防火墙可以安装在每个端点上(以控制与其他计算机进行通信);而且,防火墙可以安装在私有网络的路由器上(以控制私有网络的每个端点与其外部的其他计算机进行通信)。在这两种情况下,防火墙可以保护端点(单独地或将私有网络作为整体)免受来自于不可信计算机的攻击。
因此,不论软件产品(被分发到特定端点)何时需要与其他计算机通信,相应的防火墙都必须在软件产品可以使用之前被正确配置。
为此,已经提出的一种方法是令每个端点的最终用户手动配置他/她的防火墙。然而,最终用户一般不具有执行该任务所需的技能。而且,最终用户可以为他们的端点选择不同的防火墙配置;这可能导致与全局安全性策略(例如,企业级)的冲突。在任何情况下,对每个端点(或路由器)必须重复相同的操作;为每个防火墙花费的时间乘以系统防火墙的数量,在非常大的系统中这一时间将使该处理令人无法忍受。
已经提出的另一方法是在尝试未授权的通信的任何时候,令防火墙警告最终用户。在该情况下,提示最终用户决定该通信是否可以被允许或拒绝(临时或永久)。然而,该解决方案面临着上面指出的相同缺点。实际上,最终用户通常不理解防火墙提供的警告的意义;而且,最终用户可以在他们的端点上允许不同的通信(即使与全局安全性策略冲突)。在任何情况下,该过程都是耗时的(同时警告经常令最终用户烦恼)。
已经提出了用于使防火墙配置自动化的某些方案(例如,借助于脚本)。然而,这些解决方案完全是独立的、与上述软件分发过程没有任何联系。在任何情况下,总是需要手工操作来定义所需的防火墙配置,并且准备用于其操作的相应脚本。
反之亦然,文档US-A-2005/262501(在法律允许的最大程度上将该公开内容的全文通过引用合并于此)公开了软件分发应用,其中软件包也可以用于配置软件产品。然而,该配置仅涉及与软件包一起分发的(或之前分发的)相同软件产品。
发明内容
一般来说,本公开内容基于利用相应安全性产品所需的安全配置分发软件产品的思想。
特别地,本发明的不同方面提供记载在独立权利要求中的方案。本发明的优选实施方式记载在从属权利要求中。
更具体地,本发明的一个方面提出了一种用于向数据处理系统中的一组数据处理实体(诸如端点)分发软件产品的方法;该系统包括一组安全性应用(诸如防火墙),其适于控制实体的通信。该方法开始于以下步骤:为了允许在实体上执行软件产品而确定该安全性应用的目标配置。继而,构建适于实施软件产品和目标配置的一个(或者多个)软件包。该方法通过在系统中分发软件包而继续,从而使得软件包应用于在每个实体上实施软件产品以及每个安全性应用的目标配置。
在本发明的一个实施方式中,将单个软件包分发到每个端点,其中对该软件包进行应用,从而实施安装于其上的软件产品和安全性应用的目标配置。
此外或备选地,将单个软件包再次分发到每个端点,其中对该软件包进行应用,从而实施软件产品和安装于相应网络的一个或多个网桥单元(诸如路由器)上的安全性应用的目标配置。
作为进一步的改进,在允许执行软件产品的目标配置之前或之后,通过比较其他实体(诸如准备服务器)上的其他安全性应用的两个不同条件,来确定实施目标配置所需的命令。
同一区分过程还可以用于确定实施软件产品所需的其他命令和资源。
在不同的实施方式中,通过监视其他实体上的软件产品的通信,来确定用于实施目标配置的命令。
优选地,在该情况下,没有安全性应用控制其他实体的通信。
通常,将区分过程再次用于确定作为实施软件产品的结果的一组可执行模块,这些模块安装在其他实体上,从而丢弃不涉及这些可执行模块的通信。
本发明的另一方面提出了用于执行上述方法的计算机程序。
本发明的不同方面提出了相应的系统。
附图说明
参考以下具体的说明书,仅通过非限制性指示方式,结合附图阅读该指示将更好地理解本发明本身、其他特征以及其优势,在附图中:
图1是可应用根据本发明实施方式的方案的数据处理系统的示意性框图;
图2示出了示例性系统计算机的功能框图;
图3是对根据本发明实施方式的软件包进行建模的类图;以及
图4是表示可以用于实现根据本发明实施方式的方案的不同组件的作用的协作图。
具体实施方式
特别地参考图1,示出了具有分布式架构的数据处理系统100。系统100实现软件分发基础设施(例如,基于上述ITCM)。
特别地,准备服务器105作为中心站操作以用于定义、测试以及构建将用于在系统100中实施软件产品所需的条件(即,安装、升级或移除它们)的软件包。当必须安装/升级软件产品时,相应的软件包嵌入其镜像,包括安装/升级软件产品所需的资源,诸如可执行模块、库、配置表、数据库等(通常,是以压缩文件的形式)。在任何情况下,软件包包括命令,该命令指定将执行用于实施软件产品的动作(诸如添加、删除或更新文件、注册表条目等)。
分发服务器110控制从准备服务器105(充当提供所需软件包的源主机)分发软件包到多个端点115。为此,分发服务器110和端点115通过网络120(例如,基于因特网的全球网络)进行通信。更具体地,可以通过分发服务(例如,包括基于IBM公司的“Tivoli管理框架或TMF”的、“多路分发或MDIST2”服务),以推送模式将软件包部署到端点115;以断开方式(其中根据预定义的计划将一组软件包部署到所选端点115),或以实时方式(响应于通过命令行接口或CLI输入的特定请求)操作来获得该结果。备选地,端点115可以直接从准备服务器105以“拉取”模式下载所需的软件包。在任何情况下,软件包继而应用于每个端点115,从而实施相应的软件产品。
端点115可以包括独立计算机,其与其他计算机直接通信。备选地,端点115可以包括其他网络125(例如,基于LAN的私有网络)的节点;在该情况下,每个私有网络125的端点115通过路由器130与其他计算机通信。特别地,(独立)端点115直接与分发服务器105通信,同时,(联网的)端点115通过相应的路由器130与分发服务器105通信。
每个独立端点115与其他计算机的任何通信都由个人防火墙控制,该防火墙安装在独立端点115本身上。同样,每个已联网端点115与其私有网络125外部的其他计算机的任何通信都由外部防火墙控制,该防火墙安装在相应的路由器130上(同时,同一私有网络125的端点115中的通信通常不受限制)。
通常,(个人/外部)防火墙是利用不同的安全性级别对两个环境进行隔离的软件应用。特别地,防火墙在该两个环境之间实现预定义的连接策略。例如,防火墙可以指定对较安全环境的哪个软件程序进行授权,来发起与较不安全的环境的其他计算机的通信会话,以及指定对较安全环境的哪个软件程序授权来监听来自于较不安全环境的其他计算机的请求(然后,该较不安全环境的其他计算机被允许发起与较安全环境的通信会话)。这样,防火墙可以保护较安全环境免受来自于较不安全环境的攻击。
现在参考图2,以200表示上述系统的通用计算机(即,准备服务器、分发服务器、端点或路由器)。计算机200由多个单元组成,该多个单元并行连接至系统总线205(具有适于根据系统中计算机200的实际功能进行扩展的结构)。详细地,一个或多个微处理器(μP)210控制计算机200的操作;RAM 215由微处理器210直接用作工作存储器,并且ROM 220存储用于引导计算机200的基本代码。多个外围设备(通过各自的接口)群集在本地总线225周围。特别地,大容量存储器包括一个或多个硬盘230以及用于读取CD-ROM 240的驱动器235。而且,计算机200包括输入单元245(例如,键盘和鼠标),以及输出单元250(例如,监视器和打印机)。网络适配器255用于将计算机200接入系统。网桥单元260将系统总线205与本地总线225接口连接。每个微处理器210和网桥单元260可以操作为请求接入系统总线205以便传输信息的主控代理。仲裁器265管理对系统总线205进行互斥接入的许可。
如下详细描述,在根据本发明实施方式的方案中,利用所需的防火墙配置(例如,由相同软件包中的附加命令定义)分发软件产品。
这样,对每个防火墙自动配置而不需要相应最终用户的任何干预。然后,可能为多个防火墙选择相同的配置;这防止了全局安全性策略冲突的任何风险。在任何情况下,提出的方案非常简单并且在时间上是有效的。而且,还可能避免针对最终用户的任何恼人(当没有授权分发的软件产品执行特定通信时由防火墙提供的)警告。
参考图3,利用相应的类图对可以用于实现根据本发明实施方式的方案的软件包的结构进行建模。该类图通过它的类以及类之间的交互提供结构的静态表示;每个类表示封装特定属性(定义其属性)以及方法(显示可用于其他类的功能)的结构实体,如分别针对类名称、属性以及方法被划分为三个框的矩形所指示的。
特别地,通用软件包将相应的类“SoftwarePackage(软件包)”实例化。该类“SoftwarePackage”扩展了类“Container(容器)”,如由带有中空三角形尖端的箭头表示的相应关系所指示的,这意味着(源)类“SoftwarePackage”继承了(目标)类“Container”的功能。类“Container”由一个或多个类“Action(动作)”组成,如由以中空菱形开始的箭头表示的相应聚合所指示的,这意味着“源”类“Container”具有(目标)类“Action”。
类“Action”定义了将在端点上执行的相应动作;类“Action”显示了一系列属性(整体表示为“condition”),这些属性指定了为允许执行动作而待满足的条件;例如,动作可能受到端点硬件和/或软件参数的制约(诸如,它们的工作存储器容量、它们的操作系统等)。类“Container”定义了共享默认行为的动作集合。类“Container”还通过添加其他属性(“StopOnFailure”)扩展了类“Action”,这使得动作的结果能够制约该集合中依赖于其的任何动作的执行。
类“Action”直接实现了由软件分发应用直接支持的自包含动作(例如,指定端点的重启)。类“Action”还由定义了特定动作类型的其他类来扩展。
特别地,类“NativeAction(本地动作)”实现了本地动作,其特定于端点并且不基于软件分发应用。另一个类“AddObject(添加对象)”用于向端点添加可安装的对象。类“AddObject”显示了一系列属性,这些属性用于控制相应对象的版本;特别地,属性“replaceIFExisting”指定了可以替换之前存在的对象,属性“replaceIFNewer”指定了仅可以替换旧版本的对象,并且属性“removeIFModified”指定了当修改时必须移除之前存在的对象。类“AddObject”依次由针对待添加的特定对象类型的不同的类来扩展;例如,类“AddFile(添加文件)”、类“AddDirectory(添加目录)”和类“AddLink(添加链接)”分别用于复制端点上的文件、用于在相应的文件系统中创建目录以及用于在它们的桌面上提供链接。相反,类“RemoveObject(移除对象)”(扩展类“Action”)用于从端点移除相应的对象。
类“AddObject”和类“RemoveObjcet”涉及类“Object(对象)”,如由以开放尖端结束的箭头表示的相应关联所指示,这意味着(源)类“AddObject”和类“RemoveObjcet”知晓(目标)类“Object”。类“Object”对应于待添加或待移除的对象;类“Object”显示了属性“isShared”,该属性指示该对象是否可以在多个软件包中共享。类“Object”依次由针对特定对象类型的不同的类来扩展。例如,类“File(文件)”(针对带复制或删除的文件)指定了属性“source(源)”(指示可获得文件的位置)、属性“destination(目的)”(指示必须将文件复制到何处)以及属性“compressionMethod”(指示如何压缩文件);另一示例是类“Directory(目录)”(针对待创建或销毁的目录),其指定了属性“source”(指示可获得目录的位置)和属性“destination”(指示必须在何处创建目录)。
在根据本发明的实施方式的方案中,利用适于实现防火墙配置的分发的附加类来扩展上述软件包的结构。特别地,类“AddFirewallConfiguration(添加防火墙配置)”扩展了类“AddObject”来实现配置防火墙所需的动作。另一个类“FirewallConfiguration(防火墙配置)”扩展了类“Object”用于实现将被应用于防火墙的配置。
通常,在相应的简档中定义防火墙配置。例如,防火墙的配置可以包括添加访问许可(用于发起与另一计算机的直接通信会话的软件产品);通常,每个访问许可指定了何时需要通信(日期和时间)、尝试发起通信会话的软件程序名称、软件程序试图联系的计算机的目的地IP地址、针对可信区域、因特网或以上两者是否需要许可、是否允许、拒绝或是否留待最终用户决定通信,以及在后一情况下,针对下次请求是否必须记住该决定。
防火墙的配置还可以包括添加高级访问许可(用于发起与另一计算机的间接通信会话的软件产品);通常,每个高级访问许可指定了何时需要通信(日期和时间)、尝试使用另一(网桥)软件程序发起通信会话的软件程序名称、实际发起通信会话的网桥软件程序、网桥软件程序试图联系的计算机的目的地IP地址、针对可信区域、因特网或以上两者是否需要许可、是否允许、拒绝或是否留待最终用户决定通信,以及在后一情况下,针对下次请求是否必须记住该决定。
而且,防火墙的配置可以包括进入许可的添加(用于监听来自于发起与软件产品的通信会话的其他计算机的请求的软件产品);通常,每个进入许可指定了何时需要通信(日期和时间)、尝试发起该通信会话的计算机的源IP地址和端口号、将响应于该尝试而联系的计算机的目的地IP地址和端口号、以及可以用于该通信的协议类型。
用于配置防火墙(用于允许执行相应的软件产品)的命令的文本定义示例是:
Package
    Add firewall configuration
           configuration
                   access_permission
                           application name=myApplication
                           destination ip=myDestination1
                           zone_type=trusted
                           action=allow
            end
        advanced_access_permission
            application_name=myApplication bridge_application_name=
            myBridge destination ip=myDestination2zone_type=trusted
            action=allow
        end
        incoming permission
                source_ip=mySourcelp
                source_port=mySourcePort
                destination_ip=myDestinationlp
                destination port=myDestinationPort
                protocol=myProtocol
            end
        end
    end
end
在该情况下,该软件包用于配置防火墙以对软件程序“myApplication”授权从而发起与IP地址“myDestination1”处的计算机进行通信会话,并且授权以通过网桥软件程序“myBridge”发起与IP地址“myDestination2”处的计算机的通信会话(两者都处于可信区域中);而且,配置防火墙以对通信会话进行授权,该通信会话由IP地址“mySourceIp”处的计算机在端口“mySourceProt”上针对IP地址“myDestinationIp”处、在端口“myDestinationPort”上使用协议“myProtocol”的计算机发起。
现在考虑图4,示出了表示可以用于实现根据本发明实施方式的方案的不同组件作用的协作图400。该附图描述了系统的静态结构(通过相应的组件)以及其动态行为(通过一系列交换的消息,每个消息表示相应的动作,以符号“A”开头的序列号来表示)。
特别地,准备服务器105包括反向工程工具405(例如,基于“ITCM”的“AutoPack”服务);反向工程工具405通常用于检测准备服务器105上的改变,并且继而自动构建包括重现这些改变所需命令的软件包。为此,反向工程工具405具有扫描仪410;扫描仪410用于为准备服务器105拍摄初始快照,该初始快照继而被保存在相应的库415中(动作“A1.快照拍摄”)。通常,初始快照包括文件、目录、注册表条目、可用服务等的指示;在该情况下,利用防火墙配置的指示(例如,它们的简档)来扩展该初始快照。待分发的(参考)软件产品420在准备服务器105上实施为与端点上所需的条件相同的条件(动作“A2.实施”)。然后手工配置安装在准备服务器105上的(参考)防火墙425,从而允许参考软件产品420执行(动作“A3.配置”)。此时,扫描仪410为准备服务器105拍摄结束快照,该结束快照再次被保存到库415中(动作“A4.快照拍摄”)。反向工程工具405的区分引擎430比较结束快照和初始快照(从库415提取),从而确定针对从初始快照的条件转变为结束快照的条件将要执行的动作;区分引擎430继而定义执行这些动作所需的命令,这些命令保存在相应库435中(动作“A5.比较”)。特别地,某些命令用于实施参考软件产品420,同时其他命令用于配置参考防火墙425;为此,区分引擎430配备由特定的附加件(在图中未示出),该附加件使用比较不同的防火墙配置。
这样,自动获得配置防火墙所需的命令。这包括准备服务器105上的单个参考防火墙425的配置;因此,可以由具有适当技能的操作员来执行该操作。在任何情况下,一旦参考防火墙425已经正确配置,则其可以自动复制其配置而没有任何错误风险。
备选地,可能禁用参考防火墙425(动作“A6.禁用”)。参考软件产品420(一旦在准备服务器105上实施)继而以测试模式连续执行,从而运用其大部分功能。在该阶段,参考软件产品420通常与其他计算机进行通信(动作“A7.通信”);总是允许该通信(因为禁用了参考防火墙425),从而避免了参考软件产品420的任何执行错误。然而,同时,网络监视器440(包括反向工程工具405的另一附加件)监视准备服务器105与其他计算机的通信;继而将因此检测到的通信保存在相应日志中(动作“A8.监视”)。例如,网络监视器440可以包括嗅探器,其拦截准备服务器105的所有通信。
优选地,网络监视器440过滤检测到的通信,从而丢弃与参考软件产品420的执行不相关的那些通信。通过类似于上面描述的区分过程(为了简便以相同的序列号表示)可以自动获取所需的结果。特别地,扫描仪410再次为准备服务器105拍摄初始快照(动作“A1.快照拍摄”)。然后,在准备服务器105上实施参考软件产品420(动作“A2.实施”);然而,在该情况下,不执行动作来配置参考防火墙425。现在,扫描仪410为准备服务器105拍摄结束快照(动作“A4.快照拍摄”)。区分引擎430再次比较结束快照和初始快照(来自于库415),从而确定用于实施参考软件产品420所需的命令(动作“A5.比较”);相同的操作还提供作为参考软件产品420实施结果被添加到准备服务器105的参考软件产品420的任何可执行模块的指示。将该信息传递到网络监视器440,继而仅注册由涉及参考软件产品420的上述可执行模块创建的过程的通信。
区分引擎430分析从日志445中提取的通信,从而确定用于对其进行授权的方式配置防火墙的待执行动作;区分引擎430继而定义用于执行这些动作所需的命令,这些命令再次被保存到库435中(动作“A10.转换”);为此,区分引擎430配备有适于将经日志记录的通信转换为用于配置防火墙的相应命令的其他附加件(在图中未示出)。
这样,以完全自动的方式获得了用于配置防火墙所需的命令,而无需任何人工干预。不论如何,假设已经正确运用参考软件产品420,获得的结果在很多实际的情况下提供可接受的准确度。
可用于分发任何软件程序的资源存储在另一库450中。构建器455从库435提取用于实施所需软件产品的命令的定义和其防火墙配置,并且从库450加载相应的资源(用于安装/升级软件产品)。继而,构建器455通过嵌入所需的资源并且添加相应的命令来创建待分发的软件包;将如此获得的软件包存储在库460中(动作“A11.构建”)。可以针对待分发的任何其他软件重复相同过程(连同相应的防火墙配置)。
现在转向分发服务器110,分发管理器465生成分发计划(每个计划包括指定所需端点115上特定软件包的应用的活动列表)。根据指定订阅参考模型的每个端点所需的配置(根据其作用标识的)的预定义的参考模型,可以通过专用服务(诸如“ITCM”的“改变管理器或CM”)以断开的方式创建该计划;备选地,可以以运行时方式(响应于命令行请求)来创建该计划,从而每次手工向一组端点115分发所选的软件包。在任何情况下,分发管理器465通过相应的服务(诸如“ITCM”的“活动计划器管理器或APM”)提交每个计划的执行,其控制相应活动的执行;作为结果,在计划中指定的每个软件包从其库460中被提取,并且继而被分发到所需的端点115(动作“A12.分发”)。备选地,准备服务器105显示了下载服务467;经授权的端点115可以访问下载服务467,从而选择继而下载到其中的所需的软件包(动作“A13.下载”)。
系统的通用端点115包括应用引擎470(诸如“ITCM”的“软件安装引擎或SIE”服务)。应用引擎470在端点115上实施每个接收的软件包的应用(动作“A14.应用”)。这包括该软件包中指定命令的执行,需要这些命令来达到相应软件产品所需的条件(即,安装、升级或移除)。作为结果,在端点115上安装、升级或移除软件产品(在图中一般地以475表示)。同时,相同软件包的应用包括执行命令,需要这些命令来配置安装在端点115上的个人防火墙480,用于允许软件产品475的执行(动作“A15.配置”)。为此,应用引擎470配备有适于与个人防火墙480交互的附加件(在图中未示出)。
此外或备选地,软件包的应用可以包括执行其他命令,需要这些命令来配置安装在相应路由器130上的外部防火墙485,其总是用于允许软件产品475的执行(动作“A16.配置”)。在该情况下,应用引擎470配备有用于与外部防火墙485远程交互的另一附加件(在图中未示出);例如,应用引擎470通过预定义的URL(通常为:http://192.168.1.1)或安全服务(提供连接至具有更新外部防火墙485配置的授权的路由器130所需的证书)与路由器130进行通信。
应该指出,通过适当地修改软件分发应用的功能可以获取所需的结果,其总是可用于配置分发的相同软件产品,如在上述文档US-A-2005/262501中描述的;特别地,需要扩展该文档中描述的功能以允许相应的防火墙配置(本地位于相同端点上或远程位于它们的路由器上)以及所需软件产品的分发。
本质上,为了满足本地以及具体需求,本领域的技术人员可以对上述方案应用很多逻辑和/或物理修改和改变。更具体地,尽管已经参考本发明的优选实施方式以一定程度的特殊性描述了本发明,但是应该理解,形式和细节上的各种省略、替代和改变以及其他实施方式都是可能的。特别地,甚至可以在不需要用于提供对上述方案彻底理解的前述内容中记载的具体细节(诸如数字示例)的情况下实现提出的方案;相反,可以省略或简化公知的特征,从而不因为不必要的详情而使得描述变得模糊。而且,其本意在于联系本发明的任何公开实施方式描述的具体元件和/或方法步骤可以作为一般设计选择而合并在任何其他实施方式中。
特别地,提出的方案利用等同方法来实现其本身(通过使用类似的步骤、移除不必要的某些步骤或添加其他可选的步骤);而且,可以以不同的顺序、同时或以交织的方式(至少部分地)执行步骤。
上述软件分发基础设施不必以限制性方式解释。例如,如果准备服务器和分发服务器合并到单个计算机中,或如果软件包具有等同的结构(诸如多段类型),则应用类似考虑;而且,当分发软件包时,可以对其进行动态构建,或可以以任何其他方式(例如,仅以推送模式或以拉取模式)控制软件包的分发。
尽管可以在软件产品(以最宽泛的理解)第一次安装时实现提出方案的典型应用,但是并不禁止在对该软件产品升级、移除、配置或更一般地实施在端点上时应用相同的方法。而且,即使已经在前述中参考了防火墙,也不以限制性方式解释该内容(相同方案也可以应用于适于控制端点通信的任何安全性应用);同样,在防火墙简档中定义的上述类型的许可并不代表全部情况,可以将以任何其他方式配置的防火墙用于控制相应端点的任何通信。
不排除将多个软件包分发到相同的端点(例如,利用用于实施软件产品的软件包和用于实施相应防火墙配置的另一软件包)。而且,对应端点群组具有不同的防火墙配置也是可能的(针对分发的相同软件产品);在该情况下,可以以单个软件包(依赖于端点类型)或以不同的软件包提供相应的不同命令。
在不脱离本方案原理的情况下,可以在由相应端点用于与网络外部进行通信的通用网络的网关、交换机、或更一般地任何(多个)等同网桥单元上安装外部防火墙。另外,在该情况下,不排除提供用于在端点上实施软件产品以及在路由器上实施相应防火墙配置的不同软件包的可能性。
在任何情况下,可以通过仅配置个人防火墙、仅配置外部防火墙或同时配置两者来实现提出的方案。
如果将等同工具用于确定将参考防火墙从其初始条件转向其结束条件(由用于允许执行参考软件产品的参考防火墙的配置隔离)所需的命令,则应用相同的考虑。而且,并不阻止将该过程仅应用于参考防火墙的配置,甚至在无须在准备服务器(可以将准备服务器的初始和结束快照限制于参考防火墙的简档)上实施该参考软件产品的情况下;例如,可以以任何其他方式(甚至手工地)定义用于实施所需软件产品的软件包,并且继而通过添加用于实施相应防火墙配置所需的命令来完成该软件包。
如果以任何其他方式(例如,通过钩子技术)监视参考软件产品的通信或如果利用等同过程确定了用于配置防火墙的相应命令,则应用类似考虑。
当然,在该情况下,在准备服务器上可以根本没有参考防火墙;备选地,可以为参考防火墙提供包装器(wrapper),包装器支持所有通信,但是会将不被允许的那些通信都记入日志(通过区分引擎对它们进一步分析)。
而且,并不阻止使用不同的技术来确定将用于过滤准备服务器的通信的过程(与参考软件产品的可执行模块相关联);例如,可以从参考软件产品的签名中提取或甚至手工输入所需信息。在任何情况下,该特征不是严格必需的并且可以在简化实现中将其省略。
本质上,在任何其他计算机上(例如,系统的哑端点)上应用用于对防火墙配置的定义进行自动化的所提出的技术是可能的。无论如何,用于实施所需防火墙配置的命令的手工定义处于本方案的范围内。
如果以不同的方式对程序(可以用于实现本发明的每个实施方式)结构化,或如果提供了附加的模块或功能,则应用类似的考虑;同样,存储器结构可以是其他类型或可以由等同实体(不必包括物理存储介质)替换。在任何情况下,程序可以采用适于由任何数据处理系统使用或结合任何数据处理系统使用的任何形式,诸如外部或驻留软件、固件或微代码(例如在将编译的或解释的目标代码或源代码中)。而且,可以在任何计算机可用介质上提供程序;该介质可以是适于包含、存储、通信、传播或传递程序的任何元件。例如,该介质可以是电、磁、光、电磁、红外或半导体类型;此类介质的示例是固定盘(其中可以预加载程序)、可移动盘、带、卡、导线、光纤、无线连接、网络、广播波等。在任何情况下,根据本发明的方案使得利用具有不同架构的应用(例如,在单个服务器上工作)、硬件结构(例如,集成在半导体材料的芯片中)或软件和硬件的组合来实现其本身。
提出的方法还可以在具有不同拓扑或包括等同单元(例如,基于本地网络)的系统上执行。而且,每个计算机可以具有另一结构或可以包括类似的元件(诸如,临时存储程序或其一部分以减少在执行期间对大容量存储器的访问的高速缓冲存储器);在任何情况下,以任何代码执行实体(诸如PDA、移动电话等)、或其组合(诸如客户端/服务器架构、网格计算基础设施等)替换计算机都是可能的。

Claims (17)

1.一种用于向数据处理系统中的一组数据处理实体分发软件产品的方法(A1-A16),所述系统包括一组安全性应用,所述安全性应用为防火墙,其适于控制所述实体的通信,其中所述方法包括以下步骤:
为了允许在所述实体上执行所述软件产品,在准备服务器上来确定(A1-A10)所述安全性应用的目标配置,包括自动获得配置防火墙所需的命令,其中所述自动获得配置防火墙所需的命令是通过监视准备服务器上的软件产品的通信,从而丢弃与软件产品的执行不相关的那些通信进行的,
构建(A11)适于实施所述软件产品和所述目标配置的至少一个软件包,以及
在所述系统的分发服务器上分发(A12-A16)所述至少一个软件包,来使得所述至少一个软件包应用于在每个实体上实施所述软件产品以及每个安全性应用的所述目标配置。
2.根据权利要求1所述的方法(A1-A16),其中安全性应用安装在每个实体上,构建所述至少一个软件包的步骤(A11)包括:
构建(A11)单个软件包,所述单个软件包适于在实体上实施所述软件产品和所述安全性应用的所述目标配置,并且
分发所述至少一个软件包的步骤(A12-A16)包括:
向每个实体分发(A12-A15)所述软件包,以使得所述实体上的软件包应用于在所述实体上实施所述软件产品以及安装在所述实体上的所述安全性应用的所述目标配置。
3.根据权利要求1所述的方法(A1-A16),其中所述实体的至少一部分在一组网络中耦合,所述网络中的每个包括至少一个网桥单元,所述网络的所述实体通过所述至少一个网桥单元与所述网络的外部通信,并且其中将安全性应用安装在每个网桥单元上用于控制所述实体的通信,构建所述至少一个软件包的步骤(A11)包括:
构建(A11)单个软件包,所述单个软件包适于在所述实体上实施所述软件产品和在所述网桥单元上实施所述安全性应用的所述目标配置,并且
其中分发所述至少一个软件包的步骤(A12-A16)包括:
向每个实体分发(A12,A13,A14,A16)所述软件包,以使得所述实体上的所述软件包应用于在所述实体上实施所述软件产品以及安装在所述至少一个网桥单元上的所述安全性应用的所述目标配置。
4.根据权利要求1到3中任一项所述的方法(A1-A16),其中确定所述目标配置的步骤(A1-A10)包括:
检测(A1)准备服务器的开始条件,所述准备服务器包括适于控制所述准备服务器的通信的其他安全性应用,
配置(A3)所述其他安全性应用,所述安全性应用用于允许在所述准备服务器上执行所述软件产品,
检测(A4)所述准备服务器的结束条件,以及
确定(A5)用于根据所述开始条件和所述结束条件之间的比较,将所述其他安全性应用从所述开始条件转变为所述结束条件的一组命令,
并且其中构建所述至少一个软件包的步骤(A11)包括:
向所述至少一个软件包添加(A11)命令的指示。
5.根据权利要求4所述的方法(A1-A16),其中确定所述目标配置的步骤(A1-A10)进一步包括:
在所述开始条件的所述检测(A1)和所述结束条件的所述检测(A4)之间,在所述准备服务器上实施(A2)所述软件产品,以及
确定(A5)用于根据所述开始条件和所述结束条件之间的比较在所述准备服务器上实施所述软件产品的一组其他命令,
并且其中构建所述至少一个软件包的步骤(A11)包括:
向所述至少一个软件包添加(A11)所述其他命令的指示以及执行所述其他命令所需的每个资源。
6.根据权利要求1到3中任一项所述的方法(A1-A16),其中确定所述目标配置的步骤(A1-A10)包括:
监视(A8-A9)执行所述软件产品的准备服务器的通信,以及
确定(A10)用于配置所述安全性应用以支持所监视的通信的一组命令,并且其中构建所述至少一个软件包的步骤(A11)包括:
向所述至少一个软件包添加(A11)所述命令的指示。
7.根据权利要求6所述的方法(A1-A16),其中监视所述准备服务器的通信的步骤(A8-A9)包括:
监视(A8)不具有控制所述准备服务器的通信的安全性应用的所述准备服务器的所述通信。
8.根据权利要求6所述的方法(A1-A16),进一步包括以下步骤:
检测(A1)所述准备服务器的开始条件,
在所述准备服务器上实施(A2)所述软件产品,
检测(A4)所述准备服务器的结束条件,以及
作为根据所述开始条件和所述结束条件之间的比较实施所述软件产品的结果,确定(A5)安装在所述准备服务器上的一组可执行模块,
并且其中监视所述准备服务器的通信的步骤(A8-A9)包括:
丢弃(A9)不涉及所述可执行模块的所述准备服务器的所述通信。
9.一种用于向数据处理系统中的一组数据处理实体分发软件产品的装置,所述系统包括一组安全性应用,所述安全性应用为防火墙,其适于控制所述实体的通信,所述装置包括:
用于为了允许在所述实体上执行所述软件产品,在准备服务器上来确定所述安全性应用的目标配置的模块,包括自动获得配置防火墙所需的命令,其中所述自动获得配置防火墙所需的命令是通过监视准备服务器上的软件产品的通信,从而丢弃与软件产品的执行不相关的那些通信进行的,
用于构建适于实施所述软件产品和所述目标配置的至少一个软件包的模块,以及
用于在所述系统中的分发服务器上分发所述至少一个软件包,来使得所述至少一个软件包应用于在每个实体上实施所述软件产品以及每个安全性应用的所述目标配置的模块。
10.根据权利要求9所述的装置,其中,安全性应用安装在每个实体上,
所述用于构建适于实施所述软件产品和所述目标配置的至少一个软件包的模块,包括:用于构建单个软件包的子模块,所述单个软件包适于在实体上实施所述软件产品和所述安全性应用的所述目标配置;
所述用于在所述系统中分发所述至少一个软件包,来使得所述至少一个软件包应用于在每个实体上实施所述软件产品以及每个安全性应用的所述目标配置的模块,包括:用于向每个实体分发所述软件包,以使得所述实体上的软件包应用于在所述实体上实施所述软件产品以及安装在所述实体上的所述安全性应用的所述目标配置的子模块。
11.根据权利要求9所述的装置,其中,所述实体的至少一部分在一组网络中耦合,所述网络中的每个包括至少一个网桥单元,所述网络的所述实体通过所述至少一个网桥单元与所述网络的外部通信,并且其中将安全性应用安装在每个网桥单元上用于控制所述实体的通信,
所述用于构建适于实施所述软件产品和所述目标配置的至少一个软件包的模块,包括:用于构建单个软件包的子模块,所述单个软件包适于在所述实体上实施所述软件产品和在所述网桥单元上实施所述安全性应用的所述目标配置;
所述用于在所述系统中分发所述至少一个软件包,来使得所述至少一个软件包应用于在每个实体上实施所述软件产品以及每个安全性应用的所述目标配置的模块,包括:用于向每个实体分发所述软件包,以使得所述实体上的所述软件包应用于在所述实体上实施所述软件产品以及安装在所述至少一个网桥单元上的所述安全性应用的所述目标配置的子模块。
12.根据权利要求9-11中任一项所述的装置,其中
所述用于为了允许在所述实体上执行所述软件产品,来确定所述安全性应用的目标配置的模块,包括:用于检测准备服务器的开始条件的子模块,所述准备服务器包括适于控制所述准备服务器的通信的其他安全性应用,用于配置所述其他安全性应用的子模块,所述安全性应用用于允许在所述准备服务器上执行所述软件产品,用于检测所述准备服务器的结束条件的子模块,以及用于确定用于根据所述开始条件和所述结束条件之间的比较,将所述其他安全性应用从所述开始条件转变为所述结束条件的一组命令的子模块;
所述用于构建适于实施所述软件产品和所述目标配置的至少一个软件包的模块,包括:用于向所述至少一个软件包添加命令的指示的子模块。
13.根据权利要求12所述的装置,其中,
所述用于为了允许在所述实体上执行所述软件产品,来确定所述安全性应用的目标配置的模块,进一步包括:用于在所述开始条件的所述检测和所述结束条件的所述检测之间,在所述准备服务器上实施所述软件产品的子模块,以及用于确定用于根据所述开始条件和所述结束条件之间的比较在所述准备服务器上实施所述软件产品的一组其他命令的子模块;
所述用于构建适于实施所述软件产品和所述目标配置的至少一个软件包的模块,包括:用于向所述至少一个软件包添加所述其他命令的指示以及执行所述其他命令所需的每个资源的子模块。
14.根据权利要求9-11中任一项所述的装置,其中,
所述用于为了允许在所述实体上执行所述软件产品,来确定所述安全性应用的目标配置的模块,包括:用于监视执行所述软件产品的准备服务器的通信的子模块,以及用于确定用于配置所述安全性应用以支持所监视的通信的一组命令的子模块;
所述用于构建适于实施所述软件产品和所述目标配置的至少一个软件包的模块,包括:用于向所述至少一个软件包添加所述命令的指示的子模块。
15.根据权利要求14所述的装置,所述用于监视执行所述软件产品的准备服务器的通信的子模块,包括:用于监视不具有控制所述准备服务器的通信的安全性应用的所述准备服务器的通信分模块。
16.根据权利要求14所述的装置,
所述装置进一步包括:用于检测所述准备服务器的开始条件的模块,用于在所述准备服务器上实施所述软件产品的模块,用于检测所述准备服务器的结束条件的模块,以及用于作为根据所述开始条件和所述结束条件之间的比较实施所述软件产品的结果,确定安装在所述准备服务器上的一组可执行模块的模块;
所述用于监视执行所述软件产品的准备服务器的通信的子模块,包括:用于丢弃不涉及所述可执行模块的所述准备服务器的通信分模块。
17.一种用于向数据处理系统中的一组数据处理实体分发软件产品的系统,包括根据权利要求9-16中任一项所述的装置。
CN200880011067.8A 2007-04-05 2008-03-04 用于配置防火墙的方法、系统和计算机程序 Expired - Fee Related CN101657793B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07105691 2007-04-05
EP07105691.5 2007-04-05
PCT/EP2008/052605 WO2008122472A1 (en) 2007-04-05 2008-03-04 Method, system and computer program for configuring firewalls

Publications (2)

Publication Number Publication Date
CN101657793A CN101657793A (zh) 2010-02-24
CN101657793B true CN101657793B (zh) 2014-08-13

Family

ID=39387406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880011067.8A Expired - Fee Related CN101657793B (zh) 2007-04-05 2008-03-04 用于配置防火墙的方法、系统和计算机程序

Country Status (6)

Country Link
US (1) US8099588B2 (zh)
EP (1) EP2132628A1 (zh)
JP (1) JP5106625B2 (zh)
KR (1) KR20100027104A (zh)
CN (1) CN101657793B (zh)
WO (1) WO2008122472A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291483B2 (en) * 2007-04-30 2012-10-16 Hewlett-Packard Development Company, L.P. Remote network device with security policy failsafe
US10887399B2 (en) * 2008-07-30 2021-01-05 Mcafee, Llc System, method, and computer program product for managing a connection between a device and a network
US8458769B2 (en) * 2009-12-12 2013-06-04 Akamai Technologies, Inc. Cloud based firewall system and service
US8914794B2 (en) * 2011-06-30 2014-12-16 Rockwell Automation Technologies, Inc. Multiple deployment of applications with multiple configurations in an industrial automation environment
US10169575B1 (en) * 2012-03-14 2019-01-01 Symantec Corporation Systems and methods for preventing internal network attacks
GB2504487A (en) * 2012-07-30 2014-02-05 Ibm Automated network deployment of cloud services into a network by matching security requirements
CN104580078B (zh) * 2013-10-15 2018-04-17 北京神州泰岳软件股份有限公司 一种网络访问控制方法和系统
US10146634B1 (en) * 2014-03-31 2018-12-04 EMC IP Holding Company LLC Image restore from incremental backup
DE102017217422A1 (de) * 2017-09-29 2019-04-04 Siemens Aktiengesellschaft Konzept zum Überwachen eines an ein Stellwerk eingehenden Netzwerkverkehrs
US11159451B2 (en) 2018-07-05 2021-10-26 Cisco Technology, Inc. Stretched EPG and micro-segmentation in multisite fabrics
JP7004367B1 (ja) 2021-09-17 2022-01-21 Jniテック株式会社 ジョイント部材、組み立てフレーム、組み立てキット、及び、ジョイント部材セット

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993760B2 (en) * 2001-12-05 2006-01-31 Microsoft Corporation Installing software on a mobile computing device using the rollback and security features of a configuration manager

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
GB2374687A (en) * 2001-04-19 2002-10-23 Ibm Managing configuration changes in a data processing system
CN1313923C (zh) 2002-04-11 2007-05-02 国际商业机器公司 软件分发方法与系统
EP1591860A4 (en) * 2003-02-04 2010-10-13 Fujitsu Ltd SYSTEM AND METHOD FOR PROVIDING SOFTWARE MAINTENANCE SERVICES AND THE EXECUTION PROGRAM
US7503043B2 (en) * 2003-09-05 2009-03-10 International Business Machines Corporation Method of building dynamic installation packages using a declarative authoring tool
JP4417129B2 (ja) * 2004-02-12 2010-02-17 日本電信電話株式会社 配信システム
US20050262501A1 (en) * 2004-05-21 2005-11-24 Claudio Marinelli Software distribution method and system supporting configuration management
US20050289536A1 (en) * 2004-06-23 2005-12-29 International Business Machines Coporation Automated deployment of an application
US8578371B2 (en) * 2004-08-31 2013-11-05 International Business Machines Corporation Software distribution method and system with automatic prerequisite installation
US7610477B2 (en) * 2004-09-15 2009-10-27 Microsoft Corporation Deploying and receiving software over a network susceptible to malicious communication
WO2006043310A1 (ja) * 2004-10-19 2006-04-27 Fujitsu Limited 不正アクセスプログラム監視処理方法、不正アクセスプログラム検出プログラムおよび不正アクセスプログラム対策プログラム
EP1724678B1 (en) * 2005-05-10 2017-05-10 International Business Machines Corporation Method, system and computer program for installing software products based on package introspection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993760B2 (en) * 2001-12-05 2006-01-31 Microsoft Corporation Installing software on a mobile computing device using the rollback and security features of a configuration manager

Also Published As

Publication number Publication date
KR20100027104A (ko) 2010-03-10
JP5106625B2 (ja) 2012-12-26
US8099588B2 (en) 2012-01-17
EP2132628A1 (en) 2009-12-16
CN101657793A (zh) 2010-02-24
WO2008122472A1 (en) 2008-10-16
US20080250473A1 (en) 2008-10-09
JP2010524069A (ja) 2010-07-15

Similar Documents

Publication Publication Date Title
CN101657793B (zh) 用于配置防火墙的方法、系统和计算机程序
CN109766696B (zh) 软件权限的设置方法及装置、存储介质、电子装置
US9536081B2 (en) System and process for managing network communications
JP6130460B2 (ja) ソフトウェア更新システム及び方法、自動デプロイメントする方法、及び自動デプロイメントする方法
US10320940B1 (en) Managing generic data
US8250570B2 (en) Automated provisioning framework for internet site servers
US7124289B1 (en) Automated provisioning framework for internet site servers
US7152109B2 (en) Automated provisioning of computing networks according to customer accounts using a network database data model
US7743147B2 (en) Automated provisioning of computing networks using a network database data model
US8019835B2 (en) Automated provisioning of computing networks using a network database data model
EP1978672B1 (en) Method for implementing management software, hardware with pre-configured software and implementing method thereof
CN105812479B (zh) 使用权限的请求方法和装置及获取方法和装置
US20090040947A1 (en) Push and Clone Configuration Management for Mobile Devices
CN106230843A (zh) 一种为智能手机配置云虚拟手机的方法、服务器和系统
CN109379233B (zh) 一种云仿真平台模型安全保障系统、方法、服务器及终端
US20220353327A1 (en) State management for device-driven management workflows
CN106911729A (zh) 一种适用于国产处理器的操作系统远程安装方法
US20100031352A1 (en) System and Method for Enforcing Licenses During Push Install of Software to Target Computers in a Networked Computer Environment
CN103810420A (zh) 一种应用防卸载方法和系统
CN114064155A (zh) 基于容器的算法调用方法、装置、设备及存储介质
CN103177211A (zh) 软件的用户端注册方法及系统
CN105868632B (zh) 一种拦截释放dhcp的方法及装置
CN111131324A (zh) 业务系统的登陆方法及装置、存储介质、电子装置
CN111045928A (zh) 一种接口数据测试方法、装置、终端及存储介质
CN106936643B (zh) 一种设备联动方法以及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140813

Termination date: 20190304

CF01 Termination of patent right due to non-payment of annual fee