MySQL最常见弱口令入侵(phpMyAdmin管理后台存在弱口令)
1、3306端口开放到外网。
2、黑客一般在data/mysql目录创建一些名称奇怪的表,这些表可能存放入侵指令。
- 删除无关账户和匿名账户
用不到的账户存在会加大数据库的风险,根据实际情况,删除掉无关的账户和匿名账户。例有一个test1的用户,命令DROP USER test;
查看用户:select user,password from mysql.user;
用户名为空的为匿名账户,在localhost中匿名用户几乎有着和root用户一样的权限,危险系数大。
删除匿名用户语句:delete from mysql.user where user=’’;最后用flush privileges刷新即可。 - 口令安全策略
mysql的root账户密码一般自动为空,修改时避免使用弱口令。应该使用大小写混合加数字和特殊符号,长度不低于8位,定期进行更换等。 - 访问控制
GRANT ALL PRIVILEGES进行授权,*.*代表所有数据库和所有表。
1)对用户进行限制
2)对IP进行限制 - 安全日志
安全日志必不可少,打开mysql安装目录,打开配置文件my.ini文件,进行配置。
根据需求去掉#号注释,如果没有,可以添加一下。这些配置在【mysqld】下。使用命令show variables like ‘log_%’;可以查看日志的开启情况。 - 连接数限制
限制连接mysql的数量,打开my.ini文件,进行配置,在【mysqld】下配置max_connections参数,如果没有,添加即可。
使用show variables like ‘%max_connections%’;查看最大连接数。 - sql注入是常见的数据库攻击方式,可以装上防这类的防火墙:
1)Xsecure-DBFirewall数据库防火墙系统。
2)Snort入侵检测系统。可以对指定端口进行正则匹配方式的sql注入检测。
3)Java/j2ee过滤器,适用于j2ee的web应用。
4)druid-sql-wall开源的sql检测系统。 - 数据库备份
数据库备份很重要,一些情况无法预测,定期备份是一个好习惯。方法很多,可以复制备份,也可以用自带的mysqldump备份,
也可以使用一些工具。