欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

数据库被入侵 如何做数据库的安全加固与防护

程序员文章站 2023-10-28 17:03:28
某一网站平台的客户数据库被黑客篡改了,篡改了会员的银行卡信息以及金额,包括注单也被黑客篡改,导致平台的损失很大,在后台提现的时候,客户才发现会员的数据有异常,觉得不得劲,查询该会员账号的所有投注信息发现了问题。数据库被攻击了,随即通过朋友介绍找到我们SINE安全公司,寻求安全解决,防止数据库被攻击,...

某一网站平台的客户数据库被黑客篡改了,篡改了会员的银行卡信息以及金额,包括注单也被黑客篡改,导致平台的损失很大,在后台提现的时候,客户才发现会员的数据有异常,觉得不得劲,查询该会员账号的所有投注信息发现了问题。数据库被攻击了,随即通过朋友介绍找到我们sine安全公司,寻求安全解决,防止数据库被攻击,被篡改。

数据库的安全问题每天都会发生,不光光篡改你的数据,前些日子有一客户的数据库被删除了,并留下内容说是数据库已备份,需要比特币来恢复,大约价格在几万左右,客户之前有做异地数据库备份,这才将损失降到最低,但是日后的数据库安全问题给他们敲响了警钟,需要做安全防护与部署,防止后期再被删除,攻击。甚至有些网站的数据库被脱裤,所有的会员账号密码名字,手机号都隐私信息被泄露出去,被打包卖了,数据库的安全问题不容忽视。关于数据库的安全设置,以及防止数据库被攻击,如何查找攻击者,我们sine安全跟大家详细的讲解一下:

目前常见的数据库攻击的特征分为,数据库root密码的弱口令攻击,以及sql注入攻击,数据库提权加管理员账户,数据库写入木马代码,数据库某一表被删除,数据库内容被篡改等等,通过对数据库日志的安全分析,可以发现问题的根源与攻击的源头。

首先我们要将我们的数据库开启log日志记录功能,每一个对数据库的请求,读写,都要记录下来,执行了哪些sql语句,查询,增加,删除等等,这样我们就可以看的很明白,如何开启mysql日志功能呢?连接数据库登陆root管理员账户,然后执行 :set global general_log = 'on';这一句命令,这是开启,接下来就是存在log日志的文件地址,再执行set global general_log_file = '/mysqlrizhi/safe.log'; 当你在网站进行查询的时候就会记录你的sql执行语句,如下图:

数据库被入侵 如何做数据库的安全加固与防护

通过上面我们可以看到,第一个是时间,几点几分,connect是连接数据库的操作,init db是数据库的名称,query是查询的意思,针对admin表进行查询操作,quit就是退出,我们要看明白日志才能分析出数据库被攻击的原因。数据库日志还会出现一些尝试利用弱口令进行攻击的,如下图:

数据库被入侵 如何做数据库的安全加固与防护

上面就是用数据库密码爆破工具来进行密码的猜测,针对于数据库的端口mysql默认是3306端口,针对这一端口,我们可以进行安全限制,对其指定ip放行,不对外公开访问,这样大大的杜绝了数据库的攻击与密码的猜解。数据库被攻击,很重要的一些特殊sql语句要记住,想drop,以及lock,info outfile,update,dumpfile,都是一些管理员的操作,备份数据库导出数据库,以及输出文件到网站目录,删除某个表,对数据库进行更新等操作。

数据库安全设置与防篡改,防攻击的办法

数据库的默认端口3306或者是sqlserver1433端口都要做端口的安全策略,限制对外开放,或者使用phpmyadmin对数据库进行管理等操作,网站的数据库调用账户使用普通权限账户,只有读写,增加删除等操作,没有管理员权限,时刻对数据库进行备份,设置数据库备份计划,每天,每小时都可以设置备份到指定的目录,如果使用的是阿里云的服务器建议开启阿里云的快照备份,如果自己对数据库不是太熟悉的话,也不知该如何防止数据库被攻击,建议找专业的网站安全公司来处理解决数据库被篡改,删除的问题,像sinesafe,绿盟那些专门做网站安全防护的安全服务商来帮忙。再一个数据库的配置开启魔术模式,对sql注入的字符进行自动转义,防止sql注入攻击。本文来源:www.sinesafe.com