文档

功能和性能选项设置

更新时间:
一键部署

功能和性能参数主要集中在 /system/dps/etc/configure.ini 文件当中,可跟据自身设备的实际情况和需求进行配置,它们可能会影响到设备的 CPU、RAM、磁盘、网络消息等资源占用,请进行合理配置。

1. DPS_DATA: IoT 安全运营中心 Agent 服务程序存放数据的路径,请配置到操作系统的可读/写分区的文件夹路径下,请确保 /data 目录所在的数据磁盘分区空间至少 128MB 剩余。

2. DPS_PROFILE:IoT 安全运营中心 Agent 的分类,可配置为以下 3 类(这里使用 dps-lite 即可)

  • standard - 普通的物联网设备使用的 Agent 类型

  • server - 网关设备推荐使用的 Agent 类型

  • dps-lite - 轻量级的嵌入式物联网设备推荐使用的 Agent 类型

3. DPS_DEBUG:开启或者关闭 IoT 安全运营中心 Agent 日志,日志功能开启之后日志将保存在 $DPS_DATA/log 下。

  • 0 - 关闭日志功能

  • 1 - 开启日志功能

4. NUM_LOGS: IoT 安全运营中心 Agent 服务日志最大保存天数,仅保存最近 $NUM_LOGS 天的日志文件。

5. LOG_FILE_SIZE:单个日志文件最大大小,单位为 KB。

6. TRAFFIC_MONITOR:用于配置要进行流量审计的网络接口名称,一般在 3G/4G/5G 这样的移动设备上,建议配置使用计费运营商网络的网络接口,而并非 WiFi,ETH 等不计费的网络接口,有助于帮助监控运营商网络流量,并在流量异常时进行告警,一方面可以避免流量资费不够,另一方面异常流量可帮助判断设备是否被非法入侵。例如一般手机设备上,移动网络接口为 rmnet_data0 等。可在 adb shell 当中使用命令 ip a 命令进行观测。

7. MANAGED_VERSION:表示厂商固件版本号信息。格式为一段描述文本,按照不同情况,配置方法有以下 3 种:

  • 如果将固件版本号直接描述在 configure.ini 当中,那么 MANAGED_VERSION 的值即为固件版本号的文本。

例如:MANAGED_VERSION=V1.0.0

  • 如果设备厂商始终使用本地文件系统来追溯固件版本,这段文本是一个标准 URI,它的格式为:

file://<file_path>?pattern=<pattern_string>。

例如:MANAGED_VERSION=file:///etc/version.txt?pattern=.%2b

其中 file:// 后面紧接着固件版本号所寄存的文件绝对路径,为标准 Unix 文件路径格式

URI 的 query 部分(“?”符号后面的部分),query 字段只有一个,query key 为固定的“pattern=”,其值为固件版本号寄存文件内容当中进行正则匹配的正则表达式。

**请注意在 URI 字符串当中填写非字母和非数字 ASCII 符号时需要做 URI encode,详细的 encode 表请参考下表:https://www.tutorialspoint.com/html/html_url_encoding.htm

  • 在 Android 系统当中,如果需要使用 property 来获取版本号,这段文本是一个标准 URI,它的格式为:

property://<property_name>,其中 <property_name> 表示 Android 系统当中存放固件版本号的属性名称。

例如:MANAGED_VERSION=property://ro.build.id

8. MANAGED_ID:表示该设备在厂商自有设备管理系统中的唯一标识号。格式为一段描述文本,按照不同情况,配置方法有以下 3 种:

  • 如果将设备管理 ID 直接描述在 configure.ini 当中,那么 MANAGED_ID 的值即为设备管理 ID 的文本。

例如:MANAGED_ID=serial_0123456789

  • 如果设备厂商始终使用本地文件系统来追溯固件版本,这段文本是一个标准 URI,它的格式为:

file://<file_path>?pattern=<pattern_string>。

例如:MANAGED_ID=file:///etc/managed_id.txt?pattern=.%2b

其中 file:// 后面紧接着设备管理 ID 所寄存的文件绝对路径,为标准 Unix 文件路径格式

URI 的 query 部分(“?”符号后面的部分),query 字段只有一个,query key 为固定的“pattern=”,其值为设备管理 ID 寄存文件内容当中进行正则匹配的正则表达式。

  • 在 Android 系统当中,使用 property 来获取设备管理 ID ,此文本是一个标准的 URI,它的格式为:

property://<property_name>,其中 <property_name> 表示 Android 系统当中存放设备管理 ID 的属性名称。

例如:MANAGED_ID=property://ro.product.vendor.device

  • 对于可通过命令行返回结果获取厂商硬件 ID 的场景,它的格式为:

cmdline://<cmdline_full_path>?pattern=<pattern_string>

例如 MANAGED_ID=cmdline:///bin/bash%20-C%20/usr/local/bin/get_sn.sh?pattern=.%2b

9. MANAGED_NAME:标识一类设备的虚拟设备类名。

10. 一个完整示例

[system]
DPS_DATA=/data/dps
DPS_PROFILE=standard
DPS_DEBUG=1
NUM_LOGS=3
LOG_FILE_SIZE=10240
KERNEL_AUDIT=1

[attestation]
TRAFFIC_MINITOR=

[report]
REPORT_EVENTS=1
REPORT_FILE_INTEGRITY=0
REPORT_PROCESS_BEHAVIOR=0
REPORT_NETWORK_INTERNET=0
REPORT_NETWORK_INTRANET=0
REPORT_NETWORK_MULTICAST=0

REPORT_EVENT_INTERVAL=30
REPORT_EVENT_PER_INTERVAL=30

[device]
MANAGED_VERSION=
MANAGED_ID=

通过 configure.ini 的 MANAGED_VERSION  和 MANAGED_ID 分别配置 managed_version 和 managed_id文件,需要注意权限设置,才能确保保护功能正常运作。

文件说明

权限

用户

managed version 文件

644

root

root

managed ID 文件

644

root

root

当前版本号以及设备管理 ID 字符串限制最长 128 字节。

后续步骤:功能和性能评估

  • 本页导读 (0)