网站的数据库mysql经常被人修改,怀疑网站有木马或者后门

  • A+

mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如何防止sql注入呢

 

网站的数据库mysql经常被人修改,怀疑网站有木马或者后门

通过修改/etc/my.cnf 下max_allowed_packet的值,即max_allowed_packet = 1024m

修改后短暂解决了,但是过一段时间还是报 >1024 ,于是不间断的重启(怀疑被黑了,但是没处理。。。),后来一次直接mysql直接死掉。cpu占到95%以上,启动后不到一分钟即被关掉。后来查找原因,在mysql的数据路径下, /home/mysql/mysql/data 下看到很多莫名的文件,一进去后发现都是可执行文件。确定无疑肯定中了木马,被攻击了。于是进行如下解决:

1、清除可疑文件,停掉mysql,重新启动服务器;

2、修改防火墙,增加黑名单,只允许固定ip和端口访问。(之前防火墙给关了。。。。)

3、修改mysql root的密码,增加复杂度,防止黑客撞库破解(只是增加破解难度)

4、删掉多余的系统用户。只保留host为127.0.0.1的root和应用的账户。同时应用的账户host改成具体的ip

5、把mysql的端口改掉。默认是3306,这个是黑客经常关顾的端口。

6、如果还是出现奇怪问题,则开启general_log日志。记录每次命令,待下次分析(general_log会记录大量执行命令,因次耗资源,默认是关闭的。建议系统无异常时关掉。)

那么mysql该如何防止sql注入?我们通过以下三种方法进行防治sql注入

1.开启php的魔术模式,,magic_quotes_gpc = on即可,当一些特殊字符出现在网站前端的时候,就会自动进行转化,转化成一些其他符号导致sql语句无法执行。

2.网站代码里写入过滤sql特殊字符的代码,对一些特殊字符进行转化,比如单引号,逗号,*,(括号)AND 1=1 、反斜杠,select union等查询的sql语句都进行安全过滤,限制这些字符的输入,禁止提交到后端中去。

3.开启网站防火墙,IIS防火墙,apache防火墙,nginx防火墙,都有内置的过滤sql注入的参数,当用户输入参数get、post、cookies方式提交过来的都会提前检测拦截,

网站的数据库mysql经常被人修改,怀疑网站有木马或者后门

  • 微信 wzgj360
  • 联系免费答疑
  • weinxin
  • QQ 613049615
  • 联系免费答疑
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: