一种基于密钥的分布式访问控制方法、装置及存储设备
技术领域
本发明实施例涉及计算机网络安全领域,尤其涉及一种基于密钥的分布式访问控制方法、装置及存储设备。
背景技术
目前,防火墙是实现访问控制的一种常用方式,根据其位于协议栈的位置可分为网络层防火墙和应用层防火墙,网络层防火墙利用封包的多种属性进行过滤(IP、端口、协议等),应用层防火墙依据封包所属的应用程序进行过滤,理论上可以完全阻隔未知应用程序的数据流进到受保护的设备。防火墙可以部署在路由器上实现对内/外网的访问控制,也可以部署在单个PC上,实现对PC的访问控制。
但诸多防火墙的规则难以统一维护和管理,规则是否活跃也难以进行判断;同时,对于硬件防火墙来说,在流量较大的情况下常出现防火墙性能不足的情况。
发明内容
基于上述存在的问题,本发明实施例提供一种基于密钥的分布式访问控制方法、装置及存储设备,用以解决诸多防火墙的规则难以统一维护管理以及硬件防火墙在流量较大的情况下出现性能不足的问题。本发明实施例公开一种基于密钥的分布式访问控制方法,包括:
接收数据包,检测数据包是否为加密数据包;若不是,则将所述数据包丢弃;若是,查询本设备访问控制规则列表中与发送数据包的设备有关的规则,获取规则对应的密钥,使用密钥对数据包解密;若解密成功,则根据密钥对应规则执行对所述数据包的动作;若未解密成功,将所述数据包引流至蜜罐网络诱导环境中,或重定向到特定网关设备。
进一步地,还包括:若数据包被与发送数据包的设备无关的规则对应的密钥解密,则所述数据包将被丢弃。
进一步地,所述访问控制规则列表中每条规则的格式为规则ID、密钥、优先级、匹配内容、动作内容;规则ID:规则编号;密钥:规则对应的密钥,每条规则对应不同的密钥,加密和解密使用同一密钥;优先级:表示规则的优先级;匹配内容包括:发起IP、目的IP、发起端口、目的端口、发起网段、目的网段、传输层协议、应用层协议、发起方登录的用户、发起的应用;动作内容包括:允许通讯、禁止通讯、重定向数据包到特定网关设备、告警并丢弃、告警并重定向。
进一步地,访问控制规则列表采用白名单机制,每台设备的访问控制规则列表均来源于访问控制规则库,所述规则库存放内网单台设备上或者分布式集群上。
进一步地,所述访问控制规则库不断进行更新,具体包括:通知内网所有设备同步更新访问控制规则列表;或者识别所述访问控制规则列表更新所影响的内网设备,主动将更新后的访问控制规则列表推送给被影响的内网设备。
进一步地,所述访问控制规则列表中还包含特定范围互访规则,所述特定范围互访规则在内网或者内外网的特定范围内进行互访时,自动批复所需规则在一段时间内生效。
进一步地,将所述数据包引流至蜜罐网络诱导环境中,具体为:内网设备对加密数据包外层Ethernet header、IPv6Header、传输层报头进行更改,具体为:将目的Mac、目的IP、端口变更为蜜罐网络诱导环境的信息,源IP、端口、Mac变更为内网设备的信息;蜜罐网络诱导环境接收到更改后的数据包,对该数据包进行检测,根据检测结果选择对应密钥,构造加密的反馈数据包;内网设备收到蜜罐发送的反馈数据包,根据成功解密的密钥对应规则ID决定对所述数据包采取的动作。
进一步地,将所述数据包重定向到特定网关设备,具体为:内网设备对加密数据包Ethernet header、IPv6Header、传输层报头进行更改,具体为:将目的Mac、目的IP、端口变更为特定网关设备的信息,源IP、端口、Mac变更为内网设备的信息;将所述数据包重定向到特定网关设备。
本发明实施例公开一种基于密钥的分布式访问控制装置,包括存储器和处理器,所述存储器用于存储多条指令,所述处理器用于加载所述存储器中存储的指令以执行:
接收数据包,检测数据包是否为加密数据包;若不是,则将所述数据包丢弃;若是,查询本设备访问控制规则列表中与发送数据包的设备有关的规则,获取规则对应的密钥,使用密钥对数据包解密;若解密成功,则根据密钥对应规则执行对所述数据包的动作;若未解密成功,将所述数据包引流至蜜罐网络诱导环境中,或重定向到特定网关设备。
进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:
还包括:若数据包被与发送数据包的设备无关的规则对应的密钥解密,则所述数据包将被丢弃。
进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:
所述访问控制规则列表中每条规则的格式为规则ID、密钥、优先级、匹配内容、动作内容;规则ID:规则编号;密钥:规则对应的密钥,每条规则对应不同的密钥,加密和解密使用同一密钥;优先级:表示规则的优先级;匹配内容包括:发起IP、目的IP、发起端口、目的端口、发起网段、目的网段、传输层协议、应用层协议、发起方登录的用户、发起的应用;动作内容包括:允许通讯、禁止通讯、重定向数据包到特定网关设备、告警并丢弃、告警并重定向。
进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:
访问控制规则列表采用白名单机制,每台设备的访问控制规则列表均来源于访问控制规则库,所述规则库存放内网单台设备上或者分布式集群上。
进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:
所述访问控制规则库不断进行更新,具体包括:通知内网所有设备同步更新访问控制规则列表;或者识别所述访问控制规则列表更新所影响的内网设备,主动将更新后的访问控制规则列表推送给被影响的内网设备。
进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:
所述访问控制规则列表中还包含特定范围互访规则,所述特定范围互访规则在内网或者内外网的特定范围内进行互访时,自动批复所需规则在一段时间内生效。
进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:
将所述数据包引流至蜜罐网络诱导环境中,具体为:内网设备对加密数据包外层Ethernet header、IPv6Header、传输层报头进行更改,具体为:将目的Mac、目的IP、端口变更为蜜罐网络诱导环境的信息,源IP、端口、Mac变更为内网设备的信息;蜜罐网络诱导环境接收到更改后的数据包,对该数据包进行检测,根据检测结果选择对应密钥,构造加密的反馈数据包;内网设备收到蜜罐发送的反馈数据包,根据成功解密的密钥对应规则ID决定对所述数据包采取的动作。
进一步地,所述处理器还用于加载所述存储器中存储的指令以执行:
将所述数据包重定向到特定网关设备,具体为:内网设备对加密数据包Ethernetheader、IPv6Header、传输层报头进行更改,具体为:将目的Mac、目的IP、端口变更为特定网关设备的信息,源IP、端口、Mac变更为内网设备的信息;将所述数据包重定向到特定网关设备。
本发明实施例同时公开一种基于密钥的分布式访问控制装置,包括:
接收检测模块:用于接收数据包,检测数据包是否为加密数据包;
丢弃模块:若不是加密数据包,用于将所述数据包丢弃;
查询解密模块:若是加密数据包,用于查询本设备访问控制规则列表中与发送数据包的设备有关的规则,获取规则对应的密钥,使用密钥对数据包解密;
动作执行模块:若解密成功,则用于根据密钥对应规则执行对所述数据包的动作;
引流模块:若未解密成功,用于将所述数据包引流至蜜罐网络诱导环境中;
重定向模块:用于将所述数据包重定向到特定网关设备。
本发明实施例提供了一种存储设备,所述存储设备中存储有多条指令,所述指令适于由处理器加载并执行本发明实施例提供的基于密钥的分布式访问控制方法步骤。
与现有技术相比,本发明实施例提供的一种基于密钥的分布式访问控制方法、装置及存储设备,至少实现了如下的有益效果:
接收数据包,检测数据包是否为加密数据包;若不是,则将所述数据包丢弃;若是,查询本设备访问控制规则列表中与发送数据包的设备有关的规则,获取规则对应的密钥,使用密钥对数据包解密;若解密成功,则根据密钥对应规则执行对所述数据包的动作;若未解密成功,将所述数据包引流至蜜罐网络诱导环境中,或重定向到特定网关设备。由于访问控制规则可以根据用户标识,端口,数据流方向,协议和应用程序等属性进行构建,因此本发明实施例支持多维度访问控制;同时通过访问控制规则库可实现所有设备的访问规则的统一管理和维护,同时缓解了大流量情况下传统防火墙性能不足的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于密钥的分布式访问控制方法流程图;
图2为本发明实施例提供的数据包引流至蜜罐网络诱导环境的方法流程图;
图3为本发明实施例提供的数据包重定向到特定网关设备的方法流程图;
图4为本发明实施例提供的又一基于密钥的分布式访问控制方法流程图;
图5为本发明实施例提供的另一基于密钥的分布式访问控制方法流程图;
图6为本发明实施例提供的基于密钥的分布式访问控制装置结构图;
图7为本发明实施例提供的又一基于密钥的分布式访问控制装置结构图。
具体实施方式
为了使本发明的目的,技术方案和优点更加清楚,下面结合附图,对本发明实施例提供的基于密钥的分布式访问控制方法的具体实施方式进行详细地说明。应当理解,下面所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供了基于密钥的分布式访问控制方法流程图,如图1所示,包括:
步骤11,接收数据包;
步骤12,检测数据包是否为加密数据包;若是,执行步骤13,否则执行步骤14;
如何检测数据包是否为加密数据包,本发明实施例提供以下两个方法:
尝试对数据包进行解密,查看尝试解密后数据包前几个字节是否为协议头,若是,则该数据包为加密数据包;
或者直接辨认数据包加密封装格式。
步骤13,查询本设备访问控制规则列表中与发送数据包的设备有关的规则,获取规则对应的密钥;
访问控制规则列表采用白名单机制,每台设备只存储预期与本设备发生交互关系的访问控制规则列表,且每台设备的访问控制规则列表均来源于在访问控制规则库,所述规则库存放内网单台设备上或者存放在分布式集群上;
并且所述访问控制规则库不断进行更新,包括但不限于以下两种形式:
通知内网所有设备同步更新访问控制规则列表;
或者识别所述访问控制规则列表更新所影响的内网设备,主动将更新后的访问控制规则列表推送给被影响的内网设备。
步骤14,将所述数据包丢弃;
步骤15,使用密钥对数据包解密,若解密成功则执行步骤16,若未若解密成功,执行步骤17;
未解密成功即规则对应的密钥均不能解密数据包。
步骤16,根据密钥对应规则执行对所述数据包的动作;
其中,所述访问控制规则列表中每条规则的格式为规则ID、密钥、优先级、匹配内容、动作内容;规则ID:规则编号;密钥:规则对应的密钥,每条规则对应不同的密钥,加密和解密使用同一密钥;优先级:表示规则的优先级;匹配内容包括:发起IP、目的IP、发起端口、目的端口、发起网段、目的网段、传输层协议、应用层协议、发起方登录的用户、发起的应用;动作内容包括:允许通讯、禁止通讯、重定向数据包到特定网关设备、告警并丢弃、告警并重定向。
步骤17,将所述数据包引流至蜜罐网络诱导环境中,或重定向到特定网关设备。
访问控制规则列表中还包含临时申请规则,临时申请规则在限定条件下自动生效,并在给定时间后自动失效。访问控制规则列表中还可包含特定范围互访规则,所述特定范围互访规则在内网或者内外网的特定范围内进行互访时,自动批复所需规则在一段时间内生效。
本发明实施例中采用访问控制规则的方法,访问控制规则列表可以根据用户标识(如IP地址)、端口、数据流方向、协议和应用程序等属性进行构建,并且通过访问控制规则列表可以实现网内所有设备访问规则的统一管理和维护,因此本发明实施例支持内网中多维度访问控制;本发明实施例访问控制规则列表采用强白名单机制,能够严格控制流量,同时本发明实施例采用分布式访问控制的方法,当网络规模需要扩大时,也可以实现快速扩容。
若未解密成功,则将所述数据包引流至蜜罐网络诱导环境中,本发明实施例还提供了数据包引流至蜜罐网络诱导环境的方法流程图,如图2所示,具体为:
步骤1711,内网设备对加密数据包外层Ethernet header、IPv6Header、传输层报头进行更改,具体为:将目的Mac、目的IP、端口变更为蜜罐网络诱导环境的信息,源IP、端口、Mac变更为内网设备的信息;
步骤1712,蜜罐网络诱导环境接收到更改后的数据包,对该数据包进行检测,根据检测结果选择对应密钥,构造加密的反馈数据包;
步骤1713,内网设备收到蜜罐发送的反馈数据包,根据成功解密的密钥对应规则ID决定对所述数据包采取的动作。
若未解密成功,则将所述数据包重定向到特定网关设备中,本发明实施例还提供了数据包重定向到特定网关设备的方法流程图,如图3所示,具体为:
步骤1721,内网设备对加密数据包Ethernet header、IPv6Header、传输层报头进行更改,具体为:将目的Mac、目的IP、端口变更为特定网关设备的信息,源IP、端口、Mac变更为内网设备的信息;
步骤1722,将所述数据包重定向到特定网关设备。
将所述数据包引流至蜜罐网络诱导环境中,或重定向到特定网关设备从而实现QoS(网络的一种安全机制,用来解决网络延迟和阻塞等问题的一种技术)、限速等目的。
以内网终端之间通信的情况举例,本发明实施例提供的又一基于密钥的分布式访问控制方法流程图,如图4所示,包括:
步骤41,内网终端B向终端A发送数据包;
步骤42,终端A接收到终端B发送的数据包,检测数据包是否为加密数据包,若是,执行步骤43,否则执行步骤44;
步骤43,查询本设备访问控制规则列表中与发送数据包的设备有关的规则,获取规则对应的密钥;
步骤44,直接告警并丢弃;
步骤45,使用密钥对数据包解密,若解密成功,则执行步骤46,若未解密成功,执行步骤47;
步骤46,根据密钥对应规则执行对所述数据包的动作,执行步骤48;
步骤47,将数据包引导至蜜罐网络诱导环境中,或重定向到特定的网关设备上;
步骤48,终端A查询本设备访问控制规则列表中与终端B有关的规则,获取规则对应的密钥,对数据包进行加密,向终端B发送加密后的数据包;
步骤49,终端B接收到终端A的数据包,对数据包进行判断,继续重复执行上述步骤。
本发明实施例还可以应用于内外网之间通信的情况,提供又一基于密钥的分布式访问控制方法流程图,如图5所示,包括:
步骤51,外网终端D向内网终端C发送数据包;
步骤52,数据包达到内网的路由器,路由器查询访问控制规则列表确定外网终端D发送的数据包能否通过;若可以通过,执行步骤53;若不能通过,执行步骤54;
步骤53,路由器根据访问控制规则列表中对应的规则对数据包进行加密,并将加密后的数据包转发给内网终端C;
步骤54,直接告警并丢弃;
步骤55,内网终端C接收加密后的数据包,获取访问控制规则列表对应规则的密钥,并对数据包解密,若解密成功,则执行步骤56,若未解密成功,执行步骤57;
步骤56,根据规则执行对数据包的动作,执行步骤58;
步骤57,将数据包引导至蜜罐网络诱导环境中,或重定向到特定的网关设备上;
步骤58,内网终端C对数据包进行加密,并将加密后的数据包经由交换机转发给路由器,路由器获取访问控制规则列表对应规则的密钥,并对数据包解密,并将解密后的数据包转发给外网终端D;
步骤59,外网终端D接收数据包,并对数据包进行判断,继续重复执行上述步骤。
本发明实施例中路由器和终端的双重访问控制规则列表查询机制,体现了本实施例强白名单的特点,以此严格控制流量访问,同时使用本发明实施例,使得网络中的底层通信过程不影响应用层用户的操作体验,所以本发明实施例具有强流量透明化的优点。
本发明实施例还提供了一种基于密钥的分布式访问控制装置,如图6所示,包括:所述装置包括存储器61和处理器62,所述存储器61用于存储多条指令,所述处理器62用于加载所述存储器61中存储的指令以执行:
接收数据包,检测数据包是否为加密数据包;若不是,则将所述数据包丢弃;若是,查询本设备访问控制规则列表中与发送数据包的设备有关的规则,获取规则对应的密钥,使用密钥对数据包解密;若解密成功,则根据密钥对应规则执行对所述数据包的动作;若未解密成功,将所述数据包引流至蜜罐网络诱导环境中,或重定向到特定网关设备。
进一步地,所述处理器62还用于加载所述存储器61中存储的指令以执行:
还包括:若数据包被与发送数据包的设备无关的规则对应的密钥解密,则所述数据包将被丢弃。
所述处理器62用于加载所述存储器61中存储的指令以执行:
所述访问控制规则列表中每条规则的格式为规则ID、密钥、优先级、匹配内容、动作内容;规则ID:规则编号;密钥:规则对应的密钥,每条规则对应不同的密钥,加密和解密使用同一密钥;优先级:表示规则的优先级;匹配内容包括:发起IP、目的IP、发起端口、目的端口、发起网段、目的网段、传输层协议、应用层协议、发起方登录的用户、发起的应用;动作内容包括:允许通讯、禁止通讯、重定向数据包到特定网关设备、告警并丢弃、告警并重定向。
所述处理器62用于加载所述存储器61中存储的指令以执行:
访问控制规则列表采用白名单机制,每台设备的访问控制规则列表均来源于访问控制规则库,所述规则库存放内网单台设备上或者分布式集群上。
所述处理器62用于加载所述存储器61中存储的指令以执行:
所述访问控制规则库不断进行更新,具体包括:通知内网所有设备同步更新访问控制规则列表;或者识别所述访问控制规则列表更新所影响的内网设备,主动将更新后的访问控制规则列表推送给被影响的内网设备。
所述处理器62用于加载所述存储器61中存储的指令以执行:
所述访问控制规则列表中还包含特定范围互访规则,所述特定范围互访规则在内网或者内外网的特定范围内进行互访时,自动批复所需规则在一段时间内生效。
所述处理器62用于加载所述存储器61中存储的指令以执行:
将所述数据包引流至蜜罐网络诱导环境中,具体为:内网设备对加密数据包外层Ethernet header、IPv6Header、传输层报头进行更改,具体为:将目的Mac、目的IP、端口变更为蜜罐网络诱导环境的信息,源IP、端口、Mac变更为内网设备的信息;蜜罐网络诱导环境接收到更改后的数据包,对该数据包进行检测,根据检测结果选择对应密钥,构造加密的反馈数据包;内网设备收到蜜罐发送的反馈数据包,根据成功解密的密钥对应规则ID决定对所述数据包采取的动作。
所述处理器62用于加载所述存储器61中存储的指令以执行:
将所述数据包重定向到特定网关设备,具体为:内网设备对加密数据包Ethernetheader、IPv6Header、传输层报头进行更改,具体为:将目的Mac、目的IP、端口变更为特定网关设备的信息,源IP、端口、Mac变更为内网设备的信息;将所述数据包重定向到特定网关设备。
部署本发明实施例提供的装置对部署位置没有要求,仅仅通过访问控制规则库管理访问控制规则,就可以从多维度对流量进行访问控制。
本发明实施例同时提供了又一种基于密钥的分布式访问控制装置,如图7所示,包括:
接收检测模块71:用于接收数据包,检测数据包是否为加密数据包;
丢弃模块72:若不是加密数据包,用于将所述数据包丢弃;
查询解密模块73:若是加密数据包,用于查询本设备访问控制规则列表中与发送数据包的设备有关的规则,获取规则对应的密钥,使用密钥对数据包解密;
动作执行模块74:若解密成功,则用于根据密钥对应规则执行对所述数据包的动作;
引流模块75:若未解密成功,用于将所述数据包引流至蜜罐网络诱导环境中;
重定向模块76:用于将所述数据包重定向到特定网关设备。
本发明实施例还提供一种存储设备,所述存储设备中存储有多条指令,所述指令适于由处理器加载并执行本发明实施例提供的基于密钥的分布式访问控制方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。