MySQL 基线检查项

参考链接: https://github.com/wstart/DB_BaseLine

  • 账号权限基线检查 run_power_test
    • 启动 MySQL 的系统账号 是否单独创建 且 不允许登陆
    • 默认管理员账号是否存在
    • 高级权限账号 是否是必须
    • 系统数据库 MySQL 的高级权限账号 是否必须
    • 具有特定的高级权限账号是否必须
      • File_priv 文件权限
      • Process_priv 进程权限
      • Super_priv 委托权限
      • Shutdown_priv 关闭权限
      • Create_user_priv 创建用户权限
      • Grant_priv 赋权权限
      • reload_priv 重载权限
      • repl_slave_priv 主从数据库权限
    • 密码为空的账号是否存在
    • 不受IP限制的账号可登录
    • 空用户的账号
  • 网络连接基线检查 run_network_test
    • 默认端口 是否修改
    • 网络连接方式 是否为 SSL
  • 文件安全基线检查 run_file_test
    • 数据库文件路径 show variables where variable_name = 'datadir'
    • 检查MYSQL命令执行历史记录 ~/.mysql_history
    • 敏感的日志,查询,错误,审计文件
      • log_bin_basename
      • log_error
      • slow_query_log_file
      • general_log_file
      • audit_log_file
      • relay_log_basename
  • 数据库配置基线检查 run_config_test
    • 错误日志是否开启 SHOW variables LIKE 'log_error';
    • 错误日志等级设置 SHOW GLOBAL VARIABLES LIKE 'log_warnings';
    • 测试数据库是否存在 SHOW DATABASES LIKE 'test';
    • 是否可以读取本地文件 SHOW VARIABLES WHERE Variable_name = 'local_infile';
    • 是否可以访问数据库目录以外的文件 have_symlink
    • 是否存在 daemon_memcached 插件
    • 数据库模式 sql_mode 是否包含 STRICT_TRANS_TABLES
    • 过期账号是否可以登录 disconnect_on_expired_password