数据库Mysql容易受到哪些攻击 该如何防范?



        某一网站平台的客户数据库被黑客篡改了,篡改了会员的银行卡信息以及金额,包括注单

也被黑客篡改,导致平台的损失很大,在后台提现的时候,客户才发现
会员的数据有异常,觉

得不得劲,查询该会员账号的所有投注信息发现了问题。数
据库被攻击了,随即通过朋友介绍

找到我们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注入

攻击。
分享: