• 阿里云标准-Mysql安全基线检查


    禁用local-infile选项 | 访问控制

    描述

    禁用local_infile选项会降低攻击者通过SQL注入漏洞器读取敏感文件的能力

    加固建议

    编辑Mysql配置文件<conf_path>/my.cnf,在mysqld 段落中配置local-infile参数为0,并重启mysql服务:

    local-infile=0
    

    删除'test'数据库 | 服务配置

    描述

    测试数据库可供所有用户访问,并可用于消耗系统资源。删除测试数据库将减少MySQL服务器的攻击面。

    加固建议

    登录数据库执行以下SQL语句删除test数据库:

    DROP DATABASE test;
    flush privileges;
    

    确保配置了log-error选项 | 安全审计

    描述

    启用错误日志可以提高检测针对mysql和其他关键消息的恶意尝试的能力,例如,如果错误日志未启用,则连接错误可能会被忽略。

    加固建议

    编辑Mysql配置文件<conf_path>/my.cnf,在mysqld_safe 段落中配置log-error参数,<log_path>代表存放日志文件路径,如:/var/log/mysqld.log,并重启mysql服务:

    log-error=<log_path>
    

    确保没有用户配置了通配符主机名 | 身份鉴别

    描述

    避免在主机名中只使用通配符,有助于限定可以连接数据库的客户端,否则服务就开放到了公网

    加固建议

    执行SQL更新语句,为每个用户指定允许连接的host范围。

    1. 登录数据库,执行use mysql;
    2. 执行语句select user,Host from user where Host='%';查看HOST为通配符的用户;
    3. 删除用户或者修改用户host字段,删除语句:DROP USER 'user_name'@'%'; 。更新语句:update user set host = <new_host> where host = '%';
    4. 执行SQL语句:
    OPTIMIZE TABLE user;
    flush privileges;
    

    禁用symbolic-links选项 | 服务配置

    描述

    禁用符号链接以防止各种安全风险

    加固建议

    编辑Mysql配置文件<conf_path>/my.cnf,在mysqld 段落中配置symbolic-links=0,5.6及以上版本应该配置为skip_symbolic_links=yes,并重启mysql服务。

    为MySQL服务使用专用的最低特权账户 | 访问控制

    描述

    使用最低权限账户运行服务可减小MySQL天生漏洞的影响。受限账户将无法访问与MySQL无关的资源,例如操作系统配置。

    加固建议

    使用非root和非sudo权限用户启动MySQL服务

    禁止使用--skip-grant-tables选项启动MySQL服务 | 访问控制

    描述

    使用此选项,会导致所有客户端都对所有数据库具有不受限制的访问权限。

    加固建议

    编辑Mysql配置文件<conf_path>/my.cnf,删除skip-grant-tables参数,并重启mysql服务

    确保log-raw选项没有配置为ON | 安全审计

    描述

    当log-raw记录启用时,有权访问日志文件的人可能会看到纯文本密码。

    加固建议

    编辑Mysql配置文件<conf_path>/my.cnf,删除log-raw参数,并重启mysql服务

    匿名登录检查 | 身份鉴别

    描述

    检查MySQL服务是否允许匿名登录

    加固建议

    登录MySQL数据库,执行以下命令删除匿名账户:

     delete from user where user='';
    flush privileges;
    

    确保MYSQL_PWD环境变量未设置 | 身份鉴别

    描述

    MYSQL_PWD环境变量的使用意味着MYSQL凭证的明文存储,极大增加MySQL凭据泄露风险。

    加固建议

    删除系统环境变量中MySQL密码(MYSQL_PWD)配置

    修改默认3306端口 | 服务配置

    描述

    避免使用熟知的端口,降低被初级扫描的风险

    加固建议

    编辑<conf_path>/my.cnf文件,mysqld 段落中配置新的端口参数,并重启MySQL服务:

    port=3506 
    
  • 相关阅读:
    Redis--过期键策略(惰性删除、定期删除)
    Redis--数据库(个数16、键空间、过期字典、过期策略)
    Redis--事件(serverCron)
    ArrayList是如何扩容的?
    Java的四大引用类型
    类加载机制,双亲委派模型及其优点
    GC调优思路
    modcount的作用
    JVM的常见的垃圾收集器
    什么是临界区?如何解决冲突(也就是临界区的调度原则)?
  • 原文地址:https://www.cnblogs.com/faberbeta/p/13903536.html
Copyright © 2020-2023  润新知