本文介绍了您在使用C100系列数据库审计服务时可能遇到的问题和解决方案,帮助您更好地理解和使用产品。
Agent相关问题
数据库审计实例配置相关问题
SLS日志存储相关问题
ECS通过云助手安装的Agent,Agent安装目录是什么?
Linux:/data/dbAuditAgent
。
Windows:C:\dbagent\dbagent2.*
。
安装了云助手的ECS才可以一键安装Agent,Agent安装后会自动启动。
ECS通过云助手安装的Agent,Agent的日志目录是什么?
Linux
日志文件:目录下会存在以日期命名的
log
文件。
Windows
日志目录:
C:\dbagent\dbagent2.*
。日志文件:目录下会存在以日期命名的
log
文件。
安装Agent时,系统提示丢失wpcap.dll,该怎么办?
在Windows系统安装Agent时提示无法启动此程序,因为计算机中丢失wpcap.dll,是因为您的系统未安装WinPcap。
您参考以下步骤安装WinPcap,即可解决该问题:
是否支持在容器运行的环境中安装Agent?
支持。
一般将Agent安装在Docker容器所在的宿主服务器上,即可采集到所有容器内的流量。如果您的容器部署在Kubernetes集群中,每启动一个新的镜像节点都需要在新的节点宿主机上安装Agent,支持通过云助手快速安装Agent。更多信息请参见安装Agent。
特别情况下,如果您需要将Agent安装在容器内,请参见手动安装Agent。
如何卸载Agent程序?
卸载通过云助手安装的Agent
在Agent管理页面的Agent管理页签中,选中需要卸载的Agent实例,单击列表下方的卸载,即可卸载Agent。
卸载完成后,建议您删除对应Agent。在Agent列表中,单击已卸载的Agent实例操作列的更多下拉菜单中的删除。
卸载手动安装的Agent
Linux服务器
使用root用户登录Linux服务器。
进入Agent安装目录
/data/dbAuditAgent/dbagent2.*
,可以使用ps -ef |grep dbagent
命令查看agent安装目录 。执行
./uninstall.sh
命令卸载Agent服务,再删除Agent安装目录。重要请卸载完成后再删除Agent安装目录,否则后续安装可能会报错。
Windows服务器
进入
C:\dbagent\dbagent2.*
文件夹,以管理员身份运行unins000.exe
,即可完成卸载。
Agent包含什么进程?
Agent包含两个进程:dbAgent.exe
和dbMonitor.exe
。其中:
dbAgent负责流量转发。Windows系统可以使用
netstat -ano |findstr 13001
,Linux系统可以使用netstat -ano |grep 13001
命令查看连接情况。dbMonitor负责控制服务,包含接收数据库审计下发的资产和其他配置,以及控制dbAgent的运行。Windows系统可以使用
netstat -ano |findstr 13002
,Linux系统可以使用netstat -ano |grep 13002
命令查看连接情况。
使用数据库审计时,我可以为RAM用户授予哪些权限?
目前数据库审计支持对RAM用户授予以下权限:
AliyunYundunDbAuditFullAccess:授予RAM用户管理云盾数据库审计(DbAudit)的权限(即读写权限)。具体操作,请参见为RAM用户授权。
AliyunYundunDbAuditReadOnlyAccess:授予RAM用户只读访问云盾数据库审计(DbAudit)的权限。具体操作,请参见为RAM用户授权。
RAM用户授权覆盖的范围是针对整个数据库审计服务的读写行为进行授权,暂不支持对已经配置到数据库审计服务中的单个数据库(包括RDS数据库和自建ECS数据库)添加RAM用户授权。单个数据库是否为RAM用户授权,不影响该RAM用户使用数据库审计服务。
如何选择数据库审计版本?
数据库审计服务按照能够接入审计的数据库的数量(1IP+1Port=1实例数量)划分不同的版本。在购买时,您需要根据计划接入审计的数据库的数量选择合适的版本。例如,若需要审计一个MongoDB和一个MySQL数据库,则选择专业版3实例版本即可。
在选择数据库审计的版本时,不需要考虑数据库类型。
已经购买数据库审计服务后,如何配置?
购买数据库审计实例后,您可以通过以下操作配置数据库审计服务:
如果您想配置审计规则和告警通知,更多信息,请参见C100快速入门。
如何将跨地域、跨VPC或跨账号的服务器接入数据库审计系统?
您需要连通RDS或ECS实例与数据库审计系统之间的网络,即可将不同地域、不同VPC网络、不同账号中的服务器接入数据库审计系统进行审计。
示例一,您在一个阿里云账号下有10多台服务器,分别在华北1(青岛)、华北2(北京)、华北3(张家口)三个不同地域。您只需连通每台服务器与数据库审计系统之间的网络,就可以使用一个数据库审计实例对这些服务器中的数据库进行审计。
示例二,您在一个阿里云账号下有13台ECS,其中9台使用经典网络,4台使用专有网络VPC。您只需连通每台服务器与数据库审计系统之间的网络,就可以使用一个数据库审计实例对这些服务器中的数据库进行审计。
如果服务器与数据库审计系统之间的网络无法连通,则一个数据库审计实例只能对一台服务器中的数据库进行审计。
示例三,您在阿里云账号A下有5台服务器,阿里云账号B下也有5台服务器。您只需连通每台服务器与数据库审计系统之间的网络,就可以使用一个数据库审计实例对这些服务器中的数据库进行审计。
Windows系统本地流量审计如何配置?
Windows版本Agent默认安装的流量转发工具是Winpcap,如果现场业务流量含有本地流量,需要替换为Npcap插件,具体操作步骤如下:
登录Agent所在的服务器后台,在控制面板,先卸载掉Agent,再卸载掉WinPcap。
在Agent管理页面的Agent安装页签中下载Windows64位agent安装包,并在对应的Windows服务器上解压。
进入解压文件夹执行
dbAgent-setup.exe
文件安装Agent,期间勾选Npcap
插件安装。
本地访问数据库IP为‘127.0.0.1’的流量审计如何配置?
业务场景:客户端应用和数据库部署在同一服务器上;运维人员在数据库服务器上直接访问数据库。
Agent配置具体操作步骤如下:
确保在数据库审计系统的资产管理中已配置数据库资产。
确保数据库服务器上已安装部署Agent,且运行状态正常。Windows系统安装Agent请参见本文的Windows系统本地流量审计如何配置?。
在Agent服务器后台查看当前数据库连接建立情况,命令如下,其中数据库端口对应的IP是目前有连接的数据库IP。
Linux系统:
netstat -ano |grep 数据库端口号
Windows系统:
netstat -ano |findstr 数据库端口号
如果查看服务器上连接的数据库IP是
127.0.0.1
,需要给Agent配置回环网口替换IP(v4)
,请参考步骤5
进入C100数据库审计系统,打开
页面,选择对应Agent操作下的配置按钮,进入 配置页面,在回环网口替换IP(v4)项填写数审上资产所配置的数据库IP。
如何测试数据库审计网络连通性?
您需要参考以下步骤验证。
登录ECS服务器。
使用
ping
命令检查与数据库审计实例的域名是否连通。使用
telnet
命令检查与数据库审计实例域名地址的13001和13002端口是否连通。
如果以上步骤都连通,说明Agent和数据库审计服务网络连通。
无法打开云盾·数据库审计系统,怎么办?
云盾·数据库审计系统需要使用HTTPS访问,所以需要审计ECS所在的安全组打开443端口以便访问。
数据库审计服务未审计到数据,如何排查?
参见本文的已经购买数据库审计服务后,如何配置?配置完数据库审计服务后,您可以通过查看
中审计到的语句,验证配置是否正确。如果最近5分钟审计到的语句数为0,即5分钟之内审计设备没有解析到执行数据库资产的语句,您可以通过以下步骤排查:
登录云盾数据库审计控制台,查看该数据库审计实例。
访问C100页面,查看本实例的存储信息,检查存储空间是否已经用完。
如果存储空间已经用完,建议您扩容存储空间,具体操作,请参见相关文档配置数据库审计实例。或者将现有审计记录通过控制台的OSS备份备份,备份结束后清空存储。
说明日志服务的存储一般会延时1小时~2小时。
如果您账号下有其他日志服务实例发生了欠费,会导致数据库审计实例的数据无法正常写入。
如果存储空间还未用完,请执行下一步骤。
登录数据库审计系统(具体操作,请参见登录数据库审计系统)。在 页面,查看Agent状态。
如果Agent状态存在异常,请检查Agent服务器和数据库审计系统的网络连通性,请参见本文的如何测试数据库审计网络连通性?。
如果Agent状态正常,请执行下一步骤。
在Agent服务器后台查看当前数据库连接建立情况。
Linux系统:
netstat -ano |grep 数据库端口号
Windows系统:
netstat -ano |findstr 数据库端口号
正常有连接建立,监听状态应该为
ESTABLISHED
,其中数据库端口对应的IP是目前有连接的数据库IP,确保该IP和数据库审计系统上配置的资产IP(或IP对应的域名)一致。如果该Agent服务器上没有数据库连接,请确保Agent安装在有数据库业务的服务器上,请参见安装Agent,使用云助手安装Agent。
如果有数据库连接且数据库审计系统上资产配置的数据库IP正确,请执行下一步骤。
通过抓包查看数据库流量是否加密。
通过Agent日志排查问题。
通过云助手安装的Agent的日志目录为/data/dbAuditAgent/log,目录下保存以日期命名的log文件。
如果您的问题仍未解决,请加入钉群(钉群号:44518739),联系产品技术专家进行咨询。
审计结果中出现未知用户是什么情况?
可能原因:
在刚启用审计时,如果存在未断开的会话,那么审计到的都是未知用户。过一段时间再审计时,审计到的SQL语句中就会出现用户信息。
如果您需要马上就有用户信息,请让应用和数据库先断开连接,然后重新连接即可。
通过客户端应用程序(SqlDbx等)访问SQL Server数据库场景下,由于数据传输使用的是TDS应用程序协议,在输入数据库用户进行身份验证时,是通过SSL强加密传输的,因此会出现无法审计到数据库账号信息的情况。
如果您需要审计到用户信息,建议不通过客户端应用程序(SqlDbx等)访问SQL Server数据库。
数据库流量TLS/SSL加密如何配置审计?
当抓包查看到数据库流量TLS/SSL加密时,请参见支持加密审计的数据库类型,确认加密数据库是否支持配置审计。
支持加密审计的数据库资产可以通过导入私钥来进行审计。
不支持加密审计的数据库资产需要关闭数据库SSL加密配置,或在应用服务器的应用配置文件中配置取消SSL加密参数。
sqlserver:jdbc:sqlserver://your_server_address:1433;databaseName=your_database;user=your_username;passwd=your_password;encrypt=false
mysql:jdbc:mysql://hostname:port/databaseName?useSSL=false
存储空间占满后如何处理?
数据库审计的审计记录存储在阿里云日志服务SLS(Log Service)中,存储时长可设置为30天~185天。日志服务依据存储时间自动清理过期审计记录。存储空间占满后,新的审计数据无法入库,您可以参考以下两种处理方案:
扩容存储空间
登录云盾数据库审计控制台。
在左侧导航栏,单击C100实例。
定位到需要进行存储空间扩容的实例,单击存储信息模块下的扩容。
在变配页面选择扩容空间的大小,可扩容空间为1 TB~200 TB。
单击立即购买并完成支付。
OSS投递
日志服务支持将Logstore中的数据自动归档到对象存储服务OSS(Object Storage Service),可以发挥日志更多的效用。OSS数据支持自由设置生命周期,可以长时间存储日志。
前提条件
登录云盾数据库审计控制台。
在左侧导航栏,单击C100实例。
定位到需要进行存储空间扩容的实例,单击存储信息区域下的配置。
在存储管理对话框,单击OSS备份。
在OSS投递管理页面进行日志服务的OSS投递,更多信息,请参见创建OSS投递任务(旧版)。
日志服务Project和OSS的Bucket必须位于相同地域,不支持跨地域投递数据。
投递后并被清理的数据为备份数据,无法通过数据库审计直接查看。如果您需要查看已备份数据,可以将OSS中的数据导入日志分析服务,导入完成后,可查看已备份数据。导入备份数据的详细指导请参见导入OSS数据。
数据库审计的审计日志、会话日志如何在日志服务SLS中查看?
数据库审计的审计日志、会话日志存储在阿里云日志服务SLS(Log Service)中,在数据库审计系统查看到的审计日志、会话日志来源是SLS日志服务存储的数据。
您可以在日志服务控制台查看和下载数据库审计服务创建的Project和Logstore中记录的日志数据。
审计日志
Logstore名称:dbaudit-audit-*,其中*代表用户数据库审计实例ID。
关于审计日志字段含义的详细说明,请参见日志字段说明。
会话日志
logstore名称:dbaudit-session-*,其中*代表用户数据库审计实例ID。
关于会话日志字段含义的详细说明,请参见日志字段说明。