云服务器内容精选

  • 参数说明 字段 必选/可选 类型 描述 cookie 可选 int Cookie有效值1-65535。 requstId 必选 String 请求ID,匹配之前平台下发的服务命令。可以从接收设备命令的广播中获取requestId。 主动数据上报:requestId为NULL。 命令结果上报:当上报的数据匹配到某一次命令请求时,需要填写此次命令请求的请求ID。 deviceId 必选 String 设备ID。 serviceId 必选 String 服务ID。 serviceProperties 必选 String 服务属性。
  • 示例 用户根据Profile格式使用Json组件拼装服务属性的内容(serviceProperties)。 1 DataTransService.dataReport(1211, NULL, "xxxx_xxxx_xxxx_xxxx", "DoorWindow", “{\“status\”:\“OPEN\”}”); 数据上报结果接收: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //开发者注册广播接收器对设备服务数据上报结果进行相应的的处理 BroadcastReceiver mReportDataRsp; mReportDataRsp = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //Do Something IotaMessage iotaMsg = (IotaMessage)intent.getSerializableExtra(DataTransService. DATATRANS_BROADCAST_IE_IOTAMSG); int cookie = iotaMsg.getUint(DataTransService.DATATRANS_IE_COOKIE, 0); int ret = iotaMsg.getUint(DataTransService.DATATRANS_IE_RESULT, 0); return; } }; mLocalBroadcastManager = LocalBroadcastManager.getInstance(this); IntentFilter filterReportData = new IntentFilter(DataTransService.TOPIC_DATA_REPORT_RSP); mLocalBroadcastManager.registerReceiver(mReportDataRsp, filterReportData);
  • 返回结果 广播名称 广播参数 成员 描述 TOPIC_DATA_REPORT_RSP IotaMessage (使用intent.getSerializableExtra(DataTransService.DATATRANS_BROADCAST_IE_IOTAMSG)方法获取) DATATRANS_IE_RESULT 数据上报结果。 DATATRANS_IE_COOKIE Cookie有效值为1-65535。
  • 示例 开发者需要实现Agent Lite提供的观察者接口。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 public class AgentLiteDataTrans implements MyObserver { public AgentLiteDataTrans (Observable dataTransService) { dataTransService. registerObserver (this); } @Override public void update(IotaMessage arg0) { // TODO Auto-generated method stub System.out.println("AgentLiteDataTrans收到通知:" + arg0); int mMsgType = arg0.getMsgType(); switch(mMsgType) { //数据上报应答 case IodevService.IODEV_MSG_DATA_REPORT_RSP: getDataReportAnswer(arg0); break; //被动接收命令 case IodevService.IODEV_MSG_RECEIVE_CMD: getCmdReceive(arg0); break; //MQTT消息推送 case IodevService.IODEV_MSG_MQTT_PUB_RSP: //logoutResultAction(iotaMsg); break; default: break; } }
  • 示例 用户根据Profile格式使用Json组件拼装服务属性的内容(pcServiceProperties)。 1 2 3 HW_UINT *uiLen; IOTA_ServiceDataReport(1211, NULL, "xxxx_xxxx_xxxx_xxxx" , "DoorWindow", “{\“status\”:\“OPEN\”}”); 数据上报结果接收。 1 2 3 4 5 6 7 8 9 10 11 12 //开发者注册该函数进行设备服务数据上报后的处理 HW_iNT Device_DataReportResultHandler(HW_UiNT uiCookie, HW_MSG pstMsg) { uiResult = HW_MsgGetUint(pstMsg, EN_IOTA_DATATRANS_IE_RESULT); if (HW_SUC CES S != uiResult) { // retry with uiCookie return 0; } return 0; } //在设备添加成功后立即注册服务数据上报结果接收广播 HW_BroadCastReg(“IOTA_TOPIC_DATATRANS_REPORT_RSP/XXXX_XXXX_XXXX_XXXX”, Device_AddResultHandler);
  • 参数说明 字段 必选/可选 类型 描述 uiCookie 可选 unsign int Cookie有效值1-65535。 pcRequstId 必选 String 请求ID,用来匹配之前平台下发的服务命令。当该次数据上报为此前某一次命令请求的响应时,需要填写此次命令请求的请求ID,该参数必须带结束符‘\0’。 pcDeviceId 必选 String 设备ID,该参数必须带结束符‘\0’。 pcServiceId 必选 String 服务ID,该参数必须带结束符‘\0’。 pcServiceProperties 必选 String 服务属性,该参数必须带结束符‘\0’。
  • 操作步骤 使用具有“管理员”权限的帐号(例如,administrator)登录Windows弹性云服务器。 在浏览器地址栏输入Agent安装包地址,下载并解压缩安装包。 运行“CMD命令提示符”,找到安装包所在路径。 执行.\hostguard_setup.exe /silent命令,完成安装Agent。 安装Agent成功后,建议删除Agent的安装包。 安装成功后,需要等待5~10分钟左右Agent才会自动刷新Agent状态。
  • 约束与限制 当前章节的修复方式只支持新版本Agent,若Agent版本为老版本,建议先升级到新版本。 查看当前Agent版本的命令为: if [[ -f /usr/local/uniagent/extension/install/telescope/bin/telescope ]]; then /usr/local/uniagent/extension/install/telescope/bin/telescope -v; elif [[ -f /usr/local/telescope/bin/telescope ]]; then echo "old agent"; else echo 0; fi
  • 安装Agent 在您安装新版Agent的时候,需要您为当前安装的Agent自定义一个密码。 请您根据数据库类型以及数据库的部署环境,在相应节点上安装Agent。 将下载的Agent安装包“xxx.tar.gz”上传到待安装Agent的节点(例如使用WinSCP工具)。 使用跨平台远程访问工具(例如PuTTY)以root用户通过SSH方式,登录该节点。 执行以下命令,进入Agent安装包“xxx.tar.gz”所在目录。 cd Agent安装包所在目录 执行以下命令,解压缩“xxx.tar.gz”安装包。 tar -xvf xxx.tar.gz 执行以下命令,进入解压后的目录。 cd 解压后的目录 执行以下命令,查看是否有安装脚本“install.sh”的执行权限。 ll 如果有安装脚本的执行权限,请执行7。 如果没有安装脚本的执行权限,请执行以下操作: 执行以下命令,添加安装脚本执行权限。 chmod +x install.sh 确认有安装脚本执行权限后,请执行7。 执行以下命令,安装Agent。 sh install.sh 用户系统是Ubantu时,执行以下命令安装Agent:bash install.sh Agent程序是以DBSS普通用户运行的,在首次安装Agent时,需要创建Agent用户,执行sh install.sh命令后,需要您自行设置DBSS用户的密码。 界面回显以下信息,说明安装成功。否则,说明Agent安装失败。 1 2 3 4 5 start agent starting audit agent audit agent started start success install dbss audit agent done! 如果Agent安装失败,请您确认安装节点的运行系统是否满足Linux操作系统要求,并重新安装Agent。 执行以下命令,查看Agent程序的运行状态。 service audit_agent status 如果界面回显以下信息,说明Agent程序运行正常。 audit agent is running.
  • 常见安装场景 请您根据数据库的类型以及部署场景,在数据库端或应用端安装Agent。数据库常见的部署场景说明如下: E CS /BMS自建数据库的常见部署场景如图1和图2所示。 图1 一个应用端连接多个ECS/BMS自建数据库 图2 多个应用端连接同一个ECS/BMS自建数据库 RDS关系型数据库的常见部署场景如图3和图4所示。 图3 一个应用端连接多个RDS 图4 多个应用端连接同一个RDS 安装Agent节点的详细说明如表1所示。 当您的应用和数据库(ECS/BMS自建数据库)都部署在同一个节点上时,Agent需在数据库端安装。 表1 安装Agent场景说明 使用场景 Agent安装节点 审计功能说明 注意事项 ECS/BMS自建数据库 数据库端 可以审计所有访问该数据库的应用端的所有访问记录。 在数据库端安装Agent。 当某个应用端连接多个ECS/BMS自建数据库时,需要在所有连接该应用端的数据库端安装Agent。 RDS关系型数据库 应用端(应用端部署在云上) 可以审计该应用端与其连接的所有数据库的访问记录。 在应用端安装Agent。 当多个应用端连接同一个RDS时,所有连接该RDS的应用端都需要安装Agent。 RDS关系型数据库 代理端(应用端部署在云下) 只能审计代理端与后端数据库之间的访问记录,无法审计应用端与后端数据库的访问记录。 在代理端安装Agent。
  • 前提条件 确认实例账号具有相关权限。 请确认购买实例的账号具有“DBSS System Administrator”、“VPC Administrator”、“ECS Administrator”和“BSS Administrator”角色。 VPC Administrator:对虚拟私有云的所有执行权限。项目级角色,在同项目中勾选。 BSS Administrator:对账号中心、费用中心、资源中心中的所有菜单项执行任意操作。项目级角色,在同项目中勾选。 ECS Administrator:对弹性云服务器的所有执行权限。项目级角色,在同项目中勾选。
  • 通过Agent方式审计数据库 非表1中的数据库类型及版本,需采用安装Agent方式开启DBSS服务。 图2 快速使用数据库安全审计流程图 表3 快速使用数据库安全审计操作步骤 步骤 配置操作 说明 1 添加数据库 购买数据库安全审计后,您需要将待审计的数据库添加到数据库安全审计实例。 2 添加Agent 添加的数据库开启审计功能后,您需要为添加的数据库选择Agent的添加方式。 数据库安全审计支持对华为云上的ECS/BMS自建数据库和RDS关系型数据库进行审计,请根据您在华为云上实际部署的数据库选择Agent添加方式。 3 添加安全组规则 Agent添加完成后,您还需要为数据库安全审计实例所在的安全组添加入方向规则TCP协议(8000端口)和UDP协议(7000-7100端口),使Agent与审计实例之间的网络连通,数据库安全审计才能对添加的数据库进行审计。 4 安装Agent(Linux操作系统) 安全组规则添加完成后,您还需要下载Agent,并根据Agent的添加方式在数据库端或应用端安装Agent。 5 开启数据库安全审计 Agent安装成功后,您还需要开启数据库安全审计功能,将添加的数据库连接到数据库安全审计实例,才能使用数据库安全审计功能。 6 查看审计结果 数据库安全审计默认提供一条“全审计规则”的审计范围,可以对连接数据库安全审计实例的所有数据库进行审计。开启数据库安全审计后,您可以在数据库安全审计界面查看被添加的数据库的审计结果。 须知: 您可以根据业务需求设置数据库审计规则。有关配置审计规则的详细操作,请参见配置审计规则。
  • 背景信息 数据库安全审计支持对华为云上的ECS/BMS自建数据库和RDS关系型数据库进行审计。 数据库安全审计不支持跨区域(Region)使用。待审计的数据库必须和购买申请的数据库安全审计实例在同一区域。 数据库开启SSL时,将不能使用数据库安全审计功能。如果您需要使用数据库安全审计功能,请关闭数据库的SSL。关闭数据库SSL的详细操作,请参见如何关闭数据库SSL?。 有关审计数据的保存说明,请参见数据库安全审计的审计数据可以保存多久?。
  • 免Agent方式审计数据库 部分数据库类型及版本支持免安装Agent方式,如表1所示。 表1 支持免Agent安装的关系型数据库 数据库类型 支持的版本 MySQL 默认都支持 PostgreSQL (华为 云审计 实例:23.04.17.123301 及其之后的版本支持) 默认都支持 SQLServer 2008 2012 2014 2016 2017 GaussDB (for MySQL) Mysql8.0 DDS 4.0 DWS 1.5 8.1 GaussDB 1.3企业版 1.4企业版 2.8企业版 3.223企业版 MariaDB 10.2 免安装Agent模式配置简单、易操作,但较之安装了Agent的DBSS实例,支持的功能上存在如下差异: 统计会话数量时,无法统计成功登录、与失败登录的会话个数。 无法获取数据库访问时客户端的端口号。 由于GaussDB(DWS)服务具有日志审计开关的权限控制策略,只有华为云账号或拥有Security Administrator权限的用户才能开启或者关闭DWS数据库审计开关。 GaussDB默认不开启ddl,用户需要参照GaussDB用户手册操作开启如下配置: audit_system_object = 130023423,操作请参考:GaussDB开发指南。 datastyle=ISO,YMD,保证日期格式为yyyy-MM-dd HH:mm:ss+Z。 图1 免Agent安装流程 表2 快速使用数据库安全审计操作步骤 步骤 配置操作 说明 1 添加数据库 购买数据库安全审计后,您需要将待审计的数据库添加到数据库安全审计实例。 申请数据库安全审计后,您需要将待审计的数据库添加到数据库安全审计实例。 2 开启数据库安全审计 您需要开启数据库安全审计功能,将添加的数据库连接到数据库安全审计实例,才能使用数据库安全审计功能。 3 查看审计结果 数据库安全审计默认提供一条“全审计规则”的审计范围,可以对连接数据库安全审计实例的所有数据库进行审计。开启数据库安全审计后,您可以在数据库安全审计界面查看被添加的数据库的审计结果。 须知: 您可以根据业务需求设置数据库审计规则。有关配置审计规则的详细操作,请参见配置审计规则。
  • 服务器安装Agent后会访问哪些资源? 华为云服务器在安装Agent后通常情况会访问的设备、IP、端口如表1所示。 表1 新装Agent访问情况说明 源设备 源IP 源端口 目的设备 目的IP 目的端口(监听) 协议 访问说明 备注 HSS Agent Agent管理 IP 随机 HSS服务端 HSS服务端-ip1 HSS服务端-ip2 10180 TCP HSS Agent访问HSS服务端节点,主要是获取服务器端下发的策略/配置/指令、下载Agent软件包/升级包、下载特征库、上报告警事件/资产指纹数据库/基线检查结果和在用户授权许可下上传可疑的可执行程序文件。 每个Region的HSS服务端IP地址不同,Agent通过 域名 访问,访问的域名格式为:hss-agent.{{REGION_ID}}.myhuaweicloud.com.REGION_ID,每个Region会有差异,每个Region的具体域名可以通过Agent安装指南中的安装命令看到HSS服务器域名地址。 元数据服务节点 元数据服务节点IP 80 HSS Agent获取Agent所在服务器的metadata信息,包括获取ECS的uuid、availability_zone、project_id和enterprise_project_id信息。 - 父主题: Agent相关