CN112861119A - 一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统 - Google Patents
一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统 Download PDFInfo
- Publication number
- CN112861119A CN112861119A CN201911177533.6A CN201911177533A CN112861119A CN 112861119 A CN112861119 A CN 112861119A CN 201911177533 A CN201911177533 A CN 201911177533A CN 112861119 A CN112861119 A CN 112861119A
- Authority
- CN
- China
- Prior art keywords
- login
- database
- user
- log
- current
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000005422 blasting Methods 0.000 title claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 51
- 230000006870 function Effects 0.000 claims abstract description 21
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 11
- 230000009471 action Effects 0.000 claims description 8
- 238000013515 script Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 4
- 230000007123 defense Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000721662 Juniperus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000009260 qiming Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统,包括登录信息模块以及登录调用触发器,通过开启并设置数据库日志,开启数据库日志审计功能,且能被当前系统用户调取;使用管理员账号登入数据库,分别建立IP锁定表与禁止用户登入表,所述IP锁定表与禁止用户登入表含有字段;分析并提取数据库日志文件,使用数据库语言读取并分析日志,通过抓取日志中的字段生成临时表,并根据规则更新IP锁定表与禁止用户登录表;编写存储过程,检查当前登录IP与用户是否存在数据库表login.DisableIP、login_Disableuser中,如果存在该表中则禁止登录,反之则允许登录,本发明对登录的数据库用户及登录IP的合法性确认,防止数据库被非法爆破及攻击。
Description
技术领域
本发明涉及软件程序技术领域,尤其是涉及一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统。
背景技术
随着互联网的不断发展,各种黑客攻击事件不断,而数据库服务器一直是各国黑客攻击的重点对象。在中国广大中小企业,不论是SQL Server、Oracle、 My SQL数据库,默认的最高管理员用户sa、system、sys、root。这些管理员账号由于多种原因一直未及时修改或重命名,而默认的管理员账号拥有数据库最高权限,从而成为黑客爆破的首选。
传统的防火墙JunIPer、启明星辰等无IPS与WAF模块,根本无法抵御数据库爆破攻击。而现在下一代防火墙(深信服、Checkpoint),虽然有IPS、漏洞防护模块及功能,但只能抵御高速(60次/秒)以上爆破攻击。面对低速或匀速攻击,以及不断更换IP的攻击根本无法识别并拦截。因为该行为与正常业务登录高度相似,而数据库本身只做身份验证,缺乏有效防护措施及手段。此时,数据库直接暴露在黑客面前,任其爆破及猜测。
传统的数据库登录日志,只有出现相关错误信息时,DBA(数据库管理员) 才查看具体细节。其中登录信息中包含相关IP、连接用户、连接日期,能否将这些零散的登录信息整理、提炼并生成相关的数据,作为登陆的一个验证凭证,尤其是短时间内频繁出错的IP与用户,通过编写存储过程与脚本将短时间内频繁登录数据库错误的用户与IP搜集并整理,生成相关记录,并作为第二次身份验证的关卡与凭证。
而黑客与非法用户对数据库的爆破攻击,必将在短时间内出现多次用户与密码登录失败。而相关的信息会被数据库登录日志记录。而我们的第二层关卡保护程序是通过提炼登陆日志而成。从而这些非法的黑客连接会被数据保护程序第二层身份关卡识别并拦截。因而对黑客的登录IP限制其连接数据库,对非法的用户进行锁定,最终有效保护数据库,防止数据泄漏。
基于上述一系列的问题,遂有以下技术方案的产生。
发明内容
本发明的目的在于提供一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统,弥补传统病毒防御系统空白的数据库安全防护程序,对登录的数据库用户及登录IP的合法性确认,防止数据库被非法爆破及攻击。
为实现上述目的,本发明提供了以下技术方案:
本发明提供的一种防御黑客对数据库慢速撞库或爆破攻击的方法,所述方法包括如下步骤:
S1、开启并设置数据库日志,开启数据库日志审计功能,且能被当前系统用户调取;
S2、使用管理员账号登入数据库,分别建立IP锁定表与禁止用户登入表,所述IP锁定表与禁止用户登入表含有字段;
S3、分析并提取数据库日志文件,使用数据库语言读取并分析日志,通过抓取日志中的字段生成临时表,并根据规则更新IP锁定表与禁止用户登录表;
S4、编写存储过程,所述编写存储过程包括声明变量、设置表格式、获取 IP函数、设置阀值、update更新表操作、逻辑判断与计算、用户登入失败的更新、邮件警报内容及格式设定、smg弹窗动作脚本内容以及上班时间发送报警规则;
S5、检查当前登录IP与用户是否存在数据库表login.DisableIP、 login_Disableuser中,如果存在该表中则禁止登录,反之则允许登录。
进一步的,步骤S2中所述字段包括IP锁定表字段和禁止用户登录表字段,所述IP锁定表字段包括IP、创建日期、是否锁定、最后登录日期;禁止用户登录表字段包括用户ID、创建日期、是否锁定以及最后登录日期。
进一步的,所述存储过程设有存储过程逻辑规则,所述存储过程逻辑规则包括:
定义变量24小时:在声明变量、开始时间的同时设置区间为24小时;
出错5次阀值锁定:IP登录在24小时内失败5次,则插入IP锁定表,锁定当前登录的IP;
出错1000次锁定:从前端用户登录日志中提取最近24小时相应登录出错的用户,累计阀值达到1000次,则将用户更新至用户黑名单中;
邮件及短信报警:用于提前定义并设置好规则,包括设置好邮件的标题、发送的内容及格式、相关发件人地址、收件人地址,其中邮件的内容信息直接从数据库中抓取;
更新表:将满足条件的异常IP与数据库用户进行更新至login_Disableuser 以及login_DisableIP,此处更新的表即为黑名单IP和用户;
上班时间设置:用于防止非上班时间有黑客入侵或其他异常用户登录,之所以设置为非工作时间,是出于上班时间有相关人员值守,主体语句为 If not(Datepart(Hour,getdate())≥8and DATEPART(Hour,getdate())≤17 begin。
本发明在上述方法的基础上还提出一种防御黑客对数据库慢速撞库或爆破攻击的系统,所述系统包括登录信息模块以及登录调用触发器,其中,
所述登录信息模块通过数据存储过程转换,将符合条件的IP信息与用户信息保存至数据表中,生成黑名单明细;
所述登录调用触发器用于检查当前的IP与用户是否存在相关的黑名单中,
用户通过登录信息模块登录到数据库时,数据库开启并设置数据库日志,通过存储过程转换生成数据库临时表,根据存储过程逻辑规则生成并保存符合条件的IP与用户表;用户在登录数据库后,系统会通过登录调用触发器查询存储过程生成的IP与用户表,通过检查匹配当前的IP与用户是否存在相关的黑名单中,如果在黑名单中则禁止登录,如果不在黑名单中则登录成功。
进一步的,所述用户登录到数据库包括用户输入登录指令,Sqlserver开始验证以及登录调用触发器开始验证,将验证结果写入数据库登录日志中并生成登录日志。
进一步的,所述存储过程包括用户登录数据库之后,系统通过日志工具读取数据库登录日志,按照存储逻辑规则生成临时表,所述临时表经过存储逻辑规则更新为正式表。
进一步的,所述系统调用登录触发器的过程包括所述系统根据用户登录行为检查正式表并记录登录结果。
进一步的,所述记录登录结果包括当检查匹配当前的IP与用户存在黑名单中,则禁止登录,如果不在黑名单中则登录成功,对应将对用户显示登录失败,失败时间触发后,系统自动向管理员发送报警邮件或信息。
本发明与现有技术相比具有如下有益效果:
1.弥补传统病毒防御系统的空白,有效阻挡当前防火墙无法识别的伪装低速攻击。
2.防止数据库被黑客一直无穷枚举和密码破解及尝试。
3.填补传统低速攻击视觉盲区,做到快速预警及响应。
4.在未部署下一代防火墙的情况下,作为一种有效的防御手段和方法,确保数据库连接安全。
5.增加黑客攻击难度,登录失败IP超过5次即被锁定,需手工解锁后方可继续进行数据库连接。
6.部署简单,无中间件,支持多种数据库,根据不同类型的数据库稍加修改便可部署。
7.不影响数据库其它功能模块的运行,无需担心性能,安全等一系列问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是数据库整体防护效果概要图;
图2是数据库关系及技术原理图;
图3是数据库IP与用户登录保护具体步骤及实施流程图;
图4是用户登录信息生成数据流程图;
图5是登录触发器调用数据流程图;
图6是数据输入输出关系图;
图7是存储过程具体明细图;
图8是存储过程部分代码;
图9是存储过程失败登录次数校验的主代码;
图10是存储过程用户出错次数校验的主代码;
图11是数据库整体防护流程的代码,
图12是本发明所提及方法的流程示意图
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
本发明提供了一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统。下面将结合图1~图11对本发明提供的技术方案进行更为详细的阐述。
如图1~图11所示,为了解决现有技术当中数据库遭受攻击,而管理员只有在出现相关错误信息时才能查看细节,导致数据库遭受攻击的技术问题,本发明提出一种防御黑客对数据库慢速撞库或爆破攻击的方法,所述方法包括:
S1、开启并设置数据库日志,开启数据库日志审计功能,且能被当前系统用户调取;
S2、使用管理员账号登入数据库,分别建立IP锁定表与禁止用户登入表,所述IP锁定表与禁止用户登入表含有字段;
S3、分析并提取数据库日志文件,使用数据库语言读取并分析日志,通过抓取日志中的字段生成临时表,并根据规则更新IP锁定表与禁止用户登录表;
S4、编写存储过程,所述编写存储过程包括声明变量、设置表格式、获取 IP函数、设置阀值、update更新表操作、逻辑判断与计算、用户登入失败的更新、邮件警报内容及格式设定、smg弹窗动作脚本内容以及上班时间发送报警规则;
S5、检查当前登录IP与用户是否存在数据库表login.DisableIP、 login_Disableuser中,如果存在该表中则禁止登录,反之则允许登录。
本发明优选以SQL Server为具体实施例进行阐述方法原理过程。
发明主要将数据库(以SQL Server为例)的登录日志txt,利用SQL Server自带sys_xp_read.errorlog工具读取数据,并将读取后的数据生成一个数据库登录 IP、用户的临时表。在存储过程中,执行一系列的运算与判断(如:IP出错是否超过5次、累计超过1000次锁用户)将满足条件的异常IP与用户信息保存至数据库正式IP表与用户表(即黑名单)。
在获取到异常IP与用户信息后,再在前端编写一个登陆触发器,用于检查当前的用户与IP是否存在黑名单清单中,若存在则禁止登录,反之则放行。因而在一定程度上对短时间内频繁出错用户与IP做预警与封锁处理。从而保护数据库安全。
此外,为使程序更加智能化,确保数据库受攻击时能自动发送报警邮件与 msg信息,解决传统数据库被攻击时无法识别问题。因而配套开发了异常警报功能,非上班时间锁定等规则。具体技术细节参考后文章节的具体实施方式。
本发明的具体过程体现如下:
1.开启并设置数据库日志:确保数据库日志审计功能开启,且能被当前系统用户调取。
2.数据库建表:使用sa或同等级管理员账号登陆数据库,分别建立IP 锁定表与禁止用户登录表。相关字段如下:IP锁定表字段为IP、创建日期、是否锁定、最后登录日期,详细对应图2中的③;禁止用户登陆表字段为用户ID、创建日期、是否锁定、最后登录日期,详细对应图2中的④。
3.分析并提取数据库日志txt文件:使用sys_xp_read.errorlog读取并分析日志(对应图2中①),抓取日志中的IP字段、用户字段、日期字段,生成相关临时表login.Eorrlog,并根据规则更新相关表,具体表关系如图2所示。
4.编写存储过程:具体细节参考图7,主要内容如下:
①存储过程主要包括:声明变量、设置表格式、获取IP函数、设置阀值、 update更新表操作、逻辑判断与计算(IP登录失败5次及以上 login.DisableIP、用户登录失败1000次的更新login.DisableUser)、邮件警报内容及格式设定、smg弹窗动作脚本内容、上班时间发送报警规则。
②存储过程--定义变量24小时:declare声明变量,开始时间(startdate: 字段类型为datetime;结束时间enddate,字段类型为datetime);同时设置区间为24小时,(hour,24,getdate)。之所以定义24小时,是为了防止黑客无穷无尽的攻击及口令枚举,对其进行相应的数据库连接限制。
③存储过程规则—出错5次阀值锁定:IP登录在最近24小时内,失败5 次,则插入该表。此处的核心作用为,只要用户对应的IP最近24小时内登录出错5次,一律锁定。因该程序采用计数器统计方式,不管是高频攻击还是慢速伪装口令进行猜测。只要计数器达到阀值5,就直接插入相关黑名单表,锁定当前登录的IP。相关主代码如图9所示。
④存储过程规则—用户出错1000次锁定:从前端用户登陆日志中提取最近 24小时相应登录出错的用户,累计阀值达到1000,则将用户更新至用户黑名单中。此举主要是为避免黑客一直不断重复连接,而我们传统防火墙无相关防护模块功能,尤其是无法对用户连接次数做限制。相关主要代码如图10所示。
⑤存储过程规则—邮件及短信报警:该规则主要为提前定义并设置好规则,再者设置好邮件的标题,发送的内容及格式,相关发件人地址,收件人地址,其中邮件的内容信息直接从数据库中抓取。相关的smg警报信息也基本一致。
⑥存储过程规则—表更新:主要指将满足条件的异常IP与数据库用户,正式更新(update语句)至login_Disableuser以及login_DisableIP,此处更新的表即为黑名单IP和用户。
⑦存储过程规则—上班时间设置:该规则主要是为了防止非上班时间有黑客入侵或其他异常用户登录,之所以设置为非工作时间,是出于上班时间有相关人员值守,主体的语句为:
If not(Datepart(Hour,getdate())≥8and DATEPART(Hour,getdate())≤17begin.
5、编写数据库登录触发器:检查当前登陆IP与用户是否在数据库表login.DisableIP、login_Disableuser中。详细数据流对应图 4 《主要数据流向过程图》登陆触发器流程图。如果存在该表中,则禁止登录,反之则允许登录。该触发器独立于存储过程之外,主要调用存储过程经过一定的规则生成后的黑名单IP与数据库用户,具体类比作用相当于警察扮演第二层防护门岗。具体参考图11:
本软件程序发明主要涉及两大模块,第一个模块为提取用户登录日志,通过存储过程转换,将符合条件的IP信息与用户信息保存至数据表中,生成黑名单明细。第二个模块为用户登录调用数据库的登录触发器,检查当前的IP与用户是否存在相关的黑名单清单中,两大模块详细参考附图说明中图 4 《主要数据流向过程图》。
本软件程序发明对数据库的防护核心功能与特色为:IP锁定、用户锁定、攻击警报三大特色。相比传统的防火墙与下一代防火墙只能抵御高速(60次/秒) 以上爆破攻击。面对低速或匀速攻击,以及不断更换IP的攻击根本无法识别并拦截。缺乏有效防护措施及手段。本发明提供了一个此方面更好工具作为补充。
本发明在上述方法过程的基础上延伸提出一种防御黑客对数据库慢速撞库或爆破攻击的系统,包括登录信息模块和登录调用触发器两大模块,登录信息模块的异常表信息由存储过程提炼登录日志生成,登录信息数据流程图主要展示该数据生成的详细过程。而后端的触发器主要负责调用前端存储过程所生成的异常IP与用户信息(即黑名单),登录触发器模块调用数据流详见图4-5中主要展示调用的详细过程。登录信息模块和登录调用触发器二者的相互关系,参考图2,相关数据输入输出参考图6。具体登录细节及实施细节参考图3。
为了更好的对本系统进行描述,以下是对系统细节部分的描述,
(1)安装数据库并开启日志审计:
1.安装数据库,(My SQL\Oracle\SQL Server均可)具体安装步骤(略)。 (以SQLServer为例)
2.开启登录日志审计功能:使用相关管理员账号登录数据库后,进行以下设置;数据库---属性(右键)--安全性--登录审核--失败和成功的登录。
(2)数据库建表、存储过程、触发器编写:
1)数据库建表:
1.登录并连接数据库,进入系统数据库--master–打开Transact-SQL窗口。(不同数据库表各异)
2.输入创建IP表、用户表的具体代码:如,create table login.DisableIP, (XX,具体表的字段名称及类型设置),create table,login.DisableUser(YY,具体表的字段名称及类型设置)
3.其中IP表的主要字段为:IP、创建日期、是否锁定、最后登录日期。
4.其中用户表的主要字段为:用户ID、创建日期、是否锁定、最后登录日期。
2)存储过程编译:
1.登录并连接数据库,进入系统数据库–master–打开Transact-SQL窗口,(不同数据库表各异)。
2.创建存储过程,相关的代码:CREATE proc[dbo].[up_LoginEorr]
3.存储过程主要编写内容包括:声明变量、设置表格式、获取IP函数、设置阀值、update更新表操作、逻辑判断与计算(IP登录失败5次及以上 login.DisableIP、用户登录失败1000次的更新login.DisableUser)、邮件警报内容及格式设定、smg弹窗动作脚本内容、上班时间发送报警规则。具体细节参考技术方案,此处略,不再重复。
3)触发器编写:
1.登录并连接数据库,进入系统数据库–特定数据库(保护数据库XY) –打开Transact-SQL窗口,或者数据库—可编程性—数据库触发器—新建数据库触发器。
2.编写触发器相关条件,指登录数据库时,要检查匹配哪些条件,不同的触发器条件和规则不一致,此处主要为检查数据库用户和IP的合规性,确认是否在黑名单列表防止异常的IP和用户从而保护数据库的合理连接。具体匹配对应login.DisableIP,login.DisableUser,详细代码见技术方案章节存储过程,具体关联关系见图 2 《数据库关系及技术原理图》。
(3)登录成功步骤及流程:
以下步骤,详细参考图 3 《数据库IP与用户保护具体步骤及实施流程图》具体步骤流程图①→⑤
1.用户输入用户名和密码登录数据库,数据库执行默认的身份验证,成功则跳转下一步继续验证。
2.已通过第一次身份验证的用户,进行第二轮身份校验,执行登录触发器,并写入相关日志。
3.数据库触发器主要检查当前IP是否存在数据库Login.DisableIP表。
4.若登录的IP,经查询后,未在数据库表Login.DisableIP,则允许登录将相关信息返回至终端用户。
5.若登录的IP,经查询后,若存在数据库Login.DisableIP表中,则拒绝登录并反馈相关信息至用户,
从而保护数据库的安全连接。而传统的SQL Server数据库只负责基础连接验证,无锁定功能,必须与windows身份验证绑定,因而存在功能局限性。
(4)登录失败步骤及流程:
以下步骤,详细参考图3具体步骤流程图①→⑩
1.用户输入用户名和密码,提交登录数据库请求。
2.数据库执行相关认证,并将相关结果写入数据库登录日志。
3.若认证失败,用户将无法登录。同时数据库保护程序将提取登录日志,执行相关存储过程up.loginEorr,并返回登录失败信息。
4.相关用户登录失败后,数据库保护程序将发送微信与msg信息至管理员,从而做到数据库连接预警,一定程度上降低风险无法识别的问题。
5.如果该IP最近24小时累计登录失败≥5次,则禁止该IP登录数据库。该动作的主要优势,可以有效识别黑客在远端频繁发起的口令爆破与猜测。传统的软件工具爆破连接,往往连接频率为60次/分钟以上,但如果是采用人工或其它低速方式连接,往往不会产生高频率连接。但本数据库保护程序直接采用统计方式,只要次数达到阀值5次,就锁定IP。因此可有效从源头禁止低速攻击,最终保护数据库接入连接。
6.与此同时,如果该IP对应的数据库用户最近24小时内,累计登录失败次数≥1000次,则禁止该数据库用户登录(上班时间8:00—17:00除外)。这种规则的设置可以有效避免人员因夜间休息期间短期内无法及时处理情况。另外,超过1000次禁止数据库用户,主要是防止黑客的恶意定向攻击,利用防火墙无法识别低速口令猜测的漏洞一直进行密码爆破,而限制1000 次,则可以起到更进一层的防护,只要用户连接失败阀值达到1000,程序将直接禁用数据库底层用户连接。黑客如想连接数据库,必须更换其它用户连接,否则直接在前端报错失效。从而默认的sa、root、system用户则处于有效保护中。两者结合在一定程度上保护数据库连接安全。
7.同时将满足相关条件的登录IP数据更新至数据库表(login.DisableIP),以便于前端触发器登录调用。
8.同时将满足相关条件的数据库用户数据更新至数据库表(login.DisableUser),以便于前端触发器登录调用。
9.在触发封锁动作的同时,也一并发送邮件报警与smg消息至管理员,以便对相关警报处理,此举在一定程度上弥补传统数据库攻击无法识别问题,从而确保对数据库连接状况的掌控。
10.管理员接收到相关信息后跟进与处理。
(5)具体报警警报及日志处理步骤:
1.正确设置邮件报警主体(收发人地址、及发件人服务器信息,推荐163 等运营商地址或内部邮件服务器地址,邮件标题,邮件正文内容)。
2.相关函数及参数设置正确,邮件警报及smg警报信息的的IP与用户取值,直接从login.DisableIP与login.DisableUser中抓取,日期信息也直接从创建日期中抓取。
3.触发动作设置,将满足特定条件下,自动触发相关动作。如最近24 小时IP登录失败超过5次,最近24小时累计出错1000次等。其中smg信息通过系统自带的powershell运行指定路径下的:C:\send.psl脚本,以便弹窗动作。
4.完成以上基本设置后,相关的服务器需开放邮件发送权限,相关的网络管理设备放开该服务器IP相应的smtp协议或25端口,否则邮件警报功能将失效,但不影响smg信息警报运行。
5.最后,为验证该功能的有效性,需要针对做相应的模拟测试和演练,以测试邮件相关功能是否正常。
(6)数据库存储过程部分代码参考截图:
考虑到整体代码行数较多,因而从其中摘取部分片段供参考。具体参阅图8。
上述本发明所公开的任一技术方案除另有声明外,如果其公开了数值范围,那么公开的数值范围均为优选的数值范围,任何本领域的技术人员应该理解:优选的数值范围仅仅是诸多可实施的数值中技术效果比较明显或具有代表性的数值。由于数值较多,无法穷举,所以本发明才公开部分数值以举例说明本发明的技术方案,并且,上述列举的数值不应构成对本发明创造保护范围的限制。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应当涵盖在本发明的保护范围之内。
Claims (8)
1.一种防御黑客对数据库慢速撞库或爆破攻击的方法,其特征在于:所述方法包括如下步骤:
S1、开启并设置数据库日志,开启数据库日志审计功能,且能被当前系统用户调取;
S2、使用管理员账号登入数据库,分别建立IP锁定表与禁止用户登入表,所述IP锁定表与禁止用户登入表含有字段;
S3、分析并提取数据库日志文件,使用数据库语言读取并分析日志,通过抓取日志中的字段生成临时表,并根据规则更新IP锁定表与禁止用户登录表;
S4、编写存储过程,所述编写存储过程包括声明变量、设置表格式、获取IP函数、设置阀值、update更新表操作、逻辑判断与计算、用户登入失败的更新、邮件警报内容及格式设定、smg弹窗动作脚本内容以及上班时间发送报警规则;
S5、检查当前登录IP与用户是否存在数据库表login.DisableIP、login_Disableuser中,如果存在该表中则禁止登录,反之则允许登录。
2.如权利要求1所述防御黑客对数据库慢速撞库或爆破攻击的方法,其特征在于:步骤S2中所述字段包括IP锁定表字段和禁止用户登录表字段,所述IP锁定表字段包括IP、创建日期、是否锁定、最后登录日期;禁止用户登录表字段包括用户ID、创建日期、是否锁定以及最后登录日期。
3.如权利要求1所述防御黑客对数据库慢速撞库或爆破攻击的方法,其特征在于:所述存储过程设有存储过程逻辑规则,所述存储过程逻辑规则包括:
定义变量24小时:在声明变量、开始时间的同时设置区间为24小时;
出错5次阀值锁定:IP登录在24小时内失败5次,则插入IP锁定表,锁定当前登录的IP;
出错1000次锁定:从前端用户登录日志中提取最近24小时相应登录出错的用户,累计阀值达到1000次,则将用户更新至用户黑名单中;
邮件及短信报警:用于提前定义并设置好规则,包括设置好邮件的标题、发送的内容及格式、相关发件人地址、收件人地址,其中邮件的内容信息直接从数据库中抓取;
更新表:将满足条件的异常IP与数据库用户进行更新至login_Disableuser以及login_DisableIP,此处更新的表即为黑名单IP和用户;
上班时间设置:用于防止非上班时间有黑客入侵或其他异常用户登录,之所以设置为非工作时间,是出于上班时间有相关人员值守,主体语句为
If not(Datepart(Hour,getdate())≥8and DATEPART(Hour,getdate())≤17begin。
4.一种防御黑客对数据库慢速撞库或爆破攻击的系统,其特征在于:所述系统包括登录信息模块以及登录调用触发器,其中,
所述登录信息模块通过数据存储过程转换,将符合条件的IP信息与用户信息保存至数据表中,生成黑名单明细;
所述登录调用触发器用于检查当前的IP与用户是否存在相关的黑名单中,
用户通过登录信息模块登录到数据库时,数据库开启并设置数据库日志,通过存储过程转换生成数据库临时表,根据存储过程逻辑规则生成并保存符合条件的IP与用户表;用户在登录数据库后,系统会通过登录调用触发器查询存储过程生成的IP与用户表,通过检查匹配当前的IP与用户是否存在相关的黑名单中,如果在黑名单中则禁止登录,如果不在黑名单中则登录成功。
5.如权利要求4所述的防御黑客对数据库慢速撞库或爆破攻击的系统,其特征在于:所述用户登录到数据库包括用户输入登录指令,Sqlserver开始验证以及登录调用触发器开始验证,将验证结果写入数据库登录日志中并生成登录日志。
6.如权利要求4所述的防御黑客对数据库慢速撞库或爆破攻击的系统,其特征在于:所述存储过程包括用户登录数据库之后,系统通过日志工具读取数据库登录日志,按照存储逻辑规则生成临时表,所述临时表经过存储逻辑规则更新为正式表。
7.如权利要求4所述的防御黑客对数据库慢速撞库或爆破攻击的系统,其特征在于:所述系统调用登录触发器的过程包括所述系统根据用户登录行为检查正式表并记录登录结果。
8.如权利要求7所述的防御黑客对数据库慢速撞库或爆破攻击的系统,其特征在于:所述记录登录结果包括当检查匹配当前的IP与用户存在黑名单中,则禁止登录,如果不在黑名单中则登录成功,对应将对用户显示登录失败,失败时间触发后,系统自动向管理员发送报警邮件或信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911177533.6A CN112861119A (zh) | 2019-11-27 | 2019-11-27 | 一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911177533.6A CN112861119A (zh) | 2019-11-27 | 2019-11-27 | 一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112861119A true CN112861119A (zh) | 2021-05-28 |
Family
ID=75985427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911177533.6A Pending CN112861119A (zh) | 2019-11-27 | 2019-11-27 | 一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861119A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489726A (zh) * | 2021-07-06 | 2021-10-08 | 中国联合网络通信集团有限公司 | 流量限制方法及设备 |
CN114374566A (zh) * | 2022-02-10 | 2022-04-19 | 中国银联股份有限公司 | 一种攻击检测方法及装置 |
CN115208601A (zh) * | 2021-09-18 | 2022-10-18 | 上海漫道科技有限公司 | 一种主动防御恶意扫描的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013152497A (ja) * | 2012-01-24 | 2013-08-08 | Nec System Technologies Ltd | ブラックリスト抽出装置、抽出方法および抽出プログラム |
CN104065644A (zh) * | 2014-05-28 | 2014-09-24 | 北京知道创宇信息技术有限公司 | 基于日志分析的cc攻击识别方法和设备 |
CN106534114A (zh) * | 2016-11-10 | 2017-03-22 | 北京红马传媒文化发展有限公司 | 基于大数据分析的防恶意攻击系统 |
CN106686014A (zh) * | 2017-03-14 | 2017-05-17 | 北京深思数盾科技股份有限公司 | 网络攻击的防治方法及装置 |
CN108629201A (zh) * | 2018-04-24 | 2018-10-09 | 山东华软金盾软件股份有限公司 | 一种对数据库非法操作进行阻断的方法 |
CN109992961A (zh) * | 2019-03-07 | 2019-07-09 | 北京华安普特网络科技有限公司 | 用于数据库系统防黑客入侵的检测系统和方法 |
CN110290138A (zh) * | 2019-06-27 | 2019-09-27 | 苏宁消费金融有限公司 | 适于测试数据库的限制登录方法和系统 |
-
2019
- 2019-11-27 CN CN201911177533.6A patent/CN112861119A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013152497A (ja) * | 2012-01-24 | 2013-08-08 | Nec System Technologies Ltd | ブラックリスト抽出装置、抽出方法および抽出プログラム |
CN104065644A (zh) * | 2014-05-28 | 2014-09-24 | 北京知道创宇信息技术有限公司 | 基于日志分析的cc攻击识别方法和设备 |
CN106534114A (zh) * | 2016-11-10 | 2017-03-22 | 北京红马传媒文化发展有限公司 | 基于大数据分析的防恶意攻击系统 |
CN106686014A (zh) * | 2017-03-14 | 2017-05-17 | 北京深思数盾科技股份有限公司 | 网络攻击的防治方法及装置 |
CN108629201A (zh) * | 2018-04-24 | 2018-10-09 | 山东华软金盾软件股份有限公司 | 一种对数据库非法操作进行阻断的方法 |
CN109992961A (zh) * | 2019-03-07 | 2019-07-09 | 北京华安普特网络科技有限公司 | 用于数据库系统防黑客入侵的检测系统和方法 |
CN110290138A (zh) * | 2019-06-27 | 2019-09-27 | 苏宁消费金融有限公司 | 适于测试数据库的限制登录方法和系统 |
Non-Patent Citations (1)
Title |
---|
李小华等: "《医院信息系统数据库技术与应用》", 31 October 2015, pages: 160 - 161 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489726A (zh) * | 2021-07-06 | 2021-10-08 | 中国联合网络通信集团有限公司 | 流量限制方法及设备 |
CN113489726B (zh) * | 2021-07-06 | 2023-05-12 | 中国联合网络通信集团有限公司 | 流量限制方法及设备 |
CN115208601A (zh) * | 2021-09-18 | 2022-10-18 | 上海漫道科技有限公司 | 一种主动防御恶意扫描的方法及系统 |
CN115208601B (zh) * | 2021-09-18 | 2024-02-06 | 上海漫道科技有限公司 | 一种主动防御恶意扫描的方法及系统 |
CN114374566A (zh) * | 2022-02-10 | 2022-04-19 | 中国银联股份有限公司 | 一种攻击检测方法及装置 |
CN114374566B (zh) * | 2022-02-10 | 2023-08-08 | 中国银联股份有限公司 | 一种攻击检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Libicki | Cyberspace in peace and war | |
CN112861119A (zh) | 一种防御黑客对数据库慢速撞库或爆破攻击的方法及系统 | |
CN106326699B (zh) | 一种基于文件访问控制和进程访问控制的服务器加固方法 | |
CN114978584A (zh) | 基于单位单元的网络安全防护安全方法及系统 | |
US20050216955A1 (en) | Security attack detection and defense | |
CN109543301A (zh) | 一种基于工业控制的网络安全攻击原型建模方法 | |
CN106446658A (zh) | 一种数据中心安全保护方法及系统 | |
CN108462714A (zh) | 一种基于系统弹性的apt防御系统及其防御方法 | |
CN106228078A (zh) | 一种Linux下基于增强型ROST的安全运行方法 | |
CN114418263A (zh) | 一种用于火电厂电力监控装置的防御系统 | |
Bishop et al. | The threat from the net [Internet security] | |
CN112615842A (zh) | 基于大数据平台的网络安全实施系统及方法 | |
Weber | A taxonomy of computer intrusions | |
Yu et al. | Analysis and suggestions for the security of web applications | |
Mé et al. | Experimenting a Policy-Based HIDS Based on an Information Flow Control Model | |
CN111125649A (zh) | 一种远程桌面登录暴力破解的防护方法与装置 | |
Kono et al. | An unknown malware detection using execution registry access | |
Rosenthal | Intrusion Detection Technology: Leveraging the Organization's Security Posture. | |
TW202239178A (zh) | 偵測駭客攻擊的方法及電腦程式產品 | |
CN111786980A (zh) | 基于行为的特权账户威胁告警方法 | |
Agrawal et al. | Web Security Using User Authentication Methodologies: CAPTCHA, OTP and User Behaviour Authentication | |
Miloslavskaya et al. | Taxonomy for unsecure digital information processing | |
Lukatsky et al. | Protect your information with intrusion detection | |
Nabiullin et al. | Information Security of Power Plants | |
Howard et al. | Using a “common language” for computer security incident information |
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 |