zoukankan      html  css  js  c++  java
  • 【转】mysql安全基线设置

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

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

    编辑Mysql配置文件/etc/my.cnf,在[mysqld] 段落中配置local-infile参数为0,并重启mysql服务: 
    ``` 
    local-infile=0
     ```

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

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

    登陆数据库执行以下SQL语句删除test数据库:
    ```
    DROP DATABASE test;
    flush privileges;
    ```

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

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

    复制代码
    执行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配置文件/etc/my.cnf,在[mysqld] 段落中配置`symbolic-links=0`,5.6及以上版本应该配置为`skip_symbolic_links=yes`,并重启mysql服务。

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

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

    编辑/etc/my.cnf文件,[mysqld] 段落中配置新的端口参数,并重启mysql服务:
    ```
    port=3506 
    ```

    六、为Mysql服务使用专用的最低特权帐户 | 访问控制

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    十一、匿名登陆检查 | 身份鉴别

    检查Mysql服务是否允许匿名登陆

    登陆Mysql数据库,执行以下命令删除匿名帐户:
    ```
     delete from user where user='';
    flush privileges;
    ```

    作者:凉生墨客 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    https://www.cnblogs.com/heruiguo/p/12103405.html
  • 相关阅读:
    A Simple Problem with Integers poj 3468 多树状数组解决区间修改问题。
    Fliptile 开关问题 poj 3279
    Face The Right Way 一道不错的尺取法和标记法题目。 poj 3276
    Aggressive cows 二分不仅仅是查找
    Cable master(二分题 注意精度)
    B. Pasha and String
    Intervals poj 1201 差分约束系统
    UITextField的快速基本使用代码块
    将UIImage转换成圆形图片image
    color转成image对象
  • 原文地址:https://www.cnblogs.com/apolloren/p/12244040.html
Copyright © 2011-2022 走看看