基于可编程透明代理的访问控制及信息注入系统及方法技术方案

技术编号:38990982 阅读:6 留言:0更新日期:2023-10-07 10:21
本发明专利技术公开了一种基于可编程透明代理的访问控制及信息注入方法,它包括如下步骤:第一步:开启透明代理服务器的IP转发功能;第二步:在透明代理服务器配置iptables端口转发规则;第三步:根据自身业务需求,现实GlobalFilter接口的过滤方法,并配置到Spring Cloud Gateway框架;第四步:启动Spring Cloud Gateway代理服务器,转发请求到原始web服务器,在权限与注入信息发生变化时,由用户角色权限管理系统更新缓存中数据。本发明专利技术可以使客户端在不知道代理服务器存在的情况下,动态的自定义访问控制或信息注入。自定义访问控制或信息注入。自定义访问控制或信息注入。

【技术实现步骤摘要】
基于可编程透明代理的访问控制及信息注入系统及方法


[0001]本专利技术涉及服务器的访问控制领域,具体是一种基于可编程透明代理的访问控制及信息注入系统及方法。

技术介绍

[0002]客户端在访问原始web服务器时,在客户端与原始web服务器之间引入正向代理服务器,由正向代理服务器处理访问控制或者信息注入。目前主流的正向代理服器不支持细粒度的访问控制,或者不具备信息注入等功能。而且只能通过配置文件预先配置权限信息,无法动态的修改相应权限。

技术实现思路

[0003]针对上述现有技术的不足,本专利技术提供一种可以使客户端在不知道代理服务器存在的情况下,动态的自定义访问控制或信息注入的基于可编程透明代理的访问控制及信息注入系统及方法。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]基于可编程透明代理的访问控制及信息注入系统,它包括IP转发模块、iptables网络地址转换模块、代理服务器以及外部交互模块,所述外部交互模块包括客户端、原始web服务器和用户角色权限管理系统,
[0006]所述IP转发模块,配置一个Linux的内核参数net.ipv4.ip_forward,其值为0时表示禁止进行IP转发;其值为1时表示开启IP转发功能,开启后,服务器可以根据路由表转发数据包;
[0007]所述iptables网络地址转换模块,用于将客户端流量拦截后转发给代理服务器;
[0008]所述代理服务器,使用Spring Cloud Gateway网关作为代理服务器,对原始客户端请求进行预处理,包括访问控制和注入信息处理;请求处理完后转发给原始web服务器;
[0009]所述客户端,用于为用户提供本地服务的程序;
[0010]所述原始web服务器,用于对外提供服务的http服务器;
[0011]所述用户角色权限管理系统,用于对用户基本信息管理,负责更新缓存中的权限数据和注入信息。
[0012]进一步的,所述iptables网络地址转换模块根据被代理的原始web服务器地址信息,在Linux操作系统使用iptables命令配置端口转发规则,将访问原始web服务器的流量重定向到Spring Cloud Gateway代理服务器。
[0013]进一步的,所述端口转发规则的添加方法如下:
[0014]iptables

tnat

APREROUTING

ptcp

d 192.168.2.20
‑‑
dport8080

j REDIRECT
‑‑
to

ports9000
[0015]其中,

d目的地址,即原始web服务器ip;
‑‑
dport目标端口,即原始web服务器端口;
‑‑
to

ports重定向端口,即Spring Cloud Gateway服务监听端口号。
Gateway代理服务器。iptables是Linux内核集成的IP信息包过滤系统,通过iptables的网络地址转换(NAT)功能来拦截流量,并将流量转发到代理服务器(Spring Cloud Gateway)进行处理。端口转发规则添加方法如下:
[0033]iptables

t nat

A PREROUTING

p tcp

d 192.168.2.20
‑‑
dport 8080

j REDIRECT
‑‑
to

ports 9000
[0034]命令解释:
[0035]‑
d目的地址(原始web服务器ip)
[0036]‑‑
dport目标端口(原始web服务器端口)
[0037]‑‑
to

ports重定向端口(Spring Cloud Gateway服务监听端口号)。
[0038]第三步:根据自身业务需求,现实GlobalFilter接口的filter方法,并配置到Spring Cloud Gateway框架。编写Spring Cloud Gateway的Global Filters过滤器Java程序代码。继承实现GlobalFilter接口,重写filter方法。filter方法的参数ServerWebExchange exchange包含当前请求的基本信息,例如:客户端IP地址等。根据请求中的基本信息和缓存中的数据,结合自身的业务需求,编写访问控制或信息注入程序代码。
[0039]使用Spring Cloud Gateway框架的GlobalFilter过滤器功能,所有经过iptables转发的请求都会被GlobalFilter接口的filter方法处理。通过编写filter方法程序代码,实现访问控制或信息注入算法。正常情况下算法会用到权限数据和注入信息等数据,可以选择保存在缓存中,具体要根据自身的业务场景设计。
[0040]第四步:启动Spring Cloud Gateway代理服务器。配置Spring Cloud Gateway监听的端口并启动运行,监听的端口与步骤S2中的“重定向端口”相同。在代理服务器中,接收到来自iptables转发的请求后,进行访问控制和信息注入操作,最后将处理后的请求转发给原始web服务器。在权限数据与注入信息发生变化时,由用户角色权限管理系统更新缓存中数据,为了提高性能亦可缓存在内存中,保证代理服务器读取到最新数据。
[0041]本专利技术的基于可编程透明代理的访问控制及信息注入系统包括:IP转发模块、iptables网络地址转换模块、代理服务器以及外部交互模块,所述外部交互模块包括客户端、原始web服务器和用户角色权限管理系统,
[0042]所述IP转发模块,配置一个Linux的内核参数net.ipv4.ip_forward,其值为0时表示禁止进行IP转发;如果是1,则说明IP转发功能已经开启,开启后,服务器可以根据路由表转发数据包;
[0043]所述iptables网络地址转换模块,用于将客户端流量拦截后转发给代理服务器;根据被代理的原始web服务器地址信息,在Linux操作系统使用iptables命令配置端口转发规则,将访问原始web服务器的流量重定向到Spring Cloud Gateway代理服务器。所述端口转发规则的添加方法如下:
[0044]iptables

tnat

APREROUTING

ptcp

d 192.168.2.20
‑‑
dport8080

j REDIRECT
‑‑
to...

【技术保护点】

【技术特征摘要】
1.基于可编程透明代理的访问控制及信息注入系统,其特征在于,它包括IP转发模块、iptables网络地址转换模块、代理服务器以及外部交互模块,所述外部交互模块包括客户端、原始web服务器和用户角色权限管理系统,所述IP转发模块,配置一个Linux的内核参数net.ipv4.ip_forward,其值为0时表示禁止进行IP转发;其值为1时表示开启IP转发功能,开启后,服务器可以根据路由表转发数据包;所述iptables网络地址转换模块,用于将客户端流量拦截后转发给代理服务器;所述代理服务器,使用Spring Cloud Gateway网关作为代理服务器,对原始客户端请求进行预处理,包括访问控制和注入信息处理;请求处理完后转发给原始web服务器;所述客户端,用于为用户提供本地服务的程序;所述原始web服务器,用于对外提供服务的http服务器;所述用户角色权限管理系统,用于对用户基本信息管理,负责更新缓存中的权限数据和注入信息。2.如权利要求1所述的基于可编程透明代理的访问控制及信息注入系统,其特征在于,所述iptables网络地址转换模块根据被代理的原始web服务器地址信息,在Linux操作系统使用iptables命令配置端口转发规则,将访问原始web服务器的流量重定向到Spring Cloud Gateway代理服务器。3.如权利要求2所述的基于可编程透明代理的访问控制及信息注入系统,其特征在于,所述端口转发规则的添加方法如下:iptables

t nat

A PREROUTING

ptcp

d 192.168.2.20
‑‑
dport8080

j REDIRECT
‑‑
to

ports9000其中,

d目的地址,即原始web服务器ip;
‑‑
...

【专利技术属性】
技术研发人员:于浩王永起
申请(专利权)人:同智伟业软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1