你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

OT 网络传感器的 CLI 命令参考

本文列出了 Microsoft Defender for IoT OT 网络传感器提供的 CLI 命令。

注意

客户配置仅支持 OT 网络传感器和本地管理控制台上记录的配置参数。 不要更改任何未记录的配置参数或系统属性,因为更改可能会导致意外行为和系统故障。

未经 Microsoft 批准从传感器中移除包可能会导致意外结果。 传感器上安装的所有包都是正确的传感器功能所必需的。

先决条件

在运行以下任何 CLI 命令之前,需要以特权用户身份访问 OT 网络传感器上的 CLI。

虽然本文列出了每个用户的命令语法,但建议对支持管理员用户的所有 CLI 命令使用管理员用户。

如果使用的是旧版传感器软件,则可能有权访问旧 版支持 用户。 在这种情况下,旧版支持用户支持列为管理员用户支持的任何命令。

有关详细信息,请参阅访问 CLI用于 OT 监视的特权用户访问权限

设备维护

检查 OT 监视服务运行状况

使用以下命令验证 OT 传感器上的 Defender for IoT 应用程序(包括 Web 控制台和流量分析进程)是否正常工作。

OT 传感器控制台也提供运行状况检查。 有关详细信息,请参阅对传感器进行故障排除

用户 命令 完整命令语法
admin system sanity 无属性
具有根访问权限的 cyberx管理员 cyberx-xsense-sanity 无属性

以下示例显示了管理员用户的命令语法和响应

root@xsense: system sanity
[+] C-Cabra Engine | Running for 17:26:30.191945
[+] Cache Layer | Running for 17:26:32.352745
[+] Core API | Running for 17:26:28
[+] Health Monitor | Running for 17:26:28
[+] Horizon Agent 1 | Running for 17:26:27
[+] Horizon Parser | Running for 17:26:30.183145
[+] Network Processor | Running for 17:26:27
[+] Persistence Layer | Running for 17:26:33.577045
[+] Profiling Service | Running for 17:26:34.105745
[+] Traffic Monitor | Running for 17:26:30.345145
[+] Upload Manager Service | Running for 17:26:31.514645
[+] Watch Dog | Running for 17:26:30
[+] Web Apps | Running for 17:26:30

System is UP! (medium)

重启和关闭

重启设备

使用以下命令重启 OT 传感器设备。

用户 命令 完整命令语法
admin system reboot 无属性
具有根访问权限的 cyberx管理员 sudo reboot 无属性
cyberx_host或具有根访问权限的管理员 sudo reboot 无属性

例如,对于 管理员 用户:

root@xsense: system reboot

关闭设备

使用以下命令关闭 OT 传感器设备。

用户 命令 完整命令语法
admin system shutdown 无属性
具有根访问权限的 cyberx管理员 sudo shutdown -r now 无属性
具有根访问权限的cyberx_host管理员 sudo shutdown -r now 无属性

例如,对于 管理员 用户:

root@xsense: system shutdown

软件版本

显示安装的软件版本

使用以下命令列出 OT 传感器上安装的 Defender for IoT 软件版本。

用户 命令 完整命令语法
admin system version 无属性
具有根访问权限的 cyberx管理员 cyberx-xsense-version 无属性

例如,对于 管理员 用户:

root@xsense: system version
Version: 22.2.5.9-r-2121448

从 CLI 更新传感器软件

有关详细信息,请参阅更新传感器

日期、时间和 NTP

显示当前系统日期/时间

使用以下命令以 GMT 格式显示 OT 网络传感器上的当前系统日期和时间。

用户 命令 完整命令语法
admin date 无属性
具有根访问权限的 cyberx管理员 date 无属性
cyberx_host或具有根访问权限的管理员 date 无属性

例如,对于 管理员 用户:

root@xsense: date
Thu Sep 29 18:38:23 UTC 2022
root@xsense:

启用 NTP 时间同步

使用以下命令启用设备与 NTP 服务器的时间同步。

若要使用这些命令,请确保:

  • 可以从设备管理端口访问 NTP 服务器
  • 使用同一 NTP 服务器来同步所有传感器设备和本地管理控制台
用户 命令 完整命令语法
admin ntp enable <IP address> 无属性
具有根访问权限的 cyberx管理员 cyberx-xsense-ntp-enable <IP address> 无属性

在这些命令中,<IP address> 是使用端口 123 的有效 IPv4 NTP 服务器的 IP 地址。

例如,对于 管理员 用户:

root@xsense: ntp enable 129.6.15.28
root@xsense:

禁用 NTP 时间同步

使用以下命令禁用设备与 NTP 服务器的时间同步。

用户 命令 完整命令语法
admin ntp disable <IP address> 无属性
具有根访问权限的 cyberx管理员 cyberx-xsense-ntp-disable <IP address> 无属性

在这些命令中,<IP address> 是使用端口 123 的有效 IPv4 NTP 服务器的 IP 地址。

例如,对于 管理员 用户:

root@xsense: ntp disable 129.6.15.28
root@xsense:

备份和还原

以下部分介绍支持备份和还原 OT 网络传感器系统快照的 CLI 命令。

备份文件包含传感器状态的完整快照,包括配置设置、基线值、清单数据和日志。

注意

请不要中断系统备份或还原操作,因为这可能会导致系统不可用。

列出当前备份文件

使用以下命令列出当前存储在 OT 网络传感器上的备份文件。

用户 命令 完整命令语法
admin system backup-list 无属性
具有根访问权限的 cyberx管理员 cyberx-xsense-system-backup-list 无属性

例如,对于 管理员 用户:

root@xsense: system backup-list
backup files:
        e2e-xsense-1664469968212-backup-version-22.3.0.318-r-71e6295-2022-09-29_18:30:20.tar
        e2e-xsense-1664469968212-backup-version-22.3.0.318-r-71e6295-2022-09-29_18:29:55.tar
root@xsense:

立即开始计划外备份

使用以下命令立即开始对 OT 传感器上的数据进行计划外备份。 有关详细信息,请参阅设置备份和还原文件

注意

备份数据时,请确保不要停止或关闭设备。

用户 命令 完整命令语法
admin system backup 无属性
具有根访问权限的 cyberx管理员 cyberx-xsense-system-backup 无属性

例如,对于 管理员 用户:

root@xsense: system backup
Backing up DATA_KEY
...
...
Finished backup. Backup is stored at /var/cyberx/backups/e2e-xsense-1664469968212-backup-version-22.2.6.318-r-71e6295-2022-09-29_18:29:55.tar
Setting backup status 'SUCCESS' in redis
root@xsense:

从最新备份还原数据

使用以下命令通过最新备份文件还原 OT 网络传感器上的数据。 出现提示时,请确认要继续操作。

注意

还原数据时,请确保不要停止或关闭设备。

用户 命令 完整命令语法
admin system restore 无属性
具有根访问权限的 cyberx管理员 cyberx-xsense-system-restore -f <filename>

例如,对于 管理员 用户:

root@xsense: system restore
Waiting for redis to start...
Redis is up
Use backup file as "/var/cyberx/backups/e2e-xsense-1664469968212-backup-version-22.2.6.318-r-71e6295-2022-09-29_18:30:20.tar" ? [Y/n]: y
WARNING - the following procedure will restore data. do not stop or power off the server machine while this procedure is running. Are you sure you wish to proceed? [Y/n]: y
...
...
watchdog started
starting components
root@xsense:

显示备份磁盘空间分配

以下命令列出当前备份磁盘空间分配,包括以下详细信息:

  • 备份文件夹位置
  • 备份文件夹大小
  • 备份文件夹限制
  • 上次备份操作时间
  • 可用于备份的可用磁盘空间
用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-backup-memory-check 无属性

例如,对于 cyberx 用户:

root@xsense:/# cyberx-backup-memory-check
2.1M    /var/cyberx/backups
Backup limit is: 20Gb
root@xsense:/#

TLS/SSL 证书

将 TLS/SSL 证书导入 OT 传感器

使用以下命令从 CLI 将 TLS/SSL 证书导入传感器。

若要使用此命令:

  • 验证要导入的证书文件是否在设备上可读。 使用 WinSCP 或 Wget 等工具将证书文件上传到设备。
  • 与 IT 办公室确认证书中显示的设备域对于 DNS 服务器和相应 IP 地址是正确的。

有关详细信息,请参阅准备 CA 签名的证书为 OT 设备创建 SSL/TLS 证书

用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-xsense-certificate-import cyberx-xsense-certificate-import [-h] [--crt <PATH>] [--key <FILE NAME>] [--chain <PATH>] [--pass <PASSPHRASE>] [--passphrase-set <VALUE>]`

在此命令中:

  • -h:显示完整的命令帮助语法

  • --crt:要上传的证书文件(扩展名为 .crt)的路径

  • --key:要用于证书的 \*.key 文件。 密钥长度必须至少为 2,048 位

  • --chain:证书链文件的路径。 可选。

  • --pass:用于加密证书的通行短语。 可选。

    使用密码创建密钥或证书时支持使用以下字符:

    • ASCII 字符,包括 a-zA-Z0-9
    • 以下特殊字符:! # % ( ) + , - . / : = ? @ [ \ ] ^ _ { } ~
  • --passphrase-set:未使用,默认设置为 False。 设置为 True 会使用前一证书提供的通行短语。 可选。

例如,对于 cyberx 用户:

root@xsense:/# cyberx-xsense-certificate-import

还原默认的自签名证书

使用以下命令还原传感器设备上的默认自签名证书。 建议仅将此活动用于故障排除,而不要在生产环境中使用。

用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-xsense-create-self-signed-certificate 无属性

例如,对于 cyberx 用户:

root@xsense:/# cyberx-xsense-create-self-signed-certificate
Creating a self-signed certificate for Apache2...
random directory name for the new certificate is 348
Generating a RSA private key
................+++++
....................................+++++
writing new private key to '/var/cyberx/keys/certificates/348/apache.key'
-----
executing a query to add the certificate to db
finished
root@xsense:/#

本地用户管理

更改本地用户密码

使用以下命令更改 OT 传感器上本地用户的密码。

更改管理员、网络或cyberx_host用户的密码时,SSH 和 Web 访问的密码将更改。

用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-users-password-reset cyberx-users-password-reset -u <user> -p <password>
具有根访问权限的cyberx_host管理员 passwd 无属性

以下示例显示 cyberx 用户将管理员用户的密码重置jI8iD9kE6hB8qN0h

root@xsense:/# cyberx-users-password-reset -u admin -p jI8iD9kE6hB8qN0h
resetting the password of OS user "admin"
Sending USER_PASSWORD request to OS manager
Open UDS connection with /var/cyberx/system/os_manager.sock
Received data: b'ack'
resetting the password of UI user "admin"
root@xsense:/#

以下示例演示 cyberx_host 用户更改 cyberx_host 用户的密码。

cyberx_host@xsense:/# passwd
Changing password for user cyberx_host.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
cyberx_host@xsense:/#

控制用户会话超时

定义用户自动退出登录 OT 传感器之前所要经过的时间。 在传感器上保存的 properties 文件中定义此值。 有关详细信息,请参阅控制用户会话超时

定义失败登录的最大次数

定义在登录失败最多几次后,OT 传感器将阻止用户从同一 IP 地址再次登录。 在传感器上保存的 properties 文件中定义此值。

有关详细信息,请参阅定义失败登录的最大次数

网络配置

网络设置

更改网络配置或重新分配网络接口角色

使用以下命令重新运行 OT 监视软件配置向导,以帮助定义或重新配置以下 OT 传感器设置:

  • 启用/禁用 SPAN 监视接口
  • 为管理接口配置网络设置(IP、子网、默认网关、DNS)
  • 分配备份目录
用户 命令 完整命令语法
具有根访问权限的cyberx_host管理员 sudo dpkg-reconfigure iot-sensor 无属性

例如,对于 cyberx_host 用户:

root@xsense:/# sudo dpkg-reconfigure iot-sensor

运行此命令后,配置向导会自动启动。 有关详细信息,请参阅安装 OT 监视软件

验证并显示网络接口配置

使用以下命令验证并显示 OT 传感器上的当前网络接口配置。

用户 命令 完整命令语法
admin network validate 无属性

例如,对于 管理员 用户:

root@xsense: network validate
Success! (Appliance configuration matches the network settings)
Current Network Settings:
interface: eth0
ip: 172.20.248.69
subnet: 255.255.192.0
default gateway: 10.1.0.1
dns: 168.63.129.16
monitor interfaces mapping: local_listener=adiot0
root@xsense:

网络连接

从 OT 传感器检查网络连接

使用以下命令从 OT 传感器发送 ping 消息。

用户 命令 完整命令语法
admin ping <IP address> 无属性
具有根访问权限的 cyberx管理员 ping <IP address> 无属性

在这些命令中,<IP address> 是可从 OT 传感器上的管理端口访问的有效 IPv4 网络主机的 IP 地址。

检查网络接口的当前负载

使用以下命令通过六秒测试显示网络流量和带宽。

用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-nload 无属性
root@xsense:/# cyberx-nload
eth0:
        Received: 66.95 KBit/s Sent: 87.94 KBit/s
        Received: 58.95 KBit/s Sent: 107.25 KBit/s
        Received: 43.67 KBit/s Sent: 107.86 KBit/s
        Received: 87.00 KBit/s Sent: 191.47 KBit/s
        Received: 79.71 KBit/s Sent: 85.45 KBit/s
        Received: 54.68 KBit/s Sent: 48.77 KBit/s
local_listener (virtual adiot0):
        Received: 0.0 Bit Sent: 0.0 Bit
        Received: 0.0 Bit Sent: 0.0 Bit
        Received: 0.0 Bit Sent: 0.0 Bit
        Received: 0.0 Bit Sent: 0.0 Bit
        Received: 0.0 Bit Sent: 0.0 Bit
        Received: 0.0 Bit Sent: 0.0 Bit
root@xsense:/#

检查 Internet 连接

使用以下命令检查设备上的 Internet 连接。

用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-xsense-internet-connectivity 无属性
root@xsense:/# cyberx-xsense-internet-connectivity
Checking internet connectivity...
The machine was successfully able to connect the internet.
root@xsense:/#

设置管理网络接口的带宽限制

使用以下命令设置从 OT 传感器的管理接口上传到 Azure 门户或本地管理控制台的出站带宽限制。

设置出站带宽限制可能有助于保持网络服务质量 (QoS)。 此命令仅在带宽受限的环境(例如通过卫星或串行链路连接的环境)中受支持。

用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-xsense-limit-interface cyberx-xsense-limit-interface [-h] --interface <INTERFACE VALUE> [--limit <LIMIT VALUE] [--clear]

在此命令中:

  • -h--help:显示命令帮助语法

  • --interface <INTERFACE VALUE>:要限制的接口,例如 eth0

  • --limit <LIMIT VALUE>:要设置的限制,例如 30kbit。 使用以下单位之一:

    • kbps:每秒千字节数
    • mbps:每秒兆字节数
    • kbit:每秒千位数
    • mbit:每秒兆位数
    • bps 或裸数字:每秒字节数
  • --clear:清除指定接口的所有设置

例如,对于 cyberx 用户:

root@xsense:/# cyberx-xsense-limit-interface -h
usage: cyberx-xsense-limit-interface [-h] --interface INTERFACE [--limit LIMIT] [--clear]

optional arguments:
  -h, --help            show this help message and exit
  --interface INTERFACE
                        interface (e.g. eth0)
  --limit LIMIT         limit value (e.g. 30kbit). kbps - Kilobytes per second, mbps - Megabytes per second, kbit -
                        Kilobits per second, mbit - Megabits per second, bps or a bare number - Bytes per second
  --clear               flag, will clear settings for the given interface
root@xsense:/#
root@xsense:/# cyberx-xsense-limit-interface --interface eth0 --limit 1000mbps
setting the bandwidth limit of interface "eth0" to 1000mbps

物理接口

通过闪烁接口指示灯查找物理端口

使用以下命令通过使接口指示灯闪烁来查找特定的物理接口。

用户 命令 完整命令语法
admin network blink <INT> 无属性

在此命令中,<INT> 是设备上的物理以太网端口。

以下示例显示 管理员 用户闪烁 eth0 界面:

root@xsense: network blink eth0
Blinking interface for 20 seconds ...

列出连接的物理接口

使用以下命令列出 OT 传感器上连接的物理接口。

用户 命令 完整命令语法
admin network list 无属性
具有根访问权限的 cyberx管理员 ifconfig 无属性

例如,对于 管理员 用户:

root@xsense: network list
adiot0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 4096
        ether be:b1:01:1f:91:88  txqueuelen 1000  (Ethernet)
        RX packets 2589575  bytes 740011013 (740.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1  bytes 90 (90.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.0.2  netmask 255.255.0.0  broadcast 172.18.255.255
        ether 02:42:ac:12:00:02  txqueuelen 0  (Ethernet)
        RX packets 22419372  bytes 5757035946 (5.7 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 23078301  bytes 2544599581 (2.5 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 837196  bytes 259542408 (259.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 837196  bytes 259542408 (259.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@xsense:

流量捕获筛选器

为了减少警报疲劳并将网络监视重点放在高优先级流量上,你可以在源上筛选流入 Defender for IoT 的流量。 使用捕获筛选器可以在硬件层阻止高带宽流量,从而优化设备性能和资源的使用。

使用包含和/或排除列表在 OT 网络传感器上创建和配置捕获筛选器,确保不会阻止任何要监视的流量。

捕获筛选器的基本用例对所有 Defender for IoT 组件使用相同的筛选器。 但是,对于高级用例,可为以下每个 Defender for IoT 组件单独配置筛选器:

  • horizon:捕获深度数据包检查 (DPI) 数据
  • collector:捕获 PCAP 数据
  • traffic-monitor:捕获通信统计信息

注意

  • 捕获筛选器不适用于 Defender for IoT 恶意软件警报,这些警报是针对检测的所有网络流量触发的。

  • 捕获筛选器命令的字符长度限制基于捕获筛选器定义的复杂性和可用的网络接口卡功能。 如果请求的筛选器命令失败,请尝试使用较短的捕获筛选器命令将子网分组到更大的范围。

为所有组件创建基本筛选器

用于配置基本捕获筛选器的方法根据执行命令的用户而异:

  • cyberx 用户:结合特定的属性运行指定的命令以配置捕获筛选器。
  • 管理员 用户:运行指定的命令,然后根据 CLI 的提示输入值,编辑 nano 编辑器中的包含和排除列表。

使用以下命令创建新的捕获筛选器:

用户 命令 完整命令语法
admin network capture-filter 无属性。
具有根访问权限的 cyberx管理员 cyberx-xsense-capture-filter cyberx-xsense-capture-filter [-h] [-i INCLUDE] [-x EXCLUDE] [-etp EXCLUDE_TCP_PORT] [-eup EXCLUDE_UDP_PORT] [-itp INCLUDE_TCP_PORT] [-iup INCLUDE_UDP_PORT] [-vlan INCLUDE_VLAN_IDS] -m MODE [-S]

cyberx 用户支持的属性定义如下:

属性 说明
-h, --help 显示帮助消息并退出。
-i <INCLUDE>, --include <INCLUDE> 包含你要包括的设备和子网掩码的文件的路径,其中 <INCLUDE> 是文件的路径。 例如,请参阅示例包含或排除文件
-x EXCLUDE, --exclude EXCLUDE 包含你要排除的设备和子网掩码的文件的路径,其中 <EXCLUDE> 是文件的路径。 例如,请参阅示例包含或排除文件
- -etp <EXCLUDE_TCP_PORT>, --exclude-tcp-port <EXCLUDE_TCP_PORT> 排除任何指定端口上的 TCP 流量,其中 <EXCLUDE_TCP_PORT> 定义你要排除的一个或多个端口。 用逗号分隔多个端口(不包含空格)。
-eup <EXCLUDE_UDP_PORT>, --exclude-udp-port <EXCLUDE_UDP_PORT> 排除任何指定端口上的 UDP 流量,其中 <EXCLUDE_UDP_PORT> 定义你要排除的一个或多个端口。 用逗号分隔多个端口(不包含空格)。
-itp <INCLUDE_TCP_PORT>, --include-tcp-port <INCLUDE_TCP_PORT> 包含任何指定端口上的 TCP 流量,其中 <INCLUDE_TCP_PORT> 定义你要包含的一个或多个端口。 用逗号分隔多个端口(不包含空格)。
-iup <INCLUDE_UDP_PORT>, --include-udp-port <INCLUDE_UDP_PORT> 包含任何指定端口上的 UDP 流量,其中 <INCLUDE_UDP_PORT> 定义你要包含的一个或多个端口。 用逗号分隔多个端口(不包含空格)。
-vlan <INCLUDE_VLAN_IDS>, --include-vlan-ids <INCLUDE_VLAN_IDS> 按照指定的 VLAN ID 包含 VLAN 流量,<INCLUDE_VLAN_IDS> 定义你要包含的 VLAN ID。 用逗号分隔多个 VLAN ID(不包含空格)。
-p <PROGRAM>, --program <PROGRAM> 定义要为其配置捕获筛选器的组件。 将 all 用于基本用例,为所有组件创建单个捕获筛选器。

对于高级用例,请为每个组件单独创建捕获筛选器。 有关详细信息,请参阅为特定组件创建高级筛选器
-m <MODE>, --mode <MODE> 定义包含列表模式;仅当使用包含列表时才相关。 使用以下值之一:

- internal:包括指定源和目标之间的所有通信
- all-connected:包括任一指定终结点与外部终结点之间的所有通信。

例如,对于终结点 A 和 B,如果使用 internal 模式,则包含的流量仅包括终结点 A 和 B 之间的通信
但是,如果使用 all-connected 模式,则包含的流量包括 A 或 B 与其他外部终结点之间的所有通信。

示例包含或排除文件

例如,包含或排除 .txt 文件可能包含以下条目:

192.168.50.10
172.20.248.1

使用管理员用户创建基本捕获筛选器

如果要创建作为管理员用户的基本捕获筛选器,则原始命令不会传递任何属性。 而是显示一系列提示,以帮助你以交互方式创建捕获筛选器。

回复如下所示的提示:

  1. Would you like to supply devices and subnet masks you wish to include in the capture filter? [Y/N]:

    选择 Y 打开一个新的 include 文件,可在其中添加要包含在受监视流量中的设备、通道和/或子网。 未在该 include 文件中列出的任何其他流量不会引入 Defender for IoT。

    Nano 文本编辑器中打开该 include 文件。 在 include 文件中,如下所示定义设备、通道和子网:

    类型 说明 示例
    设备 按设备的 IP 地址定义设备。 1.1.1.1 包含此设备的所有流量。
    Channel 按通道的源和目标设备的 IP 地址定义通道,用逗号分隔。 1.1.1.1,2.2.2.2 包含此通道的所有流量。
    子网 按子网的网络地址定义子网。 1.1.1 包含此子网的所有流量。
    子网通道 定义源和目标子网的子网通道网络地址。 1.1.1,2.2.2 包含这些子网之间的所有流量。

    在单独的行中列出多个参数。

  2. Would you like to supply devices and subnet masks you wish to exclude from the capture filter? [Y/N]:

    选择 Y 打开一个新的 exclude 文件,可在其中添加要从受监视流量中排除的设备、通道和/或子网。 未在该 exclude 文件中列出的任何其他流量将引入 Defender for IoT。

    Nano 文本编辑器中打开该 exclude 文件。 在 exclude 文件中,如下所示定义设备、通道和子网:

    类型 说明 示例
    设备 按设备的 IP 地址定义设备。 1.1.1.1 排除此设备的所有流量。
    Channel 按通道的源和目标设备的 IP 地址定义通道,用逗号分隔。 1.1.1.1,2.2.2.2 排除这些设备之间的所有流量。
    按端口列出的通道 按通道的源和目标设备的 IP 地址以及流量端口定义通道。 1.1.1.1,2.2.2.2,443 排除这些设备之间使用指定端口的所有流量。
    子网 按子网的网络地址定义子网。 1.1.1 排除此子网的所有流量。
    子网通道 定义源和目标子网的子网通道网络地址。 1.1.1,2.2.2 排除这些子网之间的所有流量。

    在单独的行中列出多个参数。

  3. 回复以下提示,以定义要包含或排除的任何 TCP 或 UDP 端口。 用逗号分隔多个端口,然后按 ENTER 跳过任何特定提示。

    • Enter tcp ports to include (delimited by comma or Enter to skip):
    • Enter udp ports to include (delimited by comma or Enter to skip):
    • Enter tcp ports to exclude (delimited by comma or Enter to skip):
    • Enter udp ports to exclude (delimited by comma or Enter to skip):
    • Enter VLAN ids to include (delimited by comma or Enter to skip):

    例如,如下所示输入多个端口:502,443

  4. In which component do you wish to apply this capture filter?

    为基本捕获筛选器输入 all。 对于高级用例,请单独为每个 Defender for IoT 组件创建捕获筛选器。

  5. Type Y for "internal" otherwise N for "all-connected" (custom operation mode enabled) [Y/N]:

    遵循此提示可以配置哪些流量在范围内。 定义是要收集两个终结点都在范围内的流量,还是只收集其中一个终结点位于指定子网中的流量。 支持的值包括:

    • internal:包括指定源和目标之间的所有通信
    • all-connected:包括任一指定终结点与外部终结点之间的所有通信。

    例如,对于终结点 A 和 B,如果使用 internal 模式,则包含的流量仅包括终结点 A 和 B 之间的通信
    但是,如果使用 all-connected 模式,则包含的流量包括 A 或 B 与其他外部终结点之间的所有通信。

    默认模式为internal。 若要使用 all-connected 模式,请在提示中选择 Y,然后输入 all-connected

以下示例显示了一系列提示,这些提示创建捕获筛选器以排除子网 192.168.x.x 和端口 9000:

root@xsense: network capture-filter
Would you like to supply devices and subnet masks you wish to include in the capture filter? [y/N]: n
Would you like to supply devices and subnet masks you wish to exclude from the capture filter? [y/N]: y
You've exited the editor. Would you like to apply your modifications? [y/N]: y
Enter tcp ports to include (delimited by comma or Enter to skip):
Enter udp ports to include (delimited by comma or Enter to skip):
Enter tcp ports to exclude (delimited by comma or Enter to skip):9000
Enter udp ports to exclude (delimited by comma or Enter to skip):9000
Enter VLAN ids to include (delimited by comma or Enter to skip):
In which component do you wish to apply this capture filter?all
Would you like to supply a custom base capture filter for the collector component? [y/N]: n
Would you like to supply a custom base capture filter for the traffic_monitor component? [y/N]: n
Would you like to supply a custom base capture filter for the horizon component? [y/N]: n
type Y for "internal" otherwise N for "all-connected" (custom operation mode enabled) [Y/n]: internal
Please respond with 'yes' or 'no' (or 'y' or 'n').
type Y for "internal" otherwise N for "all-connected" (custom operation mode enabled) [Y/n]: y
starting "/usr/local/bin/cyberx-xsense-capture-filter --exclude /var/cyberx/media/capture-filter/exclude --exclude-tcp-port 9000 --exclude-udp-port 9000 --program all --mode internal --from-shell"
No include file given
Loaded 1 unique channels
(000) ret      #262144
(000) ldh      [12]
......
......
......
debug: set new filter for horizon '(((not (net 192.168))) and (not (tcp port 9000)) and (not (udp port 9000))) or (vlan and ((not (net 192.168))) and (not (tcp port 9000)) and (not (udp port 9000)))'
root@xsense:

为特定组件创建高级筛选器

为特定组件配置高级捕获筛选器时,可以使用初始 include 和 exclude 文件作为基础或模板捕获筛选器。 然后,根据需要在基础筛选器之上为每个组件配置附加筛选器。

若要为每个组件创建捕获筛选器,请确保对每个组件重复整个过程。

注意

如果已为不同的组件创建了不同的捕获筛选器,则模式选择将用于所有组件。 不支持将一个组件的捕获筛选器定义为 internal,并将另一个组件的捕获筛选器定义为 all-connected

用户 命令 完整命令语法
admin network capture-filter 无属性。
具有根访问权限的 cyberx管理员 cyberx-xsense-capture-filter cyberx-xsense-capture-filter [-h] [-i INCLUDE] [-x EXCLUDE] [-etp EXCLUDE_TCP_PORT] [-eup EXCLUDE_UDP_PORT] [-itp INCLUDE_TCP_PORT] [-iup INCLUDE_UDP_PORT] [-vlan INCLUDE_VLAN_IDS] -p PROGRAM [-o BASE_HORIZON] [-s BASE_TRAFFIC_MONITOR] [-c BASE_COLLECTOR] -m MODE [-S]

以下附加属性供 cyberx 用户用来为每个组件单独创建捕获筛选器:

属性 说明
-p <PROGRAM>, --program <PROGRAM> 定义要为其配置捕获筛选器的组件,其中 <PROGRAM> 支持的值如下:
- traffic-monitor
- collector
- horizon
- all:为所有组件创建单个捕获筛选器。 有关详细信息,请参阅为所有组件创建基本筛选器
-o <BASE_HORIZON>, --base-horizon <BASE_HORIZON> horizon 组件定义基本捕获筛选器,其中 <BASE_HORIZON> 是要使用的筛选器。
默认值 = ""
-s BASE_TRAFFIC_MONITOR, --base-traffic-monitor BASE_TRAFFIC_MONITOR traffic-monitor 组件定义基础捕获筛选器。
默认值 = ""
-c BASE_COLLECTOR, --base-collector BASE_COLLECTOR collector 组件定义基础捕获筛选器。
默认值 = ""

其他属性值的说明与前面所述的基本用例相同。

使用管理员用户创建高级捕获筛选器

如果要单独为每个组件创建捕获筛选器作为管理员用户,则原始命令不会传递任何属性。 而是显示一系列提示,以帮助你以交互方式创建捕获筛选器。

大多数提示与基本用例相同。 如下所示回复以下附加提示:

  1. In which component do you wish to apply this capture filter?

    根据要筛选的组件输入以下值之一:

    • horizon
    • traffic-monitor
    • collector
  2. 系统会提示你为所选组件配置自定义基础捕获筛选器。 此选项使用在前面步骤中配置的捕获筛选器作为基础或模板,在该模板中可在基础筛选器之上添加附加配置。

    例如,如果你在上一步骤中选择为 collector 组件配置捕获筛选器,则会出现提示:Would you like to supply a custom base capture filter for the collector component? [Y/N]:

    输入 Y 以自定义指定的组件的模板,或输入 N 以按原样使用先前配置的捕获筛选器。

与在基本用例中一样继续处理剩余的提示。

列出特定组件的当前捕获筛选器

使用以下命令显示有关为传感器配置的当前捕获筛选器的详细信息。

用户 命令 完整命令语法
admin 使用以下命令查看每个组件的捕获筛选器:

- horizon:edit-config horizon_parser/horizon.properties
- traffic-monitor:edit-config traffic_monitor/traffic-monitor
- collector:edit-config dumpark.properties
无属性
具有根访问权限的 cyberx管理员 使用以下命令查看每个组件的捕获筛选器:

-horizon:nano /var/cyberx/properties/horizon_parser/horizon.properties
- traffic-monitor:nano /var/cyberx/properties/traffic_monitor/traffic-monitor.properties
- collector:nano /var/cyberx/properties/dumpark.properties
无属性

这些命令打开以下文件,其中列出了为每个组件配置的捕获筛选器:

名称 文件 属性
范围 /var/cyberx/properties/horizon.properties horizon.processor.filter
traffic-monitor /var/cyberx/properties/traffic-monitor.properties horizon.processor.filter
收集器 /var/cyberx/properties/dumpark.properties dumpark.network.filter

例如,对于 管理员 用户,为排除子网 192.168.x.x 和端口 9000 的 收集器 组件定义的捕获筛选器:


root@xsense: edit-config dumpark.properties
  GNU nano 2.9.3                      /tmp/tmpevt4igo7/tmpevt4igo7

dumpark.network.filter=(((not (net 192.168))) and (not (tcp port 9000)) and (not
dumpark.network.snaplen=4096
dumpark.packet.filter.data.transfer=false
dumpark.infinite=true
dumpark.output.session=false
dumpark.output.single=false
dumpark.output.raw=true
dumpark.output.rotate=true
dumpark.output.rotate.history=300
dumpark.output.size=20M
dumpark.output.time=30S

重置所有捕获筛选器

以 cyberx 用户身份使用以下命令,以将传感器重置为默认捕获配置并删除所有捕获筛选器。

用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-xsense-capture-filter -p all -m all-connected 无属性

如果要修改现有的捕获筛选器,请使用新的属性值再次运行前面的命令。

若要使用 管理员 用户重置所有捕获筛选器,请再次运行 前面的 命令,并响应 N 所有 提示 以重置所有捕获筛选器。

以下示例显示适用于 cyberx 用户的命令语法和响应:

root@xsense:/#  cyberx-xsense-capture-filter -p all -m all-connected
starting "/usr/local/bin/cyberx-xsense-capture-filter -p all -m all-connected"
No include file given
No exclude file given
(000) ret      #262144
(000) ret      #262144
debug: set new filter for dumpark ''
No include file given
No exclude file given
(000) ret      #262144
(000) ret      #262144
debug: set new filter for traffic-monitor ''
No include file given
No exclude file given
(000) ret      #262144
(000) ret      #262144
debug: set new filter for horizon ''
root@xsense:/#

警报

触发测试警报

使用以下命令测试从传感器到管理控制台(包括 Azure 门户、Defender for IoT 本地管理控制台或第三方 SIEM)的连接和警报转发。

用户 命令 完整命令语法
具有根访问权限的 cyberx管理员 cyberx-xsense-trigger-test-alert 无属性

以下示例显示适用于 cyberx 用户的命令语法和响应:

root@xsense:/# cyberx-xsense-trigger-test-alert
Triggering Test Alert...
Test Alert was successfully triggered.

OT 传感器的警报排除规则

以下命令支持 OT 传感器上的警报排除功能,包括显示当前排除规则、添加和编辑规则以及删除规则。

注意

在 OT 传感器上定义的警报排除规则可能会被本地管理控制台上定义的警报排除规则覆盖。

显示当前警报排除规则

使用以下命令显示当前配置的排除规则列表。

用户 命令 完整命令语法
admin alerts exclusion-rule-list alerts exclusion-rule-list [-h] -n NAME [-ts TIMES] [-dir DIRECTION] [-dev DEVICES] [-a ALERTS]
具有根访问权限的 cyberx管理员 alerts cyberx-xsense-exclusion-rule-list alerts cyberx-xsense-exclusion-rule-list [-h] -n NAME [-ts TIMES] [-dir DIRECTION] [-dev DEVICES] [-a ALERTS]

以下示例显示了管理员用户的命令语法和响应

root@xsense: alerts exclusion-rule-list
starting "/usr/local/bin/cyberx-xsense-exclusion-rule-list"
root@xsense:

创建新的警报排除规则

使用以下命令在传感器上创建本地警报排除规则。

用户 命令 完整命令语法
admin cyberx-xsense-exclusion-rule-create cyberx-xsense-exclusion-rule-create [-h] [-n NAME] [-ts TIMES] [-dir DIRECTION] [-dev DEVICES] [-a ALERTS]
具有根访问权限的 cyberx管理员 cyberx-xsense-exclusion-rule-create cyberx-xsense-exclusion-rule-create [-h] [-n NAME] [-ts TIMES] [-dir DIRECTION] [-dev DEVICES] [-a ALERTS]

支持的属性定义如下:

属性 说明
-h, --help 显示帮助消息并退出。
[-n <NAME>], [--name <NAME>] 定义规则的名称。
[-ts <TIMES>] [--time_span <TIMES>] 使用以下语法定义规则处于活动状态的时间范围:hh:mm-hh:mm, hh:mm-hh:mm
[-dir <DIRECTION>], --direction <DIRECTION> 要排除的地址方向。 使用以下值之一:bothsrcdst
[-dev <DEVICES>], [--devices <DEVICES>] 使用以下语法定义要排除的设备地址或地址类型:ip-x.x.x.xmac-xx:xx:xx:xx:xx:xxsubnet:x.x.x.x/x
[-a <ALERTS>], --alerts <ALERTS> 要排除的警报名称(按十六进制值)。 例如:0x00000, 0x000001

以下示例显示了管理员用户的命令语法和响应

alerts exclusion-rule-create [-h] -n NAME [-ts TIMES] [-dir DIRECTION]
[-dev DEVICES] [-a ALERTS]

修改警报排除规则

使用以下命令修改传感器上的现有本地警报排除规则。

用户 命令 完整命令语法
admin exclusion-rule-append exclusion-rule-append [-h] [-n NAME] [-ts TIMES] [-dir DIRECTION] [-dev DEVICES] [-a ALERTS]
具有根访问权限的 cyberx管理员 exclusion-rule-append exclusion-rule-append [-h] [-n NAME] [-ts TIMES] [-dir DIRECTION] [-dev DEVICES] [-a ALERTS]

支持的属性定义如下:

属性 说明
-h, --help 显示帮助消息并退出。
[-n <NAME>], [--name <NAME>] 要修改的规则的名称。
[-ts <TIMES>] [--time_span <TIMES>] 使用以下语法定义规则处于活动状态的时间范围:hh:mm-hh:mm, hh:mm-hh:mm
[-dir <DIRECTION>], --direction <DIRECTION> 要排除的地址方向。 使用以下值之一:bothsrcdst
[-dev <DEVICES>], [--devices <DEVICES>] 使用以下语法定义要排除的设备地址或地址类型:ip-x.x.x.xmac-xx:xx:xx:xx:xx:xxsubnet:x.x.x.x/x
[-a <ALERTS>], --alerts <ALERTS> 要排除的警报名称(按十六进制值)。 例如:0x00000, 0x000001

将以下命令语法用于 管理员 用户:

alerts exclusion-rule-append [-h] -n NAME [-ts TIMES] [-dir DIRECTION]
[-dev DEVICES] [-a ALERTS]

删除警报排除规则

使用以下命令删除传感器上的现有本地警报排除规则。

用户 命令 完整命令语法
admin exclusion-rule-remove exclusion-rule-append [-h] [-n NAME] [-ts TIMES] [-dir DIRECTION] [-dev DEVICES] [-a ALERTS]
具有根访问权限的 cyberx管理员 exclusion-rule-remove exclusion-rule-append [-h] [-n NAME] [-ts TIMES] [-dir DIRECTION] [-dev DEVICES] [-a ALERTS]

支持的属性定义如下:

属性 说明
-h, --help 显示帮助消息并退出。
[-n <NAME>], [--name <NAME>] 要删除的规则的名称。
[-ts <TIMES>] [--time_span <TIMES>] 使用以下语法定义规则处于活动状态的时间范围:hh:mm-hh:mm, hh:mm-hh:mm
[-dir <DIRECTION>], --direction <DIRECTION> 要排除的地址方向。 使用以下值之一:bothsrcdst
[-dev <DEVICES>], [--devices <DEVICES>] 使用以下语法定义要排除的设备地址或地址类型:ip-x.x.x.xmac-xx:xx:xx:xx:xx:xxsubnet:x.x.x.x/x
[-a <ALERTS>], --alerts <ALERTS> 要排除的警报名称(按十六进制值)。 例如:0x00000, 0x000001

以下示例显示了管理员用户的命令语法和响应

alerts exclusion-rule-remove [-h] -n NAME [-ts TIMES] [-dir DIRECTION]
[-dev DEVICES] [-a ALERTS]

后续步骤