您可以在数据库服务器或应用服务器上安装Logtail和抓包工具,采集数据库的所有活动记录,实现数据库审计。本文介绍配置通用数据库审计的操作步骤。
前提条件
-
已有可用的数据库。
-
已创建Project。具体操作,请参见管理Project。
操作步骤
登录日志服务控制台。
-
在日志应用区域的审计与安全页签中,单击通用数据库审计。
-
在接入配置管理页面中,单击添加。
-
在任务配置页面中,配置如下参数,然后单击下一步。
参数
说明
任务ID
任务ID,支持自定义。默认情况下,通用数据库审计应用会自动分配一个ID。
任务名称
任务的名称。
任务描述
任务的描述。
项目Project
用于管理通用数据库审计应用相关资产的Project。
区域
目标Project所在地域。
-
在审计场景查看页面中,单击下一步。
此处仅介绍审计场景,无需配置。
-
在安装Logtail页面中,完成如下操作。
-
选择用于安装Logtail的服务器。
请根据您的审计场景,选择服务器。
-
如果是在ECS中安装Logtail,则在ECS机器页签中,选中目标ECS,单击创建。具体操作,请参见安装Logtail(ECS实例)。
-
如果是在自建服务器或其他云厂商服务器中安装Logtail,则需要登录服务器并手动安装Logtail。具体操作,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)。
-
-
安装完成后,单击确认安装完毕。
-
在选择机器区域,设置机器组信息,然后单击下一步。
日志服务支持创建IP地址机器组和用户自定义标识机器组,详细参数说明请参见创建IP地址机器组和创建用户自定义标识机器组。
完成此操作后,日志服务会自动生成Logtail配置,并下发到Logtail所在的服务器上。
-
-
根据安装抓包工具页面的提示信息安装和配置抓包工具。
抓包工具需支持Logtail的Lumberjack插件,推荐使用Packetbeat。本文以安装和配置Packetbeat为例,其他工具请参见采集Beats和Logstash数据源。
-
在安装抓包工具页面中,设置请选择抓包工具为Packetbeat。
-
在安装抓包工具页面中,选择目标数据库。
通用数据库审计应用会根据您所选择的数据库提供配置信息。后续配置packetbeat.yml文件时,需使用该信息。选择 MySQL 并配置监听端口为
3306,3307,确认sls_instance_id和sls_instance_name等参数。根据页面生成的 packetbeat.yml 配置(包含 general fields、packetbeat.protocols 及 output.logstash 部分)写入本地配置文件,然后依次执行sudo chown root packetbeat.yml和sudo ./packetbeat -e启动 Packetbeat 服务。 -
登录用于安装Packetbeat的服务器。
-
下载并安装Packetbeat。
具体操作,请参见Packetbeat。
-
进入Packetbeat安装包所在路径,然后编辑packetbeat.yml文件。
请根据您在安装抓包工具中获取的配置信息进行配置。
-
在General区域,添加如下内容。
其中gjdd62为您所创建的任务ID。
# ================================== General =================================== # The name of the shipper that publishes the network data. It can be used to group # all the transactions sent by a single shipper in the web interface. #name: # A list of tags to include in every event. In the default configuration file # the forwarded tag causes Packetbeat to not add any host fields. If you are # monitoring a network tap or mirror port then add the forwarded tag. #tags: [forwarded] # Optional fields that you can specify to add additional information to the # output. #fields: # env: staging fields: instance_id: gjdd62 -
在Transaction protocols区域的packetbeat.protocols节点下,添加如下内容。
# ========================== Transaction protocols ============================== packetbeat.protocols: - type: mysql # Configure the ports where to listen for MySQL traffic. You can disable # the MySQL protocol by commenting out the list of ports. ports: [3306,3307] fields: sls_instance_id: gjdd62-mysql sls_instance_name: gjdd62-mysql -
在Outputs区域的Logstash Output中,添加如下内容。
重要默认情况下Elasticsearch Output为开启状态,您需要将其关闭,即手动注释output.elasticsearch中的配置。
# ================================= Outputs ================================= # Configure what output to use when sending the data collected by the beat. # ---------------------------- Elasticsearch Output ---------------------------- #output.elasticsearch: # Array of hosts to connect to. #hosts: ["localhost:9200"] # Protocol - either `http` (default) or `https`. #protocol: "https" # Authentication credentials - either API key or username/password. #api_key: "id:api_key" #username: "elastic" #password: "changeme" # ------------------------------ Logstash Output ------------------------------- #output.logstash: # The Logstash hosts #hosts: ["0.0.0.0:5044"] output.logstash: hosts: ["0.0.0.0:5044"] # Optional SSL. By default is off. # List of root certificates for HTTPS server verifications #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
-
-
启动Packetbeat。
不同操作系统对应的启动方式不同,示例如下所示。更多信息,请参见start Packetbeat。
sudo chown root packetbeat.yml sudo ./packetbeat -e如果返回如下类似信息,表示启动成功。
{"log.level":"info","@timestamp":"2022-02-22T17:49:50.682+0800","log.origin":{"file.name":"instance/beat.go","file.line":679},"message":"Home path: [/root/packetbeat-8.0.0-linux-x86_64] Config path: [/root/packetbeat-8.0.0-linux-x86_64] Data path: [/root/packetbeat-8.0.0-linux-x86_64/data] Logs path: [/root/packetbeat-8.0.0-linux-x86_64/logs]","service.name":"packetbeat","ecs.version":"1.6.0"} {"log.level":"info","@timestamp":"2022-02-22T17:49:50.683+0800","log.origin":{"file.name":"instance/beat.go","file.line":687},"message":"Beat ID: f1b64ae6-d9af-408e-bc31-03f440b31fb9","service.name":"packetbeat","ecs.version":"1.6.0"}
完成上述操作后,日志服务开始采集数据库日志。
-
相关操作
您还可以在接入配置管理页签中,执行如下操作。
|
操作 |
说明 |
|
查看审计日志 |
单击目标任务对应的查看审计日志,系统将跳转至对应的LogStore中。您可以在LogStore中查看对应的原始日志,并执行查询分析操作。具体操作,请参见查询与分析快速指引。 |
|
查看报表 |
单击目标任务对应的查看报表,系统将跳转至对应的仪表盘页面,并展示各类审计指标。具体操作,请参见数据报表。 |
|
修改任务 |
单击目标任务对应的修改,可修改任务的名称、描述、对应的Project、Logtail配置等信息。 |
|
删除任务 |
如果您不再使用此任务,可单击目标任务对应的删除。 重要
删除任务后,不可恢复,请谨慎操作。 |