MySQL安全部署指南/安装MySQL企业防火墙

第8章安装MySQL企业防火墙

MySQL企业防火墙是一个应用程序级防火墙,它使数据库管理员能够根据对可接受语句模式的允许列表的匹配来允许或拒绝SQL语句的执行。这有助于增强MySQL的安全性,防止SQL注入等攻击,或者试图在应用程序的合法查询工作负载特征之外使用它们来利用应用程序。

每个注册到防火墙的MySQL帐户都有自己的语句allowlist,允许为每个帐户量身定制保护。对于一个给定的帐户,防火墙可以以记录、保护或检测模式运行,进行可接受语句模式的训练,对不可接受语句进行主动保护,或对不可接受语句进行被动检测。

MySQL Enterprise Firewall的安装是一次性操作,包括运行位于分享MySQL安装目录。

安装MySQL企业防火墙:

  1. 运行linux_install_firewall.sql控件中的/usr/local/mysql/share目录中。

    安装脚本在默认数据库中创建存储过程,因此请选择要使用的数据库。然后像下面这样运行脚本,在命令行上命名所选的数据库。此部署使用mysql数据库。

    Shell > CD /usr/local/mysql Shell > bin/mysql -u root -p mysql < /usr/local/mysql/share/linux_install_firewall. shsql输入密码:在这里输入root密码
  2. MySQL企业防火墙不能与查询缓存一起工作。默认情况下,查询缓存是禁用的。控件下指定这些设置,以确保查询缓存保持禁用状态(mysqld)MySQL配置文件中的选项组:

    query_cache_type = 0 query_cache_size = 0

    设置query_cache_size为0释放查询缓存缓冲区。

  3. 若要启用防火墙,请启用mysql_firewall_mode系统变量。缺省情况下,安装防火墙时启用此变量。要显式配置防火墙状态,请将其添加到(mysqld)MySQL配置文件中的选项组:

    mysql_firewall_mode =对
  4. 重新启动MySQL服务器以应用新的配置设置。

    Shell > systemctl restart mysqld
  5. 要验证MySQL企业防火墙是否启用,连接到服务器并执行以下语句:

    shell> cd /usr/local/mysql shell> bin/mysql -u root -p Enter password:(此处输入root密码)
    mysql>显示全局变量像“mysql_firewall_mode”;+---------------------+-------+ | Variable_name |值  | +---------------------+-------+ | mysql_firewall_mode |上  | +---------------------+-------+

MySQL企业防火墙现在已经启用,可以随时使用。如何向防火墙注册帐号和配置运行模式,请参见使用MySQL企业防火墙.本文提供了一个示例,演示如何向防火墙注册帐户,使用防火墙学习帐户的可接受语句,并保护帐户免受不可接受语句的执行。