CN110381068A - 强制访问控制方法、装置、网络设备及存储介质 - Google Patents
强制访问控制方法、装置、网络设备及存储介质 Download PDFInfo
- Publication number
- CN110381068A CN110381068A CN201910669560.9A CN201910669560A CN110381068A CN 110381068 A CN110381068 A CN 110381068A CN 201910669560 A CN201910669560 A CN 201910669560A CN 110381068 A CN110381068 A CN 110381068A
- Authority
- CN
- China
- Prior art keywords
- access
- rule
- main body
- label
- symmetric centralization
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Abstract
本发明涉及一种强制访问控制方法、装置、网络设备及存储介质,属于通信领域。该方法包括:当监测到主体对客体的访问请求时,判断预设的强制访问控制使能开关是否处于使能状态;如是,基于预设的规则文件控制所述主体对所述客体的访问权限;否则,允许所述主体对所述客体的访问。通过该方法,可以对Linux操作系统中的root用户的操作权限进行限制。
Description
技术领域
本申请属于通信领域,具体涉及一种强制访问控制方法、装置、网络设备及存储介质。
背景技术
网络设备的操作系统的安全性一直是人们所关心的问题。现如今,大多数网络设备所使用的操作系统为Linux。在Linux系统中,用户一般分为root用户与普通用户两个级别,但网络设备不同于桌面Linux系统,不需要创建普通用户,即系统运行全部使用root用户进行操作。而root用户具有全部的操作权限,如果攻击者拥有了root用户的权限,就可以随意访问系统的所有资源,因此,需要一种访问策略来限制root用户的权限。
发明内容
有鉴于此,本申请的目的在于提供一种强制访问控制方法、装置、网络设备及存储介质,以对Linux操作系统中的root用户的操作权限进行限制。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供一种强制访问控制方法,所述方法包括:当监测到主体对客体的访问请求时,判断预设的强制访问控制使能开关是否处于使能状态;如是,基于预设的规则文件控制所述主体对所述客体的访问权限;否则,允许所述主体对所述客体的访问。由于强制访问控制使能开关处于使能状态时,可以基于规则文件对所有的由主体访问客体所触发的事件进行控制(包括root用户操作主体访问客体所触发的事件),因此,可以对Linux操作系统中的root用户的操作权限进行限制。
结合第一方面实施例,在一种可能的实施方式中,所述规则文件内保存有多条规则,所述基于预设的规则文件控制所述主体对所述客体的访问权限,包括:调用预先保存的钩子函数,判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则;如是,允许所述主体对所述客体的访问;否则,拒绝所述主体对所述客体的访问。其中,在所述目标规则内记录有与所述主体以及与所述客体相对应的身份标识以及允许所述主体对所述客体的访问类型。在规则文件中设置了访问的具体权限,因此,在基于规则文件控制主体对所述客体的访问权限时,可以对Linux操作系统中的root用户的操作权限进行限制。
结合第一方面实施例,在一种可能的实施方式中,当所述主体为进程,所述客体为文件时,所述判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则,包括:判断在所述多条规则中是否存在所述目标规则,其中,所述目标规则的格式为:标签1标签2访问类型;如预先设置的所述进程对应的标签与所述标签1相同,预先设置的所述文件对应的标签与所述标签2相同,所述访问类型与所述进程对所述文件的访问类型一致,则判断存在允许所述主体访问所述客体的目标规则。即可以限制进程对文件的访问。
结合第一方面实施例,在一种可能的实施方式中,所述访问类型至少包括可读、可写、可追加、可执行中的一种。
结合第一方面实施例,在一种可能的实施方式中,当所述主体为进程,所述客体为端口时,所述判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则,包括:判断在所述多条规则中是否存在所述目标规则,其中,所述目标规则的格式为:标签1标签2;如预先配置的所述进程对应的标签与所述标签1相同,预先配置的所述端口对应的端口号与所述标签2相同,且所述访问类型为监听,则判断存在允许所述主体访问所述客体的目标规则。即可以限制进程对端口的监听。
结合第一方面实施例,在一种可能的实施方式中,在判断预设的强制访问控制使能开关是否处于使能状态之前,所述方法还包括:获取强制访问控制程序的配置信息;加载所述配置信息生成所述强制访问控制使能开关;将所述强制访问控制使能开关以及预先保存的规则文件下发到内核;将所述强制访问控制程序的配置信息保存在共享内存。当其它进程在访问配置时不需要和强制访问控制程序通讯,可以直接读取共享内存,避免强制访问控制程序被频繁访问造成繁忙。
第二方面,本申请实施例提供一种强制访问控制装置,所述装置包括判断模块以及执行模块。判断模块,用于当监测到主体对客体的访问请求时,判断预设的强制访问控制使能开关是否处于使能状态;执行模块,用于在所述判断模块判断预设的强制访问控制使能开关处于使能状态时,基于预设的规则文件控制所述主体对所述客体的访问权限,在所述判断模块判断预设的强制访问控制使能开关处于未使能状态时,允许所述主体对所述客体的访问。
结合第二方面实施例,在一种可能的实施方式中,所述规则文件内保存有多条规则,所述执行模块,用于调用预先保存的钩子函数,判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则,如是,允许所述主体对所述客体的访问,否则,拒绝所述主体对所述客体的访问,其中,在所述目标规则内记录有与所述主体以及与所述客体相对应的身份标识以及允许所述主体对所述客体的访问类型。
结合第二方面实施例,在一种可能的实施方式中,当所述主体为进程,所述客体为文件时,所述执行模块,用于判断在所述多条规则中是否存在所述目标规则,其中,所述目标规则的格式为:标签1标签2访问类型;如预先设置的所述进程对应的标签与所述标签1相同,预先设置的所述文件对应的标签与所述标签2相同,所述访问类型与所述进程对所述文件的访问类型一致,则判断存在允许所述主体访问所述客体的目标规则。
结合第二方面实施例,在一种可能的实施方式中,所述访问类型至少包括可读、可写、可追加、可执行中的一种。
结合第二方面实施例,在一种可能的实施方式中,当所述主体为进程,所述客体为端口时,所述执行模块,用于判断在所述多条规则中是否存在所述目标规则,其中,所述目标规则的格式为:标签1标签2;如预先配置的所述进程对应的标签与所述标签1相同,预先配置的所述端口对应的端口号与所述标签2相同,且所述访问类型为监听,则判断存在允许所述主体访问所述客体的目标规则。
结合第二方面实施例,在一种可能的实施方式中,所述装置还包括获取模块、生成模块以及保存模块,所述获取模块,用于获取强制访问控制程序的配置信息;所述生成模块,用于加载所述配置信息,生成所述强制访问控制使能开关;保存模块,用于将所述强制访问控制使能开关以及预先保存的规则文件下发到内核,还用于将所述强制访问控制程序的配置信息保存在共享内存。
第三方面,本申请实施例还提供一种网络设备包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种强制访问控制方法的流程图之一。
图2示出了本申请实施例提供的一种强制访问控制方法的流程图之二。
图3示出了本申请实施例提供的一种强制访问控制装置的结构框图。
图4示出了本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
此外,针对现有技术中对于使用Linux操作系统的网络设备无法限制root用户的权限这一问题的提出,均是申请人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该是申请人在本申请过程中对本申请做出的贡献。
为了解决上述问题,本申请实施例提供一种强制访问控制方法、装置、网络设备及存储介质,以对Linux操作系统中的root用户的操作权限进行限制。该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。
下面将针对本申请所提供的强制访问控制方法进行介绍。
请参阅图1,本申请实施例提供一种强制访问控制方法,该方法应用于网络设备。其中,网络设备可以是路由器、交换机等。
下面将对该方法所包括的步骤进行详细介绍。
步骤S110:当监测到主体对客体的访问请求时,判断预设的强制访问控制使能开关是否处于使能状态。当判断预设的强制访问控制使能开关处于使能状态时,执行步骤S120;否则执行步骤S130。
可选的,此处的主体可以包括,但不限于进程/线程,客体可以包括,但不限于文件、目录、TCP(Transmission Control Protocol,传输控制协议)/UDP(User DatagramProtocol,用户数据报协议)端口、共享内存段、I/O设备等。
值得指出的是,进程也可以作为客体,例如当执行kill进程A的操作时,kill命令作为主体,进程A作为客体。
主体可以对客体发起访问请求,例如某一个进程发起访问某一文件的请求,再例如某一进程发起访问某一端口的请求。
值得指出的是,此处的访问可以包括,但不限于可读、可写、可执行、可追加、监听等访问类型。
于本申请实施例中的网络设备,在各个主客体间的操作处理逻辑中添加有钩子函数。当监测到主体对客体的访问请求时,网络设备的内核可以先判断强制访问控制使能开关是否处于使能状态。
值得指出的是,本申请实施例中所出现的内核均指代Linux的内核。
其中,作为一种可选的实施方式,步骤S110之前,请参看图2,所述方法还可以包括:
步骤S101:获取强制访问控制程序的配置信息。
步骤S102:加载所述配置信息生成强制访问控制使能开关。
步骤S103:将所述强制访问控制使能开关以及预先保存的规则文件下发到内核,将所述强制访问控制程序的配置信息保存在共享内存。
其中,强制访问控制程序的配置信息可以由用户管理员进行配置。用户管理员可以根据实际需求,配置一系列的配置信息。强制访问控制程序可以通过配置信息,生成强制访问控制使能开关。
值得指出的是,当主体为进程而客体为端口时,规则文件也可以是根据配置信息生成(即进程可以访问哪些端口可以是由用户管理员进行配置),否则,规则文件为预先生成,并保存在网络设备中。
其中,强制访问控制使能开关作为一个全局开关,具有开启和关闭两种状态,当处于开启状态时,强制访问控制使能开关处于使能状态,可以对所有的由主体访问客体所触发的事件进行控制(包括root用户操作主体访问客体所触发的事件),当处于关闭状态时,不会对由主体访问客体所触发的事件进行控制。
规则文件用于限制主体对客体的访问权限(例如限制主体1可以访问哪些客体),和/或用来限制主体2对客体2的访问的具体访问类型(例如主体2只能对客体2执行可读操作)。
在规则文件内可以包含多条规则,其中,下面将对规则的设置进行介绍。
当主体为进程,客体为文件时,为了实现进程对文件的强制访问控制,可以为规则设置三个字段,其中,第一个字段表征主体的标签,第二个字段表征客体的标签,第三个字段表征拥有第一个字段的标签的主体可以对拥有第二个字段的标签的客体所能执行的访问类型。其中,访问类型可以包括可读、可写、可执行、可追加等。
可以预先为文件及进程分别设置对应的标签。例如,可以为网络设备上重要的配置文件、证书文件设置客体标签CFGFILE,为允许操作配置文件、证书文件的主体进程分别设置主体标签CFGEXE;为网络设备上的日志文件(例如系统日志,操作日志等)设置客体标签LOGFILE,为允许操作日志文件的主体进程设置主体标签LOGEXE;对于未设置标签的主客体,默认其标签为一个特殊字符,例如为“_”。在操作系统启动时预置如下规则:
CFGEXE CFGFILE rwxa
LOGEXE LOGFILE rwxa
其中,r表征可读,w表征可写,x表征可执行,a表征可追加。
这些规则添加到内核的规则文件中,使得只有拥有CFGEXE标签的进程可以对拥有CFGFILE标签的配置文件、证书文件执行读、写、执行、追加操作;只有拥有LOGEXE标签的进程可以对拥有LOGFILE标签的日志文件执行读、写、执行、追加操作。
当主体与客体均为进程时,规则也可以包括三个字段。其中,第一个字段表征主体的标签,第二个字段表征客体的标签,第三个字段表征拥有第一个字段的标签的主体可以对拥有第二个字段的标签的客体所能执行的访问类型。其中,访问类型可以包括可读、可写、可执行、可追加等。
例如,为了提高系统的安全,可以限制一些重要的进程不会被其它进程强制关闭,也不允许被其它进程篡改。在这种背景下可以为网络设备上的重要进程设置客体标签EXE,对于未设置标签的主客体,设置一个默认标签,例如为“_”。在操作系统启动时预置如下规则:
_EXE rx。
此时,上述重要的进程作为客体,限制其它的进程只允许对上述重要的进程进行读取或执行操作,不允许篡改或强制关闭。
当主体为进程,客体为端口时,可以预先为进程和端口分别设置对应的标签,例如可以预先将进程名设置为进程对应的标签,将端口号设置为与端口对应的标签。规则可以包括两个字段。其中,第一个字段表征进程名,第二个字段表征与第一个字段对应的进程可以监听的端口号。其中,第二字段可以包括多个端口号。例如,在操作系统启动时预置如下规则:
FTP 21。
上述规则限定了FTP进程只能监听21号端口。
可选的,为了提高进程间的通讯效率,可以使用共享内存机制,将强制访问控制程序的配置信息保存在共享内存,当其它进程在访问配置时不需要和强制访问控制程序通讯,可以直接读取共享内存,避免强制访问控制程序被频繁访问造成繁忙。
网络设备在获取到强制访问控制程序的配置信息后,可以运行强制访问控制程序生成强制访问控制使能开关,并将控制使能开关下发到内核。在内核中,预先生成有开关文件。开关文件用来存储强访控制使能开关,从而使得强制访问控制使能开关保存在内核中,以供内核内的安全功能部件(例如SMACK)使用。当安全功能部件为SMACK时,内核启动时运行强制访问控制配置信息,自动加载smackfs虚拟文件系统到约定的目录/smack,修改/etc/fstab,添加如下一行程序将smackfs加载到/smack目录。
smackfs/smack defaults 0 0。
此外,网络设备还可以将规则文件下发到内核,以便将规则文件加载到内核的规则链。
开启了SMACK安全功能的Linux内核在各系统调用操作处理逻辑中添加了钩子函数,可以在强制访问控制使能开关处于使能状态时将主客体和规则链中的规则文件进行匹配。
步骤S120:基于预设的规则文件控制所述主体对所述客体的访问权限。
根据上文的介绍,在强制访问控制使能开关处于使能状态时,钩子函数可以将主客体和规则链中的规则文件进行匹配。下面将对匹配的具体内容进行介绍。
其中,在规则文件内保存有多条规则,钩子函数可以先判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则;如是,表征匹配成功,允许所述主体对所述客体的访问;否则,表征匹配失败,拒绝所述主体对所述客体的访问。
在匹配过程中,主体与客体类型的不同,导致目标规则的内容出现差异。
在一种可选的实施方式中,当主体为进程,客体为文件时,目标规则记录有与进程对应的主体标签、与文件对应的客体标签以及访问类型,其中,访问类型与进程对文件的访问类型一致。当钩子函数判断存在目标规则时,允许进程访问文件;否则拒绝进程访问文件。
当然,此处的访问类型至少包括可读、可写、可追加、可执行中的一种。
例如当进程A需要访问文件A,访问类型为可读操作、可写操作、可执行操作以及可追加操作,其中,进程A的标签为CFGEXE,文件A的标签为CFGFILE,那么与该访问事件对应的目标规则为:CFGEXE CFGFILE rwxa,表征拥有CFGEXE的进程可以对拥有CFGFILE的文件进行r(可读)、w(可写)、x(可执行)以及a(可追加)的权限。
在一种可选的实施方式中,当主体为进程,客体为端口时,目标规则记录有与进程对应的进程名、与端口对应的端口号。当钩子函数判断存在目标规则时,允许进程监听端口,访问监听端口成功;否则拒绝进程监听端口,访问监听端口失败。
当然,此处的访问指监听。
例如当进程B需要监听端口B,其中,进程B的进程名为B1,端口B端口号为B2,那么与该访问事件对应的目标规则为:B1B2,表征进程名为B1的进程可以对端口号为B2的端口进行监听。
当然,当允许进程B监听端口B后,进程B可能会通过端口B来访问网络设备上的文件C。此时,针对网络设备而言,再次监测到主体(进程B)对客体(文件C)的访问请求,需要再次判断是否存在另一个目标规则,在该规则中,记录有与进程B对应的主体标签、与文件C对应的客体标签以及进程B对文件C的访问类型,若存在该规则,则允许进程B访问文件C,否则拒绝进程B访问文件C。
步骤S130:允许所述主体对所述客体的访问。
当强制访问控制使能开关处于未使能状态,即强制访问控制使能开关未开启时,网络设备不会对由主体访问客体所触发的事件进行控制,直接允许主体对客体的访问。
本申请实施例所提供的一种强制访问控制方法,在监测到主体对客体的访问请求时,先判断强制访问控制使能开关是否处于使能状态,如是,再基于预设的规则文件控制所述主体对所述客体的访问权限,否则,直接允许所述主体对所述客体的访问。由于强制访问控制使能开关处于使能状态时,可以基于规则文件对所有的由主体访问客体所触发的事件进行控制(包括root用户操作主体访问客体所触发的事件),因此,可以对Linux操作系统中的root用户的操作权限进行限制。
如图3所示,本申请实施例提供一种强制访问控制装置400,可以包括判断模块410以及执行模块420。
判断模块410,用于当监测到主体对客体的访问请求时,判断预设的强制访问控制使能开关是否处于使能状态;
执行模块420,用于在所述判断模块410判断预设的强制访问控制使能开关处于使能状态时,基于预设的规则文件控制所述主体对所述客体的访问权限,在所述判断模块410判断预设的强制访问控制使能开关处于未使能状态时,允许所述主体对所述客体的访问。
可选的,在一种可能的实施方式中,所述规则文件内保存有多条规则,所述执行模块420,用于调用预先保存的钩子函数,判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则,如是,允许所述主体对所述客体的访问,否则,拒绝所述主体对所述客体的访问,其中,在所述目标规则内记录有与所述主体以及与所述客体相对应的身份标识以及允许所述主体对所述客体的访问类型。
可选的,在一种可能的实施方式中,当所述主体为进程,所述客体为文件时,所述执行模块420,用于判断在所述多条规则中是否存在所述目标规则。其中,所述目标规则的格式为:标签1标签2访问类型,如预先设置的所述进程对应的标签与所述标签1相同,预先设置的所述文件对应的标签与所述标签2相同,所述访问类型与所述进程对所述文件的访问类型一致,则判断存在允许所述主体访问所述客体的目标规则。
可选的,在一种可能的实施方式中,所述访问类型至少包括可读、可写、可追加、可执行中的一种。
可选的,在一种可能的实施方式中,当所述主体为进程,所述客体为端口时,所述执行模块420,用于判断在所述多条规则中是否存在所述目标规则。其中,所述目标规则的格式为:标签1标签2,如预先配置的所述进程对应的标签与所述标签1相同,预先配置的所述端口对应的端口号与所述标签2相同,且所述访问类型为监听,则判断存在允许所述主体访问所述客体的目标规则。
可选的,在一种可能的实施方式中,所述装置还包括获取模块、生成模块以及保存模块,所述获取模块,用于获取强制访问控制程序的配置信息;所述生成模块,用于加载所述配置信息,生成强制访问控制使能开关;保存模块,用于将所述强制访问控制使能开关以及预先保存的规则文件下发到内核,还用于将所述配置信息保存在共享内存。
本申请实施例所提供的强制访问控制装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
此外,本申请实施例还提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的强制访问控制方法所包含的步骤。
此外,本申请实施例还提供一种网络设备,网络设备可以是,但不限于路由器、交换机等设备。网络设备包括处理器以及与所述处理器连接的存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述网络设备执行如上述的强制访问控制方法所包含的步骤。其中,网络设备的结构示意图可以参看图4。
在图4中,网络设备100可以包括:处理器110、存储器120。
应当注意,图4所示的网络设备100的组件和结构只是示例性的,而非限制性的,根据需要,网络设备100也可以具有其他组件和结构。
处理器110、存储器120以及其他可能出现于网络设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器120用于存储程序,例如存储有强制访问控制方法对应的程序或者强制访问控制装置。可选的,当存储器120内存储有强制访问控制装置时,强制访问控制装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
可选的,强制访问控制装置所包括软件功能模块也可以固化在网络设备100的操作系统(operating system,OS)中。
处理器110用于执行存储器120中存储的可执行模块,例如强制访问控制装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:当监测到主体对客体的访问请求时,判断预设的强制访问控制使能开关是否处于使能状态;如是,基于预设的规则文件控制所述主体对所述客体的访问权限;否则,允许所述主体对所述客体的访问。
当然,本申请实施例任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
综上所述,本发明实施例提出的强制访问控制方法、装置、网络设备及存储介质,通过在监测到主体对客体的访问请求时,先判断强制访问控制使能开关是否处于使能状态,如是,再基于预设的规则文件控制所述主体对所述客体的访问权限,否则,直接允许所述主体对所述客体的访问。由于强制访问控制使能开关处于使能状态时,可以基于规则文件对所有的由主体访问客体所触发的事件进行控制(包括root用户操作主体访问客体所触发的事件),因此,可以对Linux操作系统中的root用户的操作权限进行限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种强制访问控制方法,其特征在于,所述方法包括:
当监测到主体对客体的访问请求时,判断预设的强制访问控制使能开关是否处于使能状态;如是,基于预设的规则文件控制所述主体对所述客体的访问权限;否则允许所述主体对所述客体的访问。
2.根据权利要求1所述的方法,其特征在于,在所述规则文件内保存有多条规则,所述基于预设的规则文件控制所述主体对所述客体的访问权限,包括:
调用预先保存的钩子函数,判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则;如是,允许所述主体对所述客体的访问;否则拒绝所述主体对所述客体的访问;
其中,在所述目标规则内记录有与所述主体以及与所述客体相对应的身份标识以及允许所述主体对所述客体的访问类型。
3.根据权利要求2所述的方法,其特征在于,当所述主体为进程,所述客体为文件时,所述判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则,包括:
判断在所述多条规则中是否存在所述目标规则,其中,所述目标规则的格式为:标签1标签2访问类型;如预先设置的所述进程对应的标签与所述标签1相同,预先设置的所述文件对应的标签与所述标签2相同,所述访问类型与所述进程对所述文件的访问类型一致,则判断存在允许所述主体访问所述客体的目标规则。
4.根据权利要求3所述的方法,其特征在于,所述访问类型至少包括可读、可写、可追加、可执行中的一种。
5.根据权利要求2所述的方法,其特征在于,当所述主体为进程,所述客体为端口时,所述判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则,包括:
判断在所述多条规则中是否存在所述目标规则,其中,所述目标规则的格式为:标签1标签2;如预先配置的所述进程对应的标签与所述标签1相同,预先配置的所述端口对应的端口号与所述标签2相同,且所述访问类型为监听,则判断存在允许所述主体访问所述客体的目标规则。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在判断预设的强制访问控制使能开关是否处于使能状态之前,所述方法还包括:
获取强制访问控制程序的配置信息;
加载所述配置信息生成所述强制访问控制使能开关;
将所述强制访问控制使能开关以及预先保存的规则文件下发到内核;
将所述强制访问控制程序的配置信息保存在共享内存。
7.一种强制访问控制装置,其特征在于,所述装置包括:
判断模块,用于当监测到主体对客体的访问请求时,判断预设的强制访问控制使能开关是否处于使能状态;
执行模块,用于在所述判断模块判断预设的强制访问控制使能开关处于使能状态时,基于预设的规则文件控制所述主体对所述客体的访问权限,在所述判断模块判断预设的强制访问控制使能开关处于未使能状态时,允许所述主体对所述客体的访问。
8.根据权利要求7所述的装置,所述规则文件内保存有多条规则,所述执行模块,用于调用预先保存的钩子函数,判断在所述多条规则中是否存在允许所述主体访问所述客体的目标规则,如是,允许所述主体对所述客体的访问,否则拒绝所述主体对所述客体的访问。
9.一种网络设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器用于存储程序;
所述处理器调用存储于所述存储器中的程序,以执行如权利要求1-6中任一项所述的方法。
10.一种计算机可读取存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910669560.9A CN110381068A (zh) | 2019-07-23 | 2019-07-23 | 强制访问控制方法、装置、网络设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910669560.9A CN110381068A (zh) | 2019-07-23 | 2019-07-23 | 强制访问控制方法、装置、网络设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110381068A true CN110381068A (zh) | 2019-10-25 |
Family
ID=68255414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910669560.9A Pending CN110381068A (zh) | 2019-07-23 | 2019-07-23 | 强制访问控制方法、装置、网络设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110381068A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212031A (zh) * | 2019-12-12 | 2020-05-29 | 北京淇瑀信息科技有限公司 | 一种接口访问频率的控制方法、装置、电子设备和存储介质 |
CN111259375A (zh) * | 2020-01-09 | 2020-06-09 | 青岛海尔科技有限公司 | 应用于物联网操作系统的访问请求的处理方法及装置 |
CN111400723A (zh) * | 2020-04-01 | 2020-07-10 | 中国人民解放军国防科技大学 | 基于tee扩展的操作系统内核强制访问控制方法及系统 |
CN111737013A (zh) * | 2020-08-04 | 2020-10-02 | 南京芯驰半导体科技有限公司 | 芯片的资源管理方法、装置、存储介质及系统芯片 |
CN111949979A (zh) * | 2020-07-29 | 2020-11-17 | 山东英信计算机技术有限公司 | 一种网络端口保护方法、系统、电子设备及存储介质 |
CN112269982A (zh) * | 2020-11-19 | 2021-01-26 | 四川长虹电器股份有限公司 | 基于权限配置的数据访问控制的方法 |
CN113676561A (zh) * | 2021-07-16 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | 域名访问控制方法及装置 |
WO2022183912A1 (zh) * | 2021-03-05 | 2022-09-09 | 华为技术有限公司 | 一种强制访问控制mac方法及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997912A (zh) * | 2010-10-27 | 2011-03-30 | 苏州凌霄科技有限公司 | 基于Android平台的强制访问控制装置及控制方法 |
CN103246849A (zh) * | 2013-05-30 | 2013-08-14 | 浪潮集团有限公司 | 一种Windows下基于增强型ROST的安全运行方法 |
CN104735091A (zh) * | 2015-04-17 | 2015-06-24 | 三星电子(中国)研发中心 | 一种基于Linux系统的用户访问控制方法和装置 |
US20150304357A1 (en) * | 2012-06-08 | 2015-10-22 | Red Hat, Inc. | Extending selinux policy with enforcement of file name translations |
CN106228078A (zh) * | 2016-07-29 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种Linux下基于增强型ROST的安全运行方法 |
CN108614969A (zh) * | 2018-05-02 | 2018-10-02 | 北京搜狐新媒体信息技术有限公司 | 一种系统启动后加载的强制访问控制方法及系统 |
CN109977644A (zh) * | 2019-04-03 | 2019-07-05 | 山东超越数控电子股份有限公司 | 一种Android平台下分级权限管理方法 |
-
2019
- 2019-07-23 CN CN201910669560.9A patent/CN110381068A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997912A (zh) * | 2010-10-27 | 2011-03-30 | 苏州凌霄科技有限公司 | 基于Android平台的强制访问控制装置及控制方法 |
US20150304357A1 (en) * | 2012-06-08 | 2015-10-22 | Red Hat, Inc. | Extending selinux policy with enforcement of file name translations |
CN103246849A (zh) * | 2013-05-30 | 2013-08-14 | 浪潮集团有限公司 | 一种Windows下基于增强型ROST的安全运行方法 |
CN104735091A (zh) * | 2015-04-17 | 2015-06-24 | 三星电子(中国)研发中心 | 一种基于Linux系统的用户访问控制方法和装置 |
CN106228078A (zh) * | 2016-07-29 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种Linux下基于增强型ROST的安全运行方法 |
CN108614969A (zh) * | 2018-05-02 | 2018-10-02 | 北京搜狐新媒体信息技术有限公司 | 一种系统启动后加载的强制访问控制方法及系统 |
CN109977644A (zh) * | 2019-04-03 | 2019-07-05 | 山东超越数控电子股份有限公司 | 一种Android平台下分级权限管理方法 |
Non-Patent Citations (1)
Title |
---|
贾春福: "《操作系统安全》", 31 December 2006 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111212031A (zh) * | 2019-12-12 | 2020-05-29 | 北京淇瑀信息科技有限公司 | 一种接口访问频率的控制方法、装置、电子设备和存储介质 |
CN111259375A (zh) * | 2020-01-09 | 2020-06-09 | 青岛海尔科技有限公司 | 应用于物联网操作系统的访问请求的处理方法及装置 |
CN111400723A (zh) * | 2020-04-01 | 2020-07-10 | 中国人民解放军国防科技大学 | 基于tee扩展的操作系统内核强制访问控制方法及系统 |
CN111949979A (zh) * | 2020-07-29 | 2020-11-17 | 山东英信计算机技术有限公司 | 一种网络端口保护方法、系统、电子设备及存储介质 |
CN111737013A (zh) * | 2020-08-04 | 2020-10-02 | 南京芯驰半导体科技有限公司 | 芯片的资源管理方法、装置、存储介质及系统芯片 |
CN112269982A (zh) * | 2020-11-19 | 2021-01-26 | 四川长虹电器股份有限公司 | 基于权限配置的数据访问控制的方法 |
WO2022183912A1 (zh) * | 2021-03-05 | 2022-09-09 | 华为技术有限公司 | 一种强制访问控制mac方法及相关设备 |
CN113676561A (zh) * | 2021-07-16 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | 域名访问控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110381068A (zh) | 强制访问控制方法、装置、网络设备及存储介质 | |
US9407664B1 (en) | Systems and methods for enforcing enterprise data access control policies in cloud computing environments | |
AU2015374078B2 (en) | Systems and methods for automatically applying firewall policies within data center applications | |
TWI526931B (zh) | 用於虛擬機器之繼承產品啟動 | |
US20190386956A1 (en) | Dynamically opening ports for trusted application processes hosted in containers | |
US20080022376A1 (en) | System and method for hardware access control | |
CN109417576A (zh) | 用于为云应用提供合规要求的传输的系统和方法 | |
CA2915068C (en) | Systems and methods for directing application updates | |
US9027078B1 (en) | Systems and methods for enforcing data loss prevention policies on sandboxed applications | |
CN106155568B (zh) | 一种存储分区的方法及终端 | |
US9104859B1 (en) | Systems and methods for scanning data stored on cloud computing platforms | |
US9953158B1 (en) | Systems and methods for enforcing secure software execution | |
CN102385523A (zh) | 一种云操作系统的驱动安装和管理方法 | |
CN105335197B (zh) | 终端中应用程序的启动控制方法和装置 | |
CN102110007B (zh) | 一种bios/uefi与虚拟机监控器交互方法及系统 | |
US20190392180A1 (en) | Systems and methods for controlling access to a peripheral device | |
CN109635561A (zh) | 一种bios和bmc密码设定同步的方法、装置、终端及存储介质 | |
US11032319B1 (en) | Systems and methods for preparing honeypot computer files | |
CN107623732A (zh) | 一种基于云平台的数据存储方法、装置、设备及存储介质 | |
US10803167B1 (en) | Systems and methods for executing application launchers | |
CN109388485A (zh) | 一种任务执行线程的处理方法、装置、设备及存储介质 | |
US9552481B1 (en) | Systems and methods for monitoring programs | |
CN115904605A (zh) | 软件防御方法以及相关设备 | |
CN115454636A (zh) | 一种容器云平台gpu资源调度方法、装置及应用 | |
CN108334404A (zh) | 应用程序的运行方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191025 |