精华内容
下载资源
问答
  • mysql安全审计,记录mysq的用户的登陆日志
    千次阅读
    2019-09-10 09:49:38

    最近做mysql的安全审计,粗略记录一下先整理资料

    开启general_log日志,默认文本记录

    show global variables like '%general%';
    set global general_log = on; 

    show global variables like '%log_output%';
     

    设置表级别存操作记录

    set global log_output = 'TABLE';
     
    use mysql;//存在mysql库
     
    show create table general_log;//建表

    SELECT * from general_log  where command_type='Connect';//过滤出登陆的日志
    flush privileges;//刷新权限才能新建用户

    create user 'test'@'localhost' identified by '123';

     

     

     

     

    更多相关内容
  • 一、说明本篇文章主要说一说MySQL数据库安全审计控制点的相关内容和理解。MySQL除了自身带有的审计功能外,还存在着一些其它的审计插件。虽然遇到这些插件的概率不高,我还是把这些插件的基本参数都列出来,到时候...

    一、说明

    本篇文章主要说一说MySQL数据库安全审计控制点的相关内容和理解。

    MySQL除了自身带有的审计功能外,还存在着一些其它的审计插件。

    虽然遇到这些插件的概率不高,我还是把这些插件的基本参数都列出来,到时候如果真遇到了,也不至于一头雾水。

    二、测评项

    a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

    b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

    c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

    d)应对审计进程进行保护,防止未经授权的中断。

    三、测评项a

    a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

    3.1. 自带的审计功能

    在MySQL中自带了审计功能——general log,它会记录所有关于mysql的sql语句(所以会给服务器和数据库带来很大的资源占用)。

    不过仅仅从测评要求的角度来说,如果开启了general log,那么是符合测评项a的。

    查询的时候,可以使用log或者general关键词,这里用的是general(不过用log要好一些):

    show global variables like '%general%'

    c4a9fab616c10a4a03500fa0208b22a4.png图中的general_log变量的值为OFF,则表示没有开启。

    general_log_file则表示日志存储在哪,图中是存储在一个文件中。

    MySQL 5.1.6版开始,可以将日志存储在表当中,这个由log_output参数进行控制,值为file,则代表存储在文件中,为table,则代表存储在gengera_log表中。

    mysql> show variables like 'log_output';

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

    | Variable_name | Value |

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

    | log_output | TABLE |

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

    mysql> select * from general_log;

    | 2018-07-17 23:00:12 | root[root] @ localhost [] | 2 | 1132333306 | Query | select * from test.student3

    也可以去看一看/etc/my.cnf文件,查看是否启用了general_log:

    [mysqld]

    general_log = on // on为开启;off为关闭

    general_log_file = /var/log/generalLog.log // 审计信息存储位置

    log_timestamps = SYSTEM // 设置日志文件的输出时间为地方时

    修改my.cnf文件和设置global变量的区别在于,设置global变量,则数据库重启后设置就失效了。

    而修改my.cnf文件,数据库每次启动后,都会先去my.cnf读取变量的值,再传给相应的global变量。

    下面其它变量也是如此。

    另外要说的一点是,变量general_log的类型是bool,可以设置的值为OFF(或者0),以及ON(或者1),所以设置为ON和1是一个意思。

    06535a018869e25e24d51f039f378db3.png

    3.2. MariaDB的Audit Plugin插件

    该插件可以用于MySQL的一些版本上,比如MySQL 5.7.18。

    该插件的相关变量为:

    SHOW GLOBAL VARIABLES LIKE 'server_audit%';

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

    | Variable_name | Value |

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

    | server_audit_events | CONNECT,QUERY,TABLE |

    | server_audit_excl_users | |

    | server_audit_file_path | server_audit.log |

    | server_audit_file_rotate_now | OFF |

    | server_audit_file_rotate_size | 1000000 |

    | server_audit_file_rotations | 9 |

    | server_audit_incl_users | |

    | server_audit_logging | ON |

    | server_audit_mode | 0 |

    | server_audit_output_type | file |

    | server_audit_query_log_limit | 1024 |

    | server_audit_syslog_facility | LOG_USER |

    | server_audit_syslog_ident | mysql-server_auditing |

    | server_audit_syslog_info | |

    | server_audit_syslog_priority | LOG_INFO |

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

    解释如下:

    server_audit_output_type:指定日志输出类型,可为SYSLOG或FILE

    server_audit_logging:启动或关闭审计

    server_audit_events:指定记录事件的类型,可以用逗号分隔的多个值(connect,query,table),如果开启了查询缓存(query cache),查询直接从查询缓存返回数据,将没有table记录

    server_audit_file_path:如server_audit_output_type为FILE,使用该变量设置存储日志的文件,可以指定目录,默认存放在数据目录的server_audit.log文件中

    server_audit_file_rotate_size:限制日志文件的大小

    server_audit_file_rotations:指定日志文件的数量,如果为0日志将从不轮转

    server_audit_file_rotate_now:强制日志文件轮转

    server_audit_incl_users:指定哪些用户的活动将记录,connect将不受此变量影响,该变量比server_audit_excl_users优先级高

    server_audit_syslog_facility:默认为LOG_USER,指定facility

    server_audit_syslog_ident:设置ident,作为每个syslog记录的一部分

    server_audit_syslog_info:指定的info字符串将添加到syslog记录

    server_audit_syslog_priority:定义记录日志的syslogd priority

    server_audit_excl_users:该列表的用户行为将不记录,connect将不受该设置影响

    server_audit_mode:标识版本,用于开发测试

    这里我们比较关注的是server_audit_logging、server_audit_events、server_audit_output_type、server_audit_file_path、server_audit_file_rotate_size、server_audit_file_rotations、server_audit_file_rotate_now。

    server_audit_logging:

    即为是否开启,bool类型,值为ON(1)以及OFF(0)。

    server_audit_events:

    记录的事件,如果为空字符串,则代表记录所有的事件。

    CONNECT:连接、断开连接和失败的连接,包括错误代码

    QUERY:以纯文本形式执行的查询及其结果,包括由于语法或权限错误而失败的查询

    TABLE:受查询执行影响的表

    QUERY_DDL:与QUERY相同,但只筛选DDL类型的查询(create、alter、drop、rename和truncate语句,create/drop[procedure/function/user]和rename user除外(它们不是DDL)

    QUERY_DML:与QUERY相同,但只筛选DML类型的查询(do、call、load data/xml、delete、insert、select、update、handler和replace语句)

    QUERY_DCL:与QUERY相同,但只筛选DCL类型的查询(create user、drop user、rename user、grant、revoke和set password语句)

    QUERY_DML_NO_SELECT:与QUERY_DML相同,但不记录SELECT查询。(从1.4.4版开始)(do、call、load data/xml、delete、insert、update、handler和replace语句)

    server_audit_file_path:

    当server_audit_output_type为file时,将路径和文件名设置为日志文件。如果指定的路径作为目录存在,那么将在该目录内创建名为“ server_audit.log”的日志。否则,该值将被视为文件名。默认值“ server_audit.log”,这意味着将在数据库目录中创建此文件。

    server_audit_file_rotate_size、server_audit_file_rotations、server_audit_file_rotate_now:

    当server_audit_output_type为file时,是否强制轮转(server_audit_file_rotate_now),每个日志文件的最大大小(server_audit_file_rotate_size),以及日志文件的最大数量(server_audit_file_rotations)。

    那么,从这个插件的功能来看,基本上默认配置就可以满足测评项的要求。

    3.3. MySQL Enterprise Audit Plugin

    MySQL 企业版的 Enterprise Edition 中自带 Audit Plugin ,名为 audit_log.so。

    对于该插件,可以在my.cnf文件中加入以下参数启用它:

    [mysqld]

    plugin-load=audit_log.so

    也可以查询插件,看到插件的状态:

    mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS

    FROM INFORMATION_SCHEMA.PLUGINS

    WHERE PLUGIN_NAME LIKE 'audit%';

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

    | PLUGIN_NAME | PLUGIN_STATUS |

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

    | audit_log | ACTIVE |

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

    该插件的相关系统变量为:

    mysql> SHOW VARIABLES LIKE 'audit_log%';

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

    | Variable_name | Value |

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

    | audit_log_buffer_size | 1048576 |

    | audit_log_connection_policy | ALL |

    | audit_log_current_session | OFF |

    | audit_log_exclude_accounts | |

    | audit_log_file | audit.log |

    | audit_log_filter_id | 0 |

    | audit_log_flush | OFF |

    | audit_log_format | NEW |

    | audit_log_include_accounts | |

    | audit_log_policy | ALL |

    | audit_log_rotate_on_size | 0 |

    | audit_log_statement_policy | ALL |

    | audit_log_strategy | ASYNCHRONOUS |

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

    audit_log_connection_policy:

    控制审核日志插件如何将连接事件写入其日志文件的策略

    e60e010cf1546b6973d05c7281436a83.png

    audit_log_exclude_accounts:

    不应记录事件的帐户,除此之外的账户的事件都会被记录。该值应为NULL或包含一个或多个用逗号分隔的帐户名列表的字符串。

    audit_log_file:

    日志记录的文件名,可以是相对路径(相对于数据库目录)和完整路径。

    audit_log_format:

    日志格式,可以是 OLD(旧样式XML), NEW(新样式XML,默认值)和(从MySQL 5.7.21开始)JSON。

    audit_log_include_accounts:

    要包括在审核日志记录中的帐户。如果设置了此变量,则仅审核这些帐户。

    注意,audit_log_exclude_accounts与audit_log_include_accounts是互斥的,它们之间只有一个的值为非null,不能同时为非null。

    audit_log_policy:

    事件记录策略

    b1ec87d965f72ccbcb8ec4ccc7637d03.png

    audit_log_rotate_on_size:

    如果 audit_log_rotate_on_size 值为0,则审核日志插件不会执行自动日志文件轮换。而是手动使用audit_log_flush刷新日志文件。在这种情况下,请在刷新文件之前在服务器外部手动重命名该文件(要不然原来的记录就没了)。

    如果该 audit_log_rotate_on_size 值大于0,则会自动进行基于大小的日志文件轮换。每当写入日志文件导致其大小超过该 audit_log_rotate_on_size 值时,审核日志插件都会关闭当前日志文件,将其重命名,然后打开一个新的日志文件。

    如果将此变量设置为不是4096的倍数的值,它将被截断为最接近的倍数。(因此,将其设置为小于4096的效果是将其设置为0且不进行旋转,除非手动进行。)

    audit_log_statement_policy:

    应该被记录的语句事件,在服务器启动的时候如果audit_log_statement_policy和audit_log_policy都显示赋予了值,那么audit_log_statement_policy可能会被audit_log_policy覆盖。

    b35fc975fdbe41251899f92d944e87b6.png

    基本上默认配置也足够满足测评项要求了。

    3.4. McAfee的libaudit_plugin

    也是一个审核插件,其相关参数如下:

    SHOW GLOBAL VARIABLES LIKE '%audi%';

    audit_json_file        #是否开启audit功能(ON\OFF)

    audit_json_log_file     #log日志名称及存储位置,默认mysql的data目录

    audit_record_cmds=''    #设置需要监控的SQL命令,默认全部(即该值为null)

    audit_record_cmds='insert,delete,update,create,drop,alter,grant,truncate' #这是一些例子

    audit_record_objs='' #设置需要监控的数据库名称和表名,默认全部(即该值为null)

    audit_record_objs=‘mysql.*’   #一个例子

    audit_whitelist_users    #用户白名单

    更多详细解释请查看官方文档: McAfee的audit

    基本上启用后就满足测评项要求了。

    四、测评项b

    b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

    只要启用了审计功能,无论是自带的审计还是插件,在记录的信息上都能满足这个要求。

    4.1. 自带的审计功能

    其记录内容如下:

    mysql> select * from general_log;

    | 2018-07-17 23:00:12 | root[root] @ localhost [] | 2 | 1132333306 | Query | select * from test.student3

    4.2. MariaDB的Audit Plugin插件

    其记录内容如下:

    a770961975e43c2c93ef83edbf8ba115.png

    4.3. MySQL Enterprise Audit Plugin

    该插件的日志文件可以是XML或者JSON格式,以XML为例:

    2019-10-03T14:09:38 UTC

    6_2019-10-03T14:06:33

    Query

    5

    0

    0

    root[root] @ localhost [127.0.0.1]

    localhost

    127.0.0.1

    drop_table

    DROP TABLE IF EXISTS t

    相似的格式介绍请查看官方文档: 审核日志文件格式

    4.4. McAfee的libaudit_plugin

    该插件日志文件的格式是json:

    {

    "msg-type": "activity",

    "date": "1510038432019",

    "thread-id": "43",

    "query-id": "1891",

    "user": "root",

    "priv_user": "root",

    "ip": "",

    "host": "localhost",

    "connect_attrs": {

    "_os": "linux-glibc2.5",

    "_client_name": "libmysql",

    "_pid": "4009",

    "_client_version": "5.7.9",

    "_platform": "x86_64",

    "program_name": "mysql"

    },

    "pid": "4009",

    "os_user": "root",

    "appname": "mysql",

    "rows": "1",

    "cmd": "insert",

    "objects": [

    {

    "db": "part",

    "name": "e",

    "obj_type": "TABLE"

    }

    ],

    "query": "insert into e values (9898,'smart','james')"

    }

    详细的格式介绍请查看官方文档: mysql-audit

    五、测评项c

    c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

    5.1. 要求1

    对审计记录进行保护,那么这里就不细说了,说一下大概的原则。

    无论是自带的审计还是审计插件,如果审核记录存储于文件中的,应该在操作系统上对这些日志文件的权限进行限定,仅允许数据库管理员可对这些文件进行访问、修改等。同时也要限制MySQL中的file_priv权限。

    如果审核记录存储于数据库表中,那么也应该对数据库的表进行权限设置,仅数据库管理员可对审核记录表进行访问、修改等。

    5.2. 要求2

    定期备份就不用多做什么说明了,检查备份文件和备份策略即可。

    在这里有一个地方想探讨下,在等级保护2.0试行稿中,对日志的留存时间有要求:

    c8b5185a414cfe22c9b5126eb7ea9508.png

    这里的法律法规要求一般来说指的就是《网络安全法》,其中有关日志留存时间的条款如下:

    (三)采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月;

    在等保正式2.0正式稿中,这个测评项被删除了,那么《网络安全法》对于日志留存时间(6个月)的要求是否落在了测评项c当中呢?

    从基本要求来看,应该不是,其中没有这个要求:

    5ac098726c3a786a2c9f3514cd4823f6.png

    当然,既然网络安全法这么规定了,等级保护肯定还是有测评项来实现该要求的,就是在安全管理中心的集中管控的测评项中:

    3f0cac2950cdf4976b939087ffa4ac59.png

    按照我的个人理解,6个月的留存时间要求,应该是在集中管控的c测评项中去落实。

    怎么测评呢?首先肯定要有相关的审计设备,也就是数据库审计以及综合日志审计设备,没有这些设备,集中管控d测评项的第一个要求就没法满足。

    然后在这些设备中,查看汇总的审计记录留存时间是否满足了法律法规的要求。

    也就是,不需要跑去单个的设备上,查看每个设备的审计记录是否满足法律法规的要求。

    否则,等级保护2.0正式稿中就不会将应确保审计记录的留存时间符合法律法规要求挪到集中管控里面去了。

    为什么说到这个呢?因为我在初级教程里看到了关于留存时间的要求:

    89683402426fe6fd6b4b1bd47e2e6bf2.png

    综上所述,我个人觉得关于日志留存时间6个月的要求,应该再集中管控的d测评项中进行统一描述,而不是在每个测评对象的安全审计的c测评项中进行描述。

    六、测评项d

    d)应对审计进程进行保护,防止未经授权的中断。

    这个就比较简单了,有两个地方可以对审计进程进行配置。

    一个是my.cnf,这里就需要操作系统上对配置文件的权限进行限制,只允许数据库管理有权限进行修改。(同时也要限制MySQL中的file_priv权限。)

    另外一个就是那些变量了,似乎是需要super权限才可以设置全局变量,那么这里的话就需要查看super权限给了哪些账户。

    *本文原创作者:起于凡而非于凡,本文属于FreeBuf原创奖励计划,未经许可禁止转载

    展开全文
  • MySQL审计工具AuditPlugin安装使用手册,方便使用MYSQL的DBA部署审计
  • MySQL安全审计-等保2.0

    2021-01-26 22:01:05
    按照三级登报2.0要求,mysql开启审计日志a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的...

    按照三级登报2.0 要求,mysql开启审计日志

    a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

    b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

    c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

    d)应对审计进程进行保护,防止未经授权的中断。

    查看审计日志,默认关闭

    e6818f63a4d05262cf6ba8fbc842082d.png

    临时打开:

    07674436de64e4982cd2c85e6a657ea1.png

    这只是临时性的开启,当数据库重新启动时general_log审计功能又会变回关闭状态,要想永久开启就必须修改配置文件“my.cnf”中的“general_log”参数为“ON”,就可以永久开启了。

    查看审计日志

    758f2b9777202155b1306d17dab8ad48.png

    2. 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

    审计记录所包含的内容都符合该测评项所要求的内容,其中包括日期和时间、用户、事件类型为“query”查询,具体语句为“select * from user”等。

    3. 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等

    e69283d33476d3bb6130228a9fb9d39b.png

    来查看审计记录的保存方式,“file”表示文件存储,“table”表示数据表存储,采用什么存储方式就需要查看对应文件的权限,只允许数据库管理员之类的人员才可以访问、修改等。

    应对审计进程进行保护,防止未经授权的中断。

    这个就比较简单了,有两个地方可以对审计进程进行配置。一个是my.cnf,这里就需要操作系统上对配置文件的权限进行限制,只允许数据库管理有权限进行修改。(同时也要限制MySQL中的file_priv权限。)另外一个就是那些变量了,似乎是需要super权限才可以设置全局变量,那么这里的话就需要查看super权限给了哪些账户。

    参考:

    https://www.toutiao.com/i6895602393728156173/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1606268078&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=2020112509343801002607708834590078&group_id=6895602393728156173

    展开全文
  • 实验六:基于mysql8实现数据库安全审计、容灾备份、数据恢复实验 环境准备: Linux操作系统:ubuntu或centos 数据库版本:mysql 8.0或以上版本 1、 数据库主从配置 2、 数据库备份 3、 数据库恢复 4、 数据库安全...

    0x00 信息系统安全实验报告

    实验六:基于mysql8实现数据库安全审计、容灾备份、数据恢复实验

    环境准备:

    Linux操作系统:ubuntu或centos
    数据库版本:mysql 8.0或以上版本

    1、 数据库主从配置
    2、 数据库备份
    3、 数据库恢复
    4、 数据库安全策略设置
    5、 数据库安全审计
    6、 数据库安全基线检查

    0x01 环境准备

    更换国内源:

    su root # 切换至root用户
    cp /etc/apt/sources.list /etc/apt/sources.list.bak # 备份源文件
    vim /etc/apt/sources.list # 更改源文件
    Esc # vim命令行模式
    ggdG # 删除原内容
    # copy以下内容
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse
    :wq # 保存并退出
    

    在这里插入图片描述

    sudo apt update # 刷新软件源信息
    

    在这里插入图片描述

    su root # 切换至root用户
    apt install mysql -server # 下载并安装mysql服务
    service mysql start # 启动服务
    mysql # 进入mysql
    exit # 离开mysql
    

    在这里插入图片描述
    在这里插入图片描述

    0x02 主从配置

    MySQL数据库进行主从配置后,可以实现数据库的备份。同时应用也可以实现读写分离,提高应用的并发量。
    在这里插入图片描述
    https://www.cnblogs.com/atcloud/p/10773855.html

    vim /etc/mysql/mysql.conf.d/mysqld.cnf # 更改配置文件[mysqld]下加入
    server-id=1
    log-bin=master-bin
    :wq # 保存并退出
    service mysql restart # 配置完成后重启服务
    

    在这里插入图片描述
    创建用于从服务器同步数据使用的帐号:

    mysql # 进入mysql
    GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave'; 
    FLUSH PRIVILEGES; # 刷新授权表信息
    

    获取主节点当前binary log文件名和位置position:

    SHOW MASTER STATUS;
    

    在这里插入图片描述
    在从slave节点上设置主节点参数:

    CHANGE MASTER TO MASTER_HOST='localhost',MASTER_USER='slave',MASTER_PASSWORD='slave',
    MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS=154;
    

    在这里插入图片描述

    0x03 容灾备份

    mysql # 进入mysql
    show databses;
    exit # 离开mysql 
    mysqldump -u root -p mysql > /home/i0clay/桌面/mysql.bak.sql
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    0x04 数据恢复

    mysql # 进入mysql
    drop database mysql;
    show databses;
    create database mysql;
    mysql -u root -p mysql < /home/i0clay/桌面/mysql.bak.sql
    use mysql;
    show tables;
    

    在这里插入图片描述
    在这里插入图片描述

    0x05 安全策略

    5.7版本已经不再使用password来作为密码的字段,而改成了authentication_string。

    mysql # 进入mysql
    use mysql;
    update user set authentication_string='' where user='root'; # 置空
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; # 更改
    flush privileges; # 刷新
    

    实际环境中需要将密码设置为强口令。

    set authentication_string for root@localhost = password('iO@c1ay');
    
    mysql -u root -p # 使用root账号进入mysql
    iO@c1ay # root账号的密码
    
    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    在[mysqld]下
    bind-address=127.0.0.1 # 禁止远程连接,仅监听本地
    port=3456 # 更改mysql服务端口
    :wq
    service mysql restart # 重启mysql服务
    

    在这里插入图片描述
    查看并修改用户权限:

    show grants for root@localhost;
    

    在这里插入图片描述
    授权用户权限:grant 权限 on 权限范围 to 用户;

    回收权限:revoke 权限 on 范围 from 用户;

    0x06 安全审计

    show global variables like "%general%";
    set global general_log="on";
    

    在这里插入图片描述

    0x07 安全基线

    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    [mysqld]
    local-infile=0 # 禁用local-infile选项
    log-error=/ # 确保配置了log-error
    # skip_grant_tables # 该选项会跳过mysql的权限验证,故将其注释
    :wq
    service mysql restart # 重启mysql服务
    
    展开全文
  • 说明由于MySQL社区版没有自带的审计功能或插件,对于等级保护当中对数据库管理的要求的就存在一定的不满足情况的,抛开条条框框不说数据库的日志是值得研究的,通过收集数据库的日志到企业SOC平台便于安全事件的溯源...
  • MySQL数据库启用安全审计功能

    千次阅读 2019-12-10 21:17:17
    它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。数据库审计可以记录某用户在某个时间点对数据库的操作,包括...
  • 问题: ... 主要内容: 数据库审计主要用于监视并记录对数据库服务器的各类操作...审计是一项非常重要的工作,也是企业数据安全体系的重要组成部分。 MySQL企业版自带审计功能,但是需要付费。MySQL社区版没有审...
  • 一、数据库主从配置 原理: (1)master将数据改变记录到二进制日志中,也就是配置文件log-bin指定的文件 (2)Slave通过I/O线程读取master中...登录MySQL数据库:mysql -uroot -p Ubuntu IP:192.168.0.129 1、修改mas
  • a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计 1. show variables like 'log_%'; 查看二进制日志、慢查询日志、错误日志、操作日志是否开启 2. show global variables like '...
  • MySql开启安全审计(audit审计插件)

    千次阅读 2018-12-16 11:42:31
    文章目录MySql开启安全审计(audit审计插件) MySql开启安全审计(audit审计插件) 为了安全和操作的可追溯性考虑,越来越多的公司加入了审计功能。MySql5.5推出了相关的审计功能,到5.6.20功能进一步完善。下面来...
  • mysql审计插件(运维不在背锅)-附件资源
  • 审计是一项非常重要的工作,也是企业数据安全体系的重要组成部分,虽然Mysql企业版自带审计功能,但是需要付费,而Mysql社区版没有审计功能,本文主要介绍简单易用审计方法 Binlog + init_connect Binlog 是指打开...
  • 1、常规安全 在说审计之前我们先提一点一般我们常用...MySQL安全审计,对于小公司来说既没有数据库中间件平台,也没有SQL审计平台,那么如果做一个简单高性能的数据库审计呢?今日浏览global属性时发现 init_connect...
  • mysql-审计功能

    2021-11-30 11:14:55
    2.找到对应的审计插件 find ./* | grep server_audit.so 二、mysql安装插件 1.将插件迁移到mysql插件目录下 # 这个插件目录要根据自己的为准 cp server_audit.so /usr/local/mysql/lib/plugin 2.更改文件属主、组 ...
  • vi /etc/my.cnf server-id=1 ...log-bin=/var/lib/mysql/mysql-binlog expire_logs_days = 7 max_binlog_size = 100m binlog_cache_size = 4m max_binlog_cache_size = 512m 重启 service mysql...
  • mysql数据库开启审计

    2021-06-02 14:40:03
    MySQL在线开启审计:set global server_audit_logging=on; MySQL在线关闭审计:set global server_audit_logging=off; MySQL查看审计是否开启:show variables like '%audit%'; ON代表开启,OFF代表没有开启. 跟踪...
  • 2.3.8 mysql安全审计

    2021-01-21 04:59:48
    6、 MySQL安全审计管理审计:记录你的操作,方便以后查证据,但是生产环境数据库本身不建议开启,影响性能,但可以使用第三方审计6.1 开源审计功能 mysql Audit Plugingmysq15.7企业版自带审计功能,需要付费社区...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,572
精华内容 6,628
关键字:

mysql安全审计

mysql 订阅