在Ubuntu上对MySQL进行安全审计,可以采取以下几种方法:
使用MariaDB审计插件:
下载并安装MariaDB审计插件:
wget https://downloads.mariadb.org/mariadb/mariadb-10.2.43/linux-systemd-x86_64/getPackage/mariadb-audit-plugin-1.1.11-985-linux-x86_64.zip unzip mariadb-audit-plugin-1.1.11-985-linux-x86_64.zip sudo cp server_audit.so /usr/local/mysql/lib/plugin/ sudo chmod 755 /usr/local/mysql/lib/plugin/server_audit.so 在MySQL中加载插件:
INSTALL PLUGIN server_audit SONAME 'server_audit.so'; 配置审计参数: 编辑MySQL配置文件(通常是 /etc/mysql/my.cnf 或 /etc/my.cnf),在 [mysqld] 部分添加以下配置项:
plugin-load audit_log.so audit_log_format JSON audit_log_force_plus_permanent 1 重启MySQL服务以使配置生效:
sudo systemctl restart mysql 使用第三方审计插件: 可以考虑使用第三方审计插件,如McAfee的 mysql-audit 插件或Percona的 Percona Server Audit Log 插件,这些插件提供了丰富的审计功能和灵活的配置选项。
Auditd是Linux内核的审计服务,可以用来记录系统事件。
启动并启用Auditd服务:
sudo systemctl start auditd sudo systemctl enable auditd 配置Auditd规则: 编辑Auditd的配置文件 /etc/audit/auditd.conf,根据需要添加或修改规则。例如:
audit_log_file /var/log/audit/audit.log audit_log_format rawaudit_rotate_size 10485760 audit_rotate_count 7 保存并退出编辑器后,重启Auditd服务以应用更改:
sudo systemctl restart auditd 创建自定义审计规则: 创建一个新的文件 /etc/audit/rules.d/audit.rules,并添加自定义规则。例如:
-a exit,always -F arch=b32 -S execve -S execveat -k executed-process-a -a exit,always -F arch=b64 -S execve -S execveat -k executed-process-a 保存并退出编辑器后,重新加载Auditd配置以应用新的规则:
sudo auditctl -R /etc/audit/rules.d/audit.rules 监控和查看审计日志: 使用以下命令来监控和查看审计日志:
sudo ausearch -m avc -ts recent sudo ausearch -m avc -ts recent -i 5 ufw 或其他防火墙工具限制对MySQL端口的访问。通过以上步骤,您可以在Ubuntu上为MySQL设置基本的安全配置,并启用审计功能,从而有效地监控和记录数据库活动,提高数据库环境的安全防护水平。