6.修改默认3306端口 描述 避免使用熟知的端口,降低被初级扫描的风险
加固建议
编辑<conf_path>/my.cnf
文件,[mysqld] 段落中配置新的端口参数,并重启MySQL服务:
port=3506
7.禁用symbolic-links选项 描述 禁用符号链接以防止各种安全风险
加固建议
编辑Mysql配置文件<conf_path>/my.cnf
,在[mysqld] 段落中配置symbolic-links=0
,5.6及以上版本应该配置为skip_symbolic_links=yes
,并重启mysql服务。
8.确保没有用户配置了通配符主机名 描述 避免在主机名中只使用通配符,有助于限定可以连接数据库的客户端,否则服务就开放到了公网
加固建议 执行SQL更新语句,为每个用户指定允许连接的host范围。
登录数据库,执行use mysql;
;
执行语句select user,Host from user where Host='%';
查看HOST为通配符的用户;
删除用户或者修改用户host字段,删除语句:DROP USER 'user_name'@'%';
。更新语句:update user set host = <new_host> where host = '%';
。
执行SQL语句:
OPTIMIZE TABLE user;
flush privileges;
9.确保配置了log-error选项 描述 启用错误日志可以提高检测针对mysql和其他关键消息的恶意尝试的能力,例如,如果错误日志未启用,则连接错误可能会被忽略。
加固建议
编辑Mysql配置文件<conf_path>/my.cnf
,在[mysqld_safe] 段落中配置log-error参数,<log_path>
代表存放日志文件路径,如:/var/log/mysqld.log
,并重启mysql服务:
log-error=<log_path>
10.删除’test’数据库 描述 测试数据库可供所有用户访问,并可用于消耗系统资源。删除测试数据库将减少MySQL服务器的攻击面。
加固建议
登录数据库执行以下SQL语句删除test数据库:
DROP DATABASE test;
flush privileges;
11.禁用local-infile选项 描述 禁用local_infile选项会降低攻击者通过SQL注入漏洞器读取敏感文件的能力
加固建议
编辑Mysql配置文件<conf_path>/my.cnf
,在[mysqld] 段落中配置local-infile
参数为0,并重启mysql服务:
local-infile=0