
账号
禁止MySQL以管理员账号权限运行
以普通账户去运行mysqld,禁止mysql以管理员账号运行
配置方法:
Linux系统下可在/etc/my.cnf中设置:
[mysql.server]user=mysql
检查方法:
检查进程属主运行参数是否包含--user=mysql类似的语句
ps -cf | grep myslqdgrep -i user etc/my.cnf
避免账号共享
应按照用户分配账号,避免账号共享或一人持有多账号的情况
删除无关账号
应删除或锁定与数据库运行、维护等工作无关的账号
配置方法:
使用Drop User语句删除账户,需要注意的是,如果使用Drop User语句,必须具备MySQL数据库的全局Create User权限或Delete权限。
口令
口令安全
对于采用静态口令验证的设备和系统必须使用强密码
配置方法:
修改弱口令账户密码:
mysql> update user set password=password(AzxD123!@#) where user=root';mysql> flush privileges;
授权
最小权限原则
在数据库权限配置能力内,根据用户的业务需求,配置其所需的最小权限
检查方法:
mysql> use mysql;mysql> select * from user;mysql> select * from db;mysql> select * from host;mysql> select * from tables_privmysql> select * from columns_priv
回收不必要或者危险的权限,可以执行rcvokv命令。
日志
配置 日志功能
数据库应配置日志功能
数据库日志分类:
错误日志:-log-crr查询日志:-log慢查询日志:-log-slow-queries更新日志:-log-update二进制日志:-log-bin
配置时,在MySQL的安装目录下,打开my.ini在后面加上上面的阐述,保存后重启MySQL服务即可
其他
补丁
系统及软件应及时更新或安装最新补丁
如无需要,禁止远程访问
如无需要可禁止网络连接,防止爆破,溢出以及嗅探
配置方法:
如果 数据库不需要远程访问,可以禁止远程TCP/IP连接,通过在mysqld服务器中参数中添加 --skip-networking 启动参数来使mysql不监听任何TCP/IP连接,来增加 安全性
可信IP地址访问控制
通过数据库所在操作系统或防火墙限制,只有信任的IP地址才能通过监听器访问数据库
配置方法:
mysql> grant all privileges on db.*. to username@'ip/netmask'
配置之后,只有指定的IP段的用户才能deng'lu
连接数设置
根据机器性能和业务需求,设置最大最小连接数
配置方法:
在MySQL配置文件:my.cnf或my.ini中:
在mysqld配置段添加:
max_connections = 100
保存,重启MySQL服务即可
书单推荐
加入我的星球


扫描二维码
获取更多精彩
NowSec

文章转载自NowSec,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




