CN108123932A - 三层架构下数据库终端身份识别的方法 - Google Patents
三层架构下数据库终端身份识别的方法 Download PDFInfo
- Publication number
- CN108123932A CN108123932A CN201711255687.3A CN201711255687A CN108123932A CN 108123932 A CN108123932 A CN 108123932A CN 201711255687 A CN201711255687 A CN 201711255687A CN 108123932 A CN108123932 A CN 108123932A
- Authority
- CN
- China
- Prior art keywords
- user
- database
- web applications
- information
- java web
- 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.)
- Granted
Links
Classifications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- 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
- G06F21/44—Program or device authentication
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种三层架构下数据库终端身份识别的方法,在JAVA WEB应用中嵌入Servlet过滤器,拦截终端用户登录请求,获取终端用户认证对象;通过配置的测试用户,并对认证对象逐层遍历,匹配测试用户确定用户信息在对象中的路径信息;通过分析得到的认证信息路径,将获取的认证信息放入JAVA WEB应用的session(会话)中,将用户的本次登录与之后的操作关联起来;用户的每次操作开始过滤器都将认证信息放入线程局部变量,使用户登录行为与该次登录后续发生的数据库操作绑定起来。本发明具有可以准确识别终端身份的特点。
Description
技术领域
本发明涉及网络安全技术领域,尤其是涉及一种三层架构下数据库终端身份识别的方法。
背景技术
目前在大型生产应用系统中几乎全部采用了JAVA WEB三层架构,应用系统部署在中间代理服务器上,接受前端浏览器指令,把请求指令转发给后端的应用服务器集群。
在JAVA WEB三层应用体系结构下,用户隐藏在中间件服务器(JAVA WEB应用所在服务器)之后,终端用户对JAVA WEB页面的访问,触发JAVA WEB应用的SQL语句访问数据库,此时数据库只能得到中间件服务器的信息,数据库无法获取终端用户的真实信息(如终端用户的真实IP地址、真实用户名)。中间件服务器一般采用连接池的方式在中间件范围内共享连接,而这种特性也同样造成了多用户访问的JAVA WEB应用,无法将用户认证信息与用户对数据库的sql操作精确绑定起来。
以上两个问题造成三层架构下数据库终端身份识别无法实现,对后续的数据库安全审计、阻断等功能的实现带来识别的困难。
发明内容
本发明的发明目的是为了克服现有技术中的三层架构下数据库终端身份识别无法实现,对后续的数据库安全审计、阻断等功能的实现带来识别困难的不足,提供了一种三层架构下数据库终端身份识别的方法。
为了实现上述目的,本发明采用以下技术方案:
一种三层架构下数据库终端身份识别的方法,包括如下步骤:
(1-1)通过在JAVA WEB应用中嵌入Servlet过滤器,拦截终端用户登录请求,获取终端用户认证对象;
(1-2)将测试用户名写入识别程序的配置文件,在JAVA WEB应用中使用配置的用户名进行登录,识别程序对认证对象逐层遍历,匹配测试用户确定用户信息在对象中的路径信息;
(1-3)将得到的路径信息进行缓存;
(1-4)每次登录后,用路径信息将获取的认证信息放入JAVA WEB应用的会话session中,将用户认证信息和JAVA WEB应用的名称作为用户的终端身份信息,将用户的本次登录与之后的操作关联起来;
(1-5)将认证信息放入线程局部变量,使用户登录行为与登录后续发生的数据库操作绑定起来;
将认证信息放入线程局部变量,使多线程、连接池方式的JAVA WEB应用也能进行认证信息与数据库访问的绑定。
(1-6)通过对JAVA WEB应用的数据库驱动代理,将线程局部变量中的用户认证信息放入数据库连接中;
(1-7)当用户的操作引发SQL执行,数据库驱动程序将终端信息跟随数据库连接并送到数据库中,使数据库知晓当前SQL执行人的用户认证信息。
本发明通过在JAVA WEB应用中嵌入Servlet过滤器,拦截终端用户登录请求,获取终端用户认证对象;通过配置的测试用户,并对认证对象逐层遍历,匹配测试用户确定用户信息在对象中的路径信息;通过分析得到的认证信息路径,将获取的认证信息放入JAVAWEB应用的session(会话)中,将用户的本次登录与之后的操作关联起来;用户的每次操作开始过滤器都将认证信息放入线程局部变量,使用户登录行为与该次登录后续发生的数据库操作绑定起来;通过对JAVA WEB应用的数据库驱动代理,将线程局部变量中的用户认证信息放入数据库连接中;当用户的操作引发SQL执行,代理的数据库驱动程序会将终端信息跟随数据库连接一并送到数据库中,使数据库知晓当前SQL执行人的用户认证信息
作为优选,所述JAVA WEB应用连接数据库的方式包含短连接和连接池方式。
作为优选,所述终端身份信息包含用户访问JAVA WEB应用的IP地址、登录JAVAWEB应用的用户名。
作为优选,所述用户认证对象的请求方式包含POST以及GET方式。
作为优选,所述数据库驱动代理包括对数据库连接和sql执行。
作为优选,数据库驱动代理以采用java语言动态代理的原理对数据库的JDBC驱动程序进行扩展。
因此,本发明具有如下有益效果:配置简便,填写测试用户即可完成用户认证对象解析的配置,能将用终端身份与用户操作准确关联,在数据库驱动层进行代理,可以确保不遗漏用户的任何数据库操作,用户的所用操作都能准确识别到终端信息。
附图说明
图1是本发明的一种三层架构下的信息传递结构示意图;
图2是本发明的一种原理图;
图3是本发明的一种JAVA WEB应用的lib目录图;
图4是本发明的一种JAVA WEB应用的web.xml的同级目录;
图5是本发明在web.xml文件中插入过滤器信息一种示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所示的实施例是一种三层架构下数据库终端身份识别的方法,包括如下步骤:
安装包分为两部分:
第一部分是过滤器包,里面包含过滤器,功能主要是解析测试用户认证信息路径,并根据该路径信息,解析出之后登录的正常用户的信息,并将其放入会话中和线程局部变量中。
第二部分是代理数据库驱动包,里面是对正常数据库驱动的代理,每次的数据库操作,都会带上线程局部变量中的用户认证信息(终端身份)。
1.以下步骤以tomcat作为中间件,以“hzmchis”作为JAVA WEB测试应用,该应用会连接oracle数据库查询处方等信息。
将终端身份识别安装包(包含过滤器包、代理数据库驱动包)放入JAVA WEB应用的lib目录下,如图3所示,其中brook2-core.jar为代理数据库驱动包,brook2-web.jar为滤器包。
2.将配置文件放入如图4所示的JAVA WEB应用的web.xml的同级目录,其中brook.properties里配置了测试用户名,用于确定认证信息在认证对象中的位置,brook-advice.properties中定义了终端信息的额外信息,例如改中间件的名称等。
3.修改JAVA WEB应用的web.xml文件,将终端身份识别的过滤器相关信息嵌入到JAVA WEB应用的过滤器链中。在如图5所示的web.xml文件中插入过滤器信息:
4.重启JAVA WEB应用(此处重启tomcat),使得以上配置生效。
5.使用配置文件配置的用户登录JAVA WEB应用,终端身份识别程序将识别登录用户的路径,并将路径信息保存在终端身份识别程序的配置文件中。
6.使用其他用户登录JAVA WEB应用系统,并进入系统操作一些能引发sql执行的操作。
7.此时查看数据库session信息,在session的身份信息栏目下,可以看到终端用户的IP地址、认证用户名已经在配置文件中设置的额外信息。
应理解,本实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
Claims (6)
1.一种三层架构下数据库终端身份识别的方法,其特征是,包括如下步骤:
(1-1)通过在JAVA WEB应用中嵌入Servlet过滤器,拦截终端用户登录请求,获取终端用户认证对象;
(1-2)将测试用户名写入识别程序的配置文件,在JAVA WEB应用中使用配置的用户名进行登录,识别程序对认证对象逐层遍历,匹配测试用户确定用户信息在对象中的路径信息;
(1-3)将得到的路径信息进行缓存;
(1-4)每次登录后,用路径信息将获取的认证信息放入JAVA WEB应用的会话session中,将用户认证信息和JAVA WEB应用的名称作为用户的终端身份信息,将用户的本次登录与之后的操作关联起来;
(1-5)将认证信息放入线程局部变量,使用户登录行为与登录后续发生的数据库操作绑定起来;
(1-6)通过对JAVA WEB应用的数据库驱动代理,将线程局部变量中的用户认证信息放入数据库连接中;
(1-7)当用户的操作引发SQL执行,数据库驱动程序将终端信息跟随数据库连接并送到数据库中,使数据库知晓当前SQL执行人的用户认证信息。
2.根据权利要求1所述的三层架构下数据库终端身份识别的方法,其特征是,所述JAVAWEB应用连接数据库的方式包含短连接和连接池方式。
3.根据权利要求1所述的三层架构下数据库终端身份识别的方法,其特征是,所述终端身份信息包括用户访问JAVA WEB应用的IP地址、登录JAVA WEB应用的用户名。
4.根据权利要求1所述的三层架构下数据库终端身份识别的方法,其特征是,所述用户认证对象的请求方式包含POST以及GET方式。
5.根据权利要求1所述的三层架构下数据库终端身份识别的方法,其特征是,所述数据库驱动代理包括对数据库连接和sql执行。
6.根据权利要求1或2或3或4或5所述的三层架构下数据库终端身份识别的方法,其特征是,数据库驱动代理以采用java语言动态代理的原理对数据库的JDBC驱动程序进行扩展。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711255687.3A CN108123932B (zh) | 2017-12-01 | 2017-12-01 | 三层架构下数据库终端身份识别的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711255687.3A CN108123932B (zh) | 2017-12-01 | 2017-12-01 | 三层架构下数据库终端身份识别的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108123932A true CN108123932A (zh) | 2018-06-05 |
CN108123932B CN108123932B (zh) | 2019-09-24 |
Family
ID=62228782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711255687.3A Active CN108123932B (zh) | 2017-12-01 | 2017-12-01 | 三层架构下数据库终端身份识别的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108123932B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408390A (zh) * | 2018-11-02 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种bmc登录用户稳定性测试方法、装置、终端及存储介质 |
CN109635056A (zh) * | 2018-11-16 | 2019-04-16 | 海南电网有限责任公司信息通信分公司 | 用电地址数据处理方法、装置、计算机设备和存储介质 |
CN111428141A (zh) * | 2020-04-23 | 2020-07-17 | 北京中安星云软件技术有限公司 | 基于驱动代理的应用和数据库访问行为关联的方法及装置 |
CN111953757A (zh) * | 2020-08-02 | 2020-11-17 | 姚晓红 | 基于云计算和智能设备交互的信息处理方法及云端服务器 |
CN112632171A (zh) * | 2020-12-30 | 2021-04-09 | 中国农业银行股份有限公司 | 一种针对数据访问的拦截审核方法及系统 |
CN117411729A (zh) * | 2023-12-14 | 2024-01-16 | 深圳竹云科技股份有限公司 | oracle数据库登录方法、装置、计算机设备、介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010049796A1 (en) * | 2000-06-01 | 2001-12-06 | Roth Mark L. | Authentication-technology independent, non-programmatic method and apparatus for bootstrapping a user database from the WEB tier |
US20110289575A1 (en) * | 2010-05-21 | 2011-11-24 | Barracuda Networks, Inc. | Directory authentication method for policy driven web filtering |
CN102801808A (zh) * | 2012-07-30 | 2012-11-28 | 武汉理工大学 | 一种面向WebLogic的Form身份鉴别的单点登录集成方法 |
CN104166812A (zh) * | 2014-06-25 | 2014-11-26 | 中国航天科工集团第二研究院七〇六所 | 一种基于独立授权的数据库安全访问控制方法 |
-
2017
- 2017-12-01 CN CN201711255687.3A patent/CN108123932B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010049796A1 (en) * | 2000-06-01 | 2001-12-06 | Roth Mark L. | Authentication-technology independent, non-programmatic method and apparatus for bootstrapping a user database from the WEB tier |
US20110289575A1 (en) * | 2010-05-21 | 2011-11-24 | Barracuda Networks, Inc. | Directory authentication method for policy driven web filtering |
CN102801808A (zh) * | 2012-07-30 | 2012-11-28 | 武汉理工大学 | 一种面向WebLogic的Form身份鉴别的单点登录集成方法 |
CN104166812A (zh) * | 2014-06-25 | 2014-11-26 | 中国航天科工集团第二研究院七〇六所 | 一种基于独立授权的数据库安全访问控制方法 |
Non-Patent Citations (1)
Title |
---|
王舜燕: ""Serv let过滤器在用户认证中的应用"", 《武汉化工学院学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408390A (zh) * | 2018-11-02 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种bmc登录用户稳定性测试方法、装置、终端及存储介质 |
CN109635056A (zh) * | 2018-11-16 | 2019-04-16 | 海南电网有限责任公司信息通信分公司 | 用电地址数据处理方法、装置、计算机设备和存储介质 |
CN109635056B (zh) * | 2018-11-16 | 2021-01-22 | 海南电网有限责任公司信息通信分公司 | 用电地址数据处理方法、装置、计算机设备和存储介质 |
CN111428141A (zh) * | 2020-04-23 | 2020-07-17 | 北京中安星云软件技术有限公司 | 基于驱动代理的应用和数据库访问行为关联的方法及装置 |
CN111953757A (zh) * | 2020-08-02 | 2020-11-17 | 姚晓红 | 基于云计算和智能设备交互的信息处理方法及云端服务器 |
CN111953757B (zh) * | 2020-08-02 | 2021-01-26 | 杭州新中大科技股份有限公司 | 基于云计算和智能设备交互的信息处理方法及云端服务器 |
CN112632171A (zh) * | 2020-12-30 | 2021-04-09 | 中国农业银行股份有限公司 | 一种针对数据访问的拦截审核方法及系统 |
CN112632171B (zh) * | 2020-12-30 | 2024-05-28 | 中国农业银行股份有限公司 | 一种针对数据访问的拦截审核方法及系统 |
CN117411729A (zh) * | 2023-12-14 | 2024-01-16 | 深圳竹云科技股份有限公司 | oracle数据库登录方法、装置、计算机设备、介质 |
CN117411729B (zh) * | 2023-12-14 | 2024-05-10 | 深圳竹云科技股份有限公司 | oracle数据库登录方法、装置、计算机设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108123932B (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108123932B (zh) | 三层架构下数据库终端身份识别的方法 | |
CN103501304B (zh) | 控制web系统越权访问的方法及装置 | |
CN103744802B (zh) | Sql注入攻击的识别方法及装置 | |
CN103888490B (zh) | 一种全自动的web客户端人机识别的方法 | |
CN102868719B (zh) | 一种基于缓存的网络访问方法和服务器 | |
CN102831345B (zh) | Sql注入漏洞检测中的注入点提取方法 | |
CN109039987A (zh) | 一种用户账户登录方法、装置、电子设备和存储介质 | |
CN110177120A (zh) | 一种单点登录的方法、装置及计算机可读存储介质 | |
CN101021890A (zh) | 一种对页面数据进行校验的方法、系统和服务器 | |
CN101369272A (zh) | 一种自动填充系统及自动填充注册或登录信息的方法 | |
WO2013044569A1 (zh) | 一种网络用户识别的方法及其应用服务器 | |
CN104301304A (zh) | 基于大型isp互联口的漏洞检测系统及其方法 | |
CN102739678B (zh) | 单点登录处理系统和单点登录处理方法 | |
CN107817996B (zh) | 一种GraphQL请求的优化方法及系统 | |
CN106302747A (zh) | 一种面向互联网web前端开发的商业云平台 | |
CN108595468A (zh) | 一种网页数据的获取方法、装置、服务器、终端和系统 | |
US20180205705A1 (en) | Network request proxy system and method | |
CN112954043B (zh) | 基于网站访问日志识别用户的方法及计算机设备 | |
CN110753045A (zh) | 不同域之间单点登录的方法 | |
CN109446801A (zh) | 检测模拟器访问的方法、装置、服务器及存储介质 | |
CN104639599B (zh) | 一种实现文件批量下载的系统及方法 | |
CN108388606A (zh) | 一种校验Sql语句中库表字段名的方法以及计算机设备 | |
CN109408499B (zh) | 一种匹配数据库访问用户的审计方法及系统 | |
CN108322420A (zh) | 后门文件的检测方法和装置 | |
CN109145581A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310000 Rooms 103-27, Building 19, No. 1399, Liangmu Road, Cangqian Street, Yuhang District, Hangzhou, Zhejiang Patentee after: Hangzhou Meichuang Technology Co.,Ltd. Address before: 12 / F, building 7, Tianxing International Center, 508 Fengtan Road, Gongshu District, Hangzhou City, Zhejiang Province 310011 Patentee before: HANGZHOU MEICHUANG TECHNOLOGY CO.,LTD. |