数据库防火墙:数据库防火墙的阻断方式
文章来源:美创科技
关于阻断的简单分类和定义
01 行为阻断
行为阻断是数据库防火墙的自然工作方式。当检测到入侵行为的时候,阻断该行为的操作。行为阻断依据响应偏好的不同,可以工作在不同模式之下。
模式一:错误响应模式
阻断操作之后,返回预先定义的错误信息,使应用程序可以构造合理的错误响应。错误响应模式的好处在于可以让应用程序检测到入侵发生,并响应合理的错误形式给用户和入侵者。坏处在于可能入侵者也可以感知到有安全业务逻辑在发生作用,特别是如果应用程序缺乏错误处理有可能会直接返回错误响应给入侵者。
模式二:静默响应模式
阻断操作之后,返回正常的零响应信息,包括0行数据,0行数据被影响或者成功操作的响应信息。静默响应模式的好处在于完全正常的业务逻辑响应可以使入侵者很难获取相关信息,坏处在于应用程序也无法感知入侵,只能依赖于安全设备的运行。
模式三:持续阻断模式
当检测到应该被阻断的风险操作之后,该Session被定义为高度风险Session,所有后续的操作都被标记为高风险操作,无论其内容如何都会被阻断。持续阻断模式的好处在于增加了入侵者的尝试成本,增加其沮丧感,坏处在于可能由于风险检测引擎的误判导致业务持续失败。
02 Session阻断
Session阻断相对于行为阻断是一种很简单的操作,中断网络连接,阻止进一步的操作。Session阻断的好处在于技术上实现非常简单,坏处则会带来众多不可预知的影响。而且,其不可被用在数据库防火墙中。
为什么在数据库防火墙中不能执行Session阻断?
绝大部分企业级应用建立在数据库连接池技术之上。基本路径是:业务应用程序发起数据库操作请求,从数据库连接池中获得一个数据库连接,应用程序在这个给定的数据库连接执行业务操作,业务操作完成之后释放这个数据库连接到数据库连接池。
下面我们来分析Session阻断的操作和影响。一般情况下,多数Session阻断会采用向客户端和服务端分别发Reset包的方式来实现阻断,我们这里不探究reset信号的阻断有效性,假设其总是可以快速阻断。在此前提下我们从两个方面来探讨可能的影响:
01 数据库连接池的影响
Session阻断之后,会导致数据库连接池的可用数量减少。特别是在多数情况下,数据库连接池并不会检测到Reset信号,也就是说虽然网络连接已经被中断,但是数据库连接池并没有意识到连接已经不可用,依然会把业务分配到这个已经中断的数据库连接之上,导致业务大规模错误。
简单来看,入侵者可以通过简单的可以被数据库防火墙识别的无效攻击来实现cc攻击,导致业务系统不可用。为了避免这种情况,需要在数据库连接池上增加特定错误检测功能,当检测到特定错误之后,关闭特定无效链接,并主动发起重新连接以保持业务程序运行。
02 数据库端的影响
在大部分情况下,数据库并不能很好的处理reset信号,而需要依赖死进程检测程序来处理。由于处理无法保证有效,也就是说在相当多的场景下可能会出现大量的僵死进程,消耗大量数据库会话资源,甚至存在共享的资源没有释放,从而导致数据库挂起。
**总结:**数据库防火墙设备从理论上讲必须采用行为阻断模式,采用具体形式的行为阻断都可以完成相应目标。Session阻断模式会带来众多不可预知的影响,不应该被数据库防火墙所采用。
数据库防火墙:数据库防火墙的阻断方式相关推荐
- 数据库审计系统基本原理与部署方式
数据库审计系统简介 什么是数据库审计? 数据库审计是记录数据库被访问行为的日志系统. 访问数据库的一般有两种行为,一种是应用服务区的访问,一种是数据库运维人员的访问. 数据库审计(简称DBAudit) ...
- 在MySQL数据库中,这4种方式可以避免重复的插入数据!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:小小猿爱嘻嘻 wukong.com/question/674 ...
- 关系型数据库到HBase的数据储存方式变迁
如今Bigtable型(列族)数据库应用越来越广,功能也很强大.但是很多人还是把它当做关系型数据库在使用,用原来关系型数据库的思维建表.存储.查询.本文以hbase举例讲述数据模式的变化. 传统关系型 ...
- Android中实现SQLite数据库CRUD操作的两种方式
Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度.占用资源少的特点.通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用.SQ ...
- python操作数据库的几种方法_python对mysql数据库操作的三种不同方式
原标题:python对mysql数据库操作的三种不同方式 |转载自:博客园 |原文链接:http://www.cnblogs.com/mryrs/p/6951008.html 先要说一下,在这个暑期如 ...
- 数据库语法整理及WAF绕过方式
数据库语法整理及WAF绕过方式 原文链接请点击:https://www.cnblogs.com/ruoli-s/p/15355611.html 关系型数据库 关系型数据库:指采用了关系模型来组织数据的 ...
- 视频教程-怎么架构生产数据库--生产数据库优化的一种方式-MySQL
怎么架构生产数据库--生产数据库优化的一种方式 运维经理,高级架构师.曾任职于NEC软件.海尔B2B平台巨商汇,负责企业数据平台构建.B2B电商平台数据管理与搭建.企业运维管理平台搭建.拥有丰富DBA ...
- 还原数据库提示 Unknown collation ‘utf8_general_mysql500_ci’解决方式
还原数据库提示 Unknown collation 'utf8_general_mysql500_ci'解决方式 原因:还原的mysql版本不对应 这里用 MySQL 版本:5.5.29 创建数据库的 ...
- 云原生数据库TDSQL-C——云上应用研发方式的改变
2021年6月26日,腾讯云[TECHO]HUB技术巡回长沙站顺利开展,聚焦于数字媒体行业的云端实践.会上,腾讯云数据库高级工程师窦贤明重点分享了<腾讯云云原生数据库TDSQL-C--云上应用研 ...
- mysql数据库导入数据的几种方式
mysql数据库导入数据的几种方式 适用于大量数据的导入 一.excel方式导入 1.将需要的数据放到表格中,需要注意表格中的列必须与要导入的表保持一致 2.导入步骤 二.csv文件导入 1.一般拿到 ...
最新文章
- 两成开发者月薪超 1.7 万、算法工程师最紧缺! | 中国开发者年度报告
- 这家民办研究院太年轻,竟敢跟世界级选手“叫板”
- linux ifconfig命令配置ip地址
- 51nod 1766
- Git 学习笔记:自定义Git(完)
- 【IBatis.Net】 各种配置说明
- 让你的文字被很多很多人看到,喜欢我们不如加入我们 | 作者招募
- 连接mysql的机制_安装成功后mysql 8.0不能连接navicat的解决方法
- java生成可执行文件的方法总结
- OpenVSLAM:日本先进工业科技研究所新开源视觉SLAM框架
- 关于文件路径的斜杠和反斜杠问题
- U盘重新安装Mac OS系统教程
- KeyboardPianoV0.0 项目介绍
- DM6437 720P调试问题记录
- 最新服务器cpu14纳米,英特尔CPU路线图 14nm活力不减 7nm不远了
- Unity UGUI-Canvas
- html表ge模板_40多个漂亮的网页表单设计实例
- 初试Android原生弹窗
- 鸿蒙宴中的人物故事,鸿门宴简介_鸿门宴的主要人物和背景_鸿门宴的目的和结局是什么? - 趣历史...
- android 身份认证技术,Android平台上基于人脸识别的身份认证系统的设计与实现