如何防止网站数据库被攻击 被篡改

某一网站平台的客户数据库被黑客篡改了,篡改了会员的银行卡信息以及金额,包括注单也被黑客篡改,导致平台的损失很大,在后台提现的时候,客户才发现会员的数据有异常,觉得不得劲,查询该会员账号的所有信息发现了问题。数据库被攻击了,随即通过朋友介绍找到我们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注入攻击。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31542418/viewspace-2649025/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31542418/viewspace-2649025/

你可能感兴趣的:(如何防止网站数据库被攻击 被篡改)