MySQL 5.7.44 符合等保

MySQL 5.7.44 符合等保

为了确保 MySQL 5.7.44 符合等保(国家信息安全等级保护)的要求,需要在 my.***f 文件中进行一系列的安全配置。以下是一个详细的配置示例,涵盖了常见的安全设置:

  1. 基本安全配置
  • 禁用不必要的功能
  • 启用日志记录
  • 限制用户权限
  • 使用强密码策略
  1. 修改 my.***f 文件
    编辑 MySQL 的配置文件 my.***f,通常位于 /etc/mysql/my.***f/etc/my.***f
sudo nano /etc/mysql/my.***f
  1. 完整的 my.***f 配置示例
    以下是一个符合等保要求的 my.***f 配置示例:
    []
[mysqld]
# 基本设置
basedir=/usr/local/mysql
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid

# 字符集和排序规则
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

# 绑定地址
bind-address=0.0.0.0

# 最大连接数
max_connections=500

# 连接超时时间
wait_timeout=28800
interactive_timeout=28800

# 启用二进制日志
log-bin=mysql-bin
binlog_format=ROW
expire_logs_days=7

# 错误日志
log-error=/var/log/mysql/error.log

# 慢查询日志
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow-query.log
long_query_time=2

# 通用查询日志
general_log=1
general_log_file=/var/log/mysql/general-query.log

# SSL/TLS 加密
ssl-ca=/path/to/ca.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem

# 强密码策略
validate_password_policy=MEDIUM
validate_password_length=12
validate_password_mixed_case_count=1
validate_password_number_count=1
validate_password_special_char_count=1

# SQL 注入防护
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

# 禁用危险函数
secure-file-priv=/var/lib/mysql-files/

# 防止 SQL 注入攻击
local-infile=0

# 资源限制
open_files_limit=65535
table_open_cache=2048
query_cache_size=64M
tmp_table_size=64M
max_heap_table_size=64M

# 其他安全设置
skip-name-resolve=1
default-storage-engine=InnoDB

[client]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysql]
default-character-set=utf8mb4
  1. 解释关键配置项
  • 字符集和排序规则:
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci
    
  • 绑定地址:
    bind-address=0.0.0.0
    
  • 最大连接数:
    max_connections=500
    
  • 连接超时时间:
    wait_timeout=28800
    interactive_timeout=28800
    
  • 二进制日志:
    log-bin=mysql-bin
    binlog_format=ROW
    expire_logs_days=7
    
  • 错误日志:
    log-error=/var/log/mysql/error.log
    
  • 慢查询日志:
    slow_query_log=1
    slow_query_log_file=/var/log/mysql/slow-query.log
    long_query_time=2
    
  • 通用查询日志:
    general_log=1
    general_log_file=/var/log/mysql/general-query.log
    
  • SSL/TLS 加密:
    ssl-ca=/path/to/ca.pem
    ssl-cert=/path/to/server-cert.pem
    ssl-key=/path/to/server-key.pem
    
  • 强密码策略:
    validate_password_policy=MEDIUM
    validate_password_length=12
    validate_password_mixed_case_count=1
    validate_password_number_count=1
    validate_password_special_char_count=1
    
  • SQL 注入防护:
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    
  • 禁用危险函数:
    secure-file-priv=/var/lib/mysql-files/
    
  • 防止 SQL 注入攻击:
    local-infile=0
    
  • 资源限制:
    open_files_limit=65535
    table_open_cache=2048
    query_cache_size=64M
    tmp_table_size=64M
    max_heap_table_size=64M
    
  • 其他安全设置:
    skip-name-resolve=1
    default-storage-engine=InnoDB
    
  1. 重启 MySQL 服务
    保存并关闭 my.***f 文件后,重启 MySQL 服务以应用更改。
sudo systemctl restart mysql
  1. 验证配置
  • 检查 MySQL 日志:
    查看 MySQL 错误日志以确保没有配置错误。
    tail -f /var/log/mysql/error.log
    
  • 验证 SSL/TLS 配置:
    使用 openssl 工具验证 SSL/TLS 配置是否正确。
    openssl s_client -connect :3306 -CAfile /path/to/ca.pem
    
  • 验证用户权限:
    登录到 MySQL 并检查用户权限。
    mysql -u root -p
    
    SELECT User, Host FROM mysql.user;
    

通过以上步骤,你可以确保 MySQL 5.7.44 符合等保的基本安全要求。请根据实际需求进一步调整和优化配置。

转载请说明出处内容投诉
CSS教程网 » MySQL 5.7.44 符合等保

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买