文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CentOS 7.2系统mysql-5.7.17审计插件的操作

2024-04-02 19:55

关注

下文给大家带来关于CentOS 7.2系统mysql-5.7.17审计插件的操作,感兴趣的话就一起来看看这篇文章吧,相信看完CentOS 7.2系统mysql-5.7.17审计插件的操作对大家多少有点帮助吧。

1.我们就以mysql-5.7.17为例,安插第三方的插件来进行审计。通过多方了解,知道MySQL AUDIT Plugin是一个 MySQL安全审计插件,由McAfee提供,设计强调安全性和审计能力。可用作独立审计解决方案,或配置为数据传送给外部监测工具。

audit下载地址:

https://bintray.com/mcafee/mysql-audit-plugin/release


2.准备安装audit插件

[root@~]unzip audit-plugin-mysql-5.7-1.1.2-694-linux-x86_64.zip 

    Archive:  audit-plugin-mysql-5.7-1.1.2-694-linux-x86_64.zip

   creating: audit-plugin-mysql-5.7-1.1.2-694/

   creating: audit-plugin-mysql-5.7-1.1.2-694/lib/

  inflating: audit-plugin-mysql-5.7-1.1.2-694/lib/libaudit_plugin.so  

  inflating: audit-plugin-mysql-5.7-1.1.2-694/COPYING  

  inflating: audit-plugin-mysql-5.7-1.1.2-694/THIRDPARTY.txt  

  inflating: audit-plugin-mysql-5.7-1.1.2-694/README.txt  

   creating: audit-plugin-mysql-5.7-1.1.2-694/utils/

  inflating: audit-plugin-mysql-5.7-1.1.2-694/utils/offset-extract.sh 


3.查看mysql为安插audit插件的路径

mysql > show global variables like 'plugin_dir';

+---------------+--------------------------+

| Variable_name | Value |

+---------------+--------------------------+

| plugin_dir    |/data0/mysql/lib/plugin/ |

+---------------+--------------------------+

1 row in set (0.00 sec)


4.将需要安装的插件复制到上述指定路径,并赋予可执行权限即可

[root@~]cd audit-plugin-mysql-5.7-1.1.2-694/lib

[root@lib]cp libaudit_plugin.so  /data0/mysql/lib/plugin/  

[root@~]cd /data0/mysql/lib/plugin/ 

[root@plugin]chmod a+x libaudit_plugin.so


5.有了4的步骤以后,便可以在数据库上加载审计插件

mysql> install plugin audit soname 'libaudit_plugin.so';

Query OK, 0 rows affected (1.78 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)


6.加载插件完毕后,查看审计插件是否已经插入到了数据库内,并查看相关插件版本

mysql> show global status like '%audit%';

+------------------------+-----------+

| Variable_name          | Value  |

+------------------------+-----------+

| Audit_protocol_version | 1.0 |

| Audit_version          | 1.1.2-694 |

+------------------------+-----------+

2 rows in set (0.00 sec)


7.开启数据库的审计功能

mysql> set global audit_json_file=on;

Query OK, 0 rows affected (0.00 sec)


8.查看数据库跟审计有关的相关信息

mysql> show global variables like '%audit%';

+---------------------------------+------------+

| Variable_name                   | Value  |

+-----------------------------------------------+

| audit_before_after              | after  |

| audit_checksum                  |          |

| audit_client_capabilities       | OFF  |

| audit_delay_cmds                |          |

| audit_delay_ms                  | 0        |

| audit_force_record_logins       | OFF |

| audit_header_msg                | ON   |

| audit_json_file                 | ON    |

| audit_json_file_bufsize         | 1     |

| audit_json_file_flush           | OFF    |

| audit_json_file_retry           | 60     |

| audit_json_file_sync            | 0     |

| audit_json_log_file             | mysql-audit.json   |

| audit_json_socket               | OFF  |

| audit_json_socket_name          | /var/run/db-audit/mysql.audit__data0_mysql-data_3306 |

| audit_json_socket_retry         | 10 |

| audit_offsets                   |      |

| audit_offsets_by_version        | ON   |

| audit_password_masking_cmds     | CREATE_USER,GRANT,SET_OPTION,SLAVE_START,CREATE_SERVER,ALTER_SERVER,CHANGE_MASTER,UPDATE    |

| audit_password_masking_regex    | identified(?:/\*.*?\*/|\s)*?by(?:/\*.*?\*/|\s)*?(?:password)?(?:/\*.*?\*/|\s)*?['|"](?<psw>.*?)(?<!\\)['|"]|password(?:/\*.*?\*/|\s)*?\((?:/\*.*?\*/|\s)*?['|"](?<psw>.*?)(?<!\\)['|"](?:/\*.*?\*/|\s)*?\)|password(?:/\*.*?\*/|\s)*?(?:for(?:/\*.*?\*/|\s)*?\S+?)?(?:/\*.*?\*/|\s)*?=(?:/\*.*?\*/|\s)*?['|"](?<psw>.*?)(?<!\\)['|"]|password(?:/\*.*?\*/|\s)*?['|"](?<psw>.*?)(?<!\\)['|"] |

| audit_record_cmds               |        |

| audit_record_objs               |          |

| audit_sess_connect_attrs        | ON   |

| audit_socket_creds              | ON    |

| audit_uninstall_plugin          | OFF   |

| audit_validate_checksum         | ON    |

| audit_validate_offsets_extended | ON    |

| audit_whitelist_cmds            | BEGIN,COMMIT,PING  |

| audit_whitelist_users           |        |

+---------------------------------+------------------------+

29 rows in set (0.00 sec)


9.可以更改你想存放日志的路径,以便日后记得在哪里查找查看日志

audit_json_log_file就是数据库中审计日志mysql-audit.json存放的路径,一般审计日志放在了数据库的数据存放的路径上。像我的mysql-audit.json就存放在/data0/mysql-data里。当然如果你要换到你指定的路径也可以,用 mysql > set global audit_json_log_file='你想放置的路径';


10.缩减日志内容

在查看已经开启的审计日志以后,你就会发现日志量太大了,只要网站有人访问,肯定都会有select的日志记录,因为在默认情况下audit_record_cmds=null,记录所有操作指令,但是我们开启审计日志的目的是为了审计,不是为了记流水账,所以只记录insert、delete、update就可以了。这样就比较符合我们的初衷,所以可以像下面那样做:

mysql > set global audit_record_cmds = 'insert,delete,update';


11.局限到你想要审计的数据库即可

在默认情况下audit_record_objs=null,即是数据库里的所有对象都列为记录对象。但为了安全起见,我都审计。当然也可以指定哪些数据库的表格需要进行审计记录,如下例设置:

mysql > set global audit_record_objs = 'mysql.*,test.*';


12.mysql审计还是有搞特殊化的,就是白名单这种东西,简言之就是可以指定谁免受审计之苦。

设定如下:

mysql > set global audit_whitelist_users = 'z';


13.查看审计日志内容

cat /data0/mysql-data/mysql-audit.json


大概通过上述步骤,审计就可以说简略的完成了。

看了以上关于CentOS 7.2系统mysql-5.7.17审计插件的操作详细内容,是否有所收获。如果想要了解更多相关,可以继续关注我们的行业资讯板块。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯