一种安全网关及其创建方法、用户访问内部服务的方法、电子设备及存储介质与流程

文档序号:30837933发布日期:2022-07-22 23:35阅读:118来源:国知局
1.本技术涉及一种安全网关,尤其涉及一种安全网关及其创建方法、用户访问内部服务的方法、电子设备及存储介质,属于访问控制
技术领域
:。
背景技术
::2.针对网络边界的防护,传统的方法是使用网络安全设备,包括防火墙、ids/ips等,实现对外部传入连接的访问控制,其缺点在于需要检测传入的数据包,且对边界外部具有一定的暴露面,导致攻击者可能根据边界对外暴露的信息进行漏洞扫描、资产侦查,对资产造成威胁。3.此外,来自网络内部的安全威胁同样不可忽视,攻击者可能通过病毒、钓鱼邮件在网络内部潜伏;同时,内部成员的误操作导致一些信息被配置成了对外网开放,对整个网络带来巨大的安全挑战。技术实现要素:4.在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。5.鉴于此,为解决现有技术中存在的防火墙的边界安全防护能力不足的技术问题,本发明提供一种安全网关及其创建方法、用户访问内部服务的方法、电子设备及存储介质。6.方案一:一种安全网关,其特征在于,包括隐身网关、统一认证中心和应用网关;7.所述隐身网关用于检测客户端的硬件设备特征合法性;8.所述统一认证中心用于验证用户身份,确定用户访问的系统;9.所述应用网关用于为用户提供服务。10.方案二:一种创建安全网关的方法,包括以下步骤:11.s1.构建隐身网关;12.s2.配置统一认证中心。13.优选的,所述构建隐身网关的方法具体包括以下步骤:14.s11.为iptables防火墙配置默认拒绝策略,丢弃所有传入的数据包;15.s12.在端口敲击服务器上安装fwknop客户端,并开放端口敲击接口,调用所述接口令服务器向网关发送端口敲击包;16.s13.在隐身网关安装fwknop服务端,令iptables的input链的第一条规则为fwknop_input链;17.s14.在浏览器上安装插件,所述插件添加监听事件,监听到用户访问指定url,向端口敲击服务器发送端口敲击包。18.优选的,所述配置统一认证中心的具体方法是,包括以下步骤:19.s21.编写sa-client处理逻辑,用于处理用户的访问请求;20.s22.编写sa-server处理逻辑,完成用户登录功能;21.s23.配置nginx服务器,作为身份认证与访问控制的基础,并提供web应用服务;22.优选的,所述配置默认拒绝策略的方法具体为,在隐身网关上执行两条命令以在iptables的input链上添加规则;所述规则包括:23.第一条规则:允许已建立连接的数据包通过,以避免删除临时准入规则后原来已建立的连接被断开;24.第二条规则:拒绝所有传入数据包,使得对外部而言所有端口处于“关闭”状态。25.优选的,所述编写sa-client处理逻辑的具体方法是,sa-client负责检查用户是否登录,通过判断用户浏览器中是否具有sa-server网站的cookie,如果用户浏览器中有对应cookie,则从中取出token并查询redis以判断此token是否有效,如果用户浏览器未存储cookie或者token被判断为无效,则抛出未登录异常。26.优选的,所述配置nginx服务器的具体方法是,为nginx添加auth_request模块,令该模块指向具备用户登录检查功能的服务器,并在该模块中配置拦截403错误码的处理地址,使得用户登录检查服务器返回403错误时用户浏览器根据该模块的配置跳转到指定的地址进行登录,从而为nginx提供身份验证功能。27.方案三:一种用户访问内部服务的方法,包括以下步骤:28.步骤一.用户于浏览器输入目标url;29.步骤二.浏览器插件向端口敲击服务器发送敲击请求;30.步骤三.端口敲击服务器根据请求信息,向隐身网关发送端口敲击包,所述隐身网关为权利要求1所述的隐身网关或权利要求2所述构建的隐身网关;31.步骤四.隐身网关验证用户认证因素,随后对此用户开放端口;32.步骤五.统一认证中心发送302重定向,引导用户进入登录页面登录;33.步骤六.用户输入正确的身份信息,统一认证中心引导用户访问对应服务。34.方案四:一种电子设备,包括存储器和处理器,存储器存储有计算机程序,所述的处理器执行所述计算机程序时实现方案二所述的一种创建安全网关的方法的步骤。35.方案五:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现方案二所述的一种创建安全网关的方法。36.本发明的有益效果如下:本发明通过对防火墙动态添加和删除规则,实现对客户的动态授权;在默认情况下不信任任何人员和设备,对用户的每一次访问请求进行评估,只有当用户的信息符合所配置的安全策略时才可对指定用户开放访问权限,实现了边界的动态授权,解决了现有技术中存在的防火墙的边界安全防护能力不足的技术问题。附图说明37.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:38.图1安全网关结构连接示意图;39.图2客户浏览器安装插件示意图;40.图3用户认证流程1示意图;41.图4添加临时http(s)准入规则示意图;42.图5编写sa-client处理逻辑示意图;43.图6未登录异常示意图;44.图7配置nginx服务器示意图;45.图8编写sa-server处理逻辑示意图;46.图9一种用户访问内部服务的方法流程示意图;47.图10sa-server用户登录界面。具体实施方式48.为了使本技术实施例中的技术方案及优点更加清楚明白,以下结合附图对本技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本技术的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。49.实施例1、参照图1说明本实施方式,一种安全网关,包括隐身网关、统一认证中心和应用网关;50.所述隐身网关用于检测客户端的硬件设备特征合法性;51.具体的,本实施例所述隐身网关使用fwknop实现,以linux的iptables防火墙为基础;iptables默认情况下只有一条对所有传入的连接全部丢弃的默认规则,通过在默认丢弃规则之前动态添加和删除新的准入规则,实现对用户设备的访问控制。52.所述统一认证中心(sso)用于验证用户身份,确定用户访问的系统;具体的,本实施例所述统一认证中心使用开源sa-token框架搭建,该框架采用java语言编写,需与redis配合使用,并结合nginx的auth_basic模块以进行用户身份认证;sa-token分为两个部分:sa-client和sa-server,其中,sa-client主要根据用户浏览器cookie是否具有有效的token来判断用户是否已经登录;sa-server则主要对用户进行身份验证,验证通过则生成ticket给用户存储要访问的域名的cookie中。53.所述应用网关用于为用户提供服务;54.所述应用网关包含web代理网关、网络隧道网关和api网关;55.具体的,web代理网关对用户提供web服务,网络隧道网关为用户提供vpn服务,api网关为用户提供api接口服务。56.实施例2、参照图2-10说明本实施方式:一种创建安全网关的方法,包括以下步骤:57.s1.构建隐身网关,具体包括以下步骤:58.s11.为iptables防火墙配置默认拒绝策略,丢弃所有传入的数据包;59.所述配置默认拒绝策略的方法具体为,在隐身网关上执行两条命令以在iptables的input链上添加规则;所述规则包括:60.第一条规则:允许已建立连接的数据包通过,以避免删除临时准入规则后原来已建立的连接被断开;第二条规则:拒绝所有传入数据包,使得对外部而言所有端口处于“关闭”状态。61.s12.在端口敲击服务器上安装fwknop客户端,并开放“/knock”的restfulapi接口,调用所述接口令服务器向网关发送端口敲击包;62.s13.在隐身网关安装fwknop服务端,令iptables的input链的第一条规则为fwknop_input链,此链用于记录临时准入规则,由于该链位于input的第一条,因此对于合法用户传入的包会匹配fwknop_input链的临时规则,从而被放行;一段时间后临时规则便会被自动删除,服务器恢复对外部的所有端口的“关闭”状态。参照图4的fwknop_input链添加了临时http(s)准入规则,仅对ip为111.42.148.120的用户放行。63.s14.在浏览器上安装插件,所述插件添加监听事件,监听到用户访问指定url,向端口敲击服务器发送端口敲击包。64.s2.配置统一认证中心,参照图3,包括以下步骤:65.s21.编写sa-client处理逻辑,用于处理用户的访问请求;66.sa-client负责检查用户是否登录,通过判断用户浏览器中是否具有sa-server网站的cookie,如果用户浏览器中有对应cookie,则从中取出token并查询redis以判断此token是否有效,如果用户浏览器未存储cookie或者token被判断为无效,则抛出未登录异常,以便后续引导用户进入认证流程完成身份验证。67.代码处理逻辑如图5所示,其中的stputil.islogin()(编写接口)以检查用户浏览器是否有sa-server网站的cookie,若有cookie则取出token,然后向redis查询以判断token是否有效,如果无cookie为空或者token无效,则判定为“未登录”状态,此时便抛出图6所示的未登录异常;68.s22.配置nginx服务器,作为身份认证与访问控制的基础,具体方法是,为nginx添加auth_request模块,令该模块指向具备用户登录检查功能的服务器,并在该模块中配置拦截403错误码的处理地址,使得用户登录检查服务器返回403错误时用户浏览器根据该模块的配置跳转到指定的地址进行登录,69.具体的,实施过程:在/islogin配置项中添加“proxy_passhttp://jklm23.asia:9001/islogin”,并添加“error_page403=@error403”,且“@error403”配置为“return302http://center.jklm23.asia:9001/sso/login?back=$scheme://$http_host$request_uri”,形成的配置文件如图7所示,从而为nginx提供身份验证功能。70.在用户未登录时,访问center.jklm23.asia网关(目标网关),经过浏览器扩展发出端口敲击请求后开放了网关的http(s)端口,此时便可访问nginx服务,由于网站启用了auth_request模块(图9①),所以先访问检查用户是否登录的服务器,如图9②所示,/islogin是统一认证中心的sa-client部分,由于用户未登录,sa-client则抛出异常,根据图7的实现,此时便返回403错误码;nginx根据403状态码和图9①的配置找到重定向的url(路由地址)(图9③),对应的sa-client的登录功能,此时sa-client会引导用户浏览器跳转到sa-server的登录页面以进行身份验证,用户验证通过后浏览器将再次重定向至auth_request模块配置的服务器以重新判断用户是否具有有效cookie。71.s23.编写sa-server处理逻辑,完成用户登录功能;72.sa-server核心功能是为用户提供登录功能,主要方法是为用户提供登录页面(参照图10),用户在此页面中输入账号和密码,点击“登录”按钮后sa-server便检查用户提供的信息是否合法,若合法则生成有效cookie存储到用户浏览器中,并令用户浏览器重定向回sa-client。73.参照图8说明sa-server处理逻辑,令用户浏览器重定向至登录页面(参照图10),以验证用户身份。74.用户输入账号密码并登录成功,浏览器再次发生重定向,并携带ticket码参数,同时将token存储到用户浏览器;75.例如,浏览器将token存储到本地center.jklm23.asia和jklm23.asia的cookie:http://center.jklm23.asia/sso/login?back=http://center.jklm23.asia&ticket=xxxxxxxxx;其中back参数为登录成功后要重定向的url。76.sa-client根据ticket码从redis中获取账号id,并登录此账号会话,然后再次重定向至用户要访问的页;77.此时nginx的auth_request模块再次起作用,该模块使用配置的服务器检查用户是否登录,不同的是,此时可以从用户浏览器的cookie中取出有效token,sa-client发现用户已经登录,便返回200状态码,不会触发nginx的重定向。78.由于nginx没有触发重定向,便正常代理内网页面此时用户便可以访问。79.访问sa-server时,发现用户的cookie中包含了有效token,此时便不会弹出登录页面登录,直接重定向至sa-client并返回ticket进行后续的流程,用户便无需输入用户名和密码便可访问其他页面。80.实施例3、参照图9说明本实施方式:一种用户访问内部服务的方法,包括以下步骤:81.步骤一.用户于浏览器输入目标url;82.步骤二.浏览器插件向端口敲击服务器发送敲击请求;83.步骤三.端口敲击服务器根据请求信息,向隐身网关发送端口敲击包;84.步骤四.隐身网关验证用户认证因素,随后对此用户开放端口;85.步骤五.统一认证中心发送302重定向,引导用户进入登录页面登录;86.步骤六.用户输入正确的身份信息,统一认证中心引导用户访问对应服务。87.缩略语和关键术语定义:88.iptables:防火墙,对linux系统提供网络数据包的进入和转发进行控制;89.fwknop:单包授权方案,在防火墙上动态添加、删除规则以实现权限的动态控制;90.sa-token:开源java权限认证框架,提供单点登录、身份认证、访问控制等功能;91.redis:key-value存储系统,一种跨平台的非关系型数据库;92.nginx:http和反向代理web服务器,提供web服务;93.cookie:保存在客户端的纯文本文件,每一文件与特定的网站相关联;94.token:临时认证,用于验证用户身份的合法性;95.ticket:身份票据,用于验证用户身份的合法性;96.input:iptables链,匹配所有目标ip是本机的数据包,根据配置在此链上的规则进行数据包的传入控制;97.fwknop_input:单包授权输入链,在此链上添加具有有效期的传入规则,超过有效期的规则将被自动清除;98.auth_request:nginx的一个安装模块,实现权限控制拦截;99.本发明的实现过程:100.通过对防火墙动态添加和删除规则,实现对客户的动态授权。默认情况下防火墙被配置成默认拒绝策略,即会丢弃所有传入的数据包,因此服务器相较于外网用户而言所有端口处于“关闭”状态,从而降低了网络资产的暴露风险。为访问服务器,客户端需要在浏览器上安装定制的插件,此插件在监听到用户访问特定的url时,会向端口敲击服务器发送请求,由端口敲击服务器向目标服务器发送敲击包,服务器端口敲击守护进程随后向客户端开放部分端口,并结合单点登录技术对用户进行身份认证和访问控制,最大化地减少资产在网络中的暴露面。101.本发明的核心关键点:102.1.利用iptables的filter表添加默认拒绝所有传入数据包策略实现端口对外网的“隐身”;103.2.利用fwknop和iptables的filter表的第一条规则为fwknop_input链实现对指定客户端的临时端口开放,从而最大程度地减少服务器对外网的攻击面,降低暴露风险;104.3.利用sa-token开源框架实现统一认证中心(sso),基于nginx完成用户的身份认证和访问控制;同时,本发明通过上述框架实现了单点登录功能,由于用户浏览器存储了cookie,使得用户仅登录一次便可在访问其他内网系统时无需再次进入登录页面登录。105.实施例4、本发明的计算机装置可以是包括有处理器以及存储器等装置,例如包含中央处理器的单片机等。并且,处理器用于执行存储器中存储的计算机程序时实现上述的构建安全网关方法的步骤。106.所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。107.所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。108.实施例5、计算机可读存储介质实施例109.本发明的计算机可读存储介质可以是被计算机装置的处理器所读取的任何形式的存储介质,包括但不限于非易失性存储器、易失性存储器、铁电存储器等,计算机可读存储介质上存储有计算机程序,当计算机装置的处理器读取并执行存储器中所存储的计算机程序时,可以实现上述的构建安全网关方法的步骤。110.所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。111.尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本
技术领域
:内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本
技术领域
:的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1