要将 NSX 恶意软件防护 服务虚拟机 (SVM) 日志消息重定向到远程日志服务器,您可以登录到针对 NSX 分布式恶意软件防护 服务激活的 vSphere 主机集群中主机上的 SVM,并通过运行 NSX CLI 命令来配置远程日志记录。

NSX 4.1.2 开始,NSX 恶意软件防护 SVM 上支持远程日志记录。

目前,只会将 NSX 恶意软件防护 文件分析生命周期事件的日志消息重定向到远程日志服务器。通常,在文件下载到受 NSX 恶意软件防护 安全策略保护的工作负载虚拟机上后,就会开始文件分析。下载的文件将由各种组件处理,并且会返回判定结果。重要中间组件提供的结果将记录在 SVM 上的 syslog 文件中。

以下是文件分析生命周期事件的一些示例:
  • 已拦截文件
  • 判定结果缓存命中
  • 已发送文件进行本地(静态)分析
  • 已发送文件进行云端(动态)分析
  • 已获得判定结果
  • 已实施策略

如果要重定向 SVM 运行状况监控事件(包括 SVM 资源消耗,如 CPU 使用情况、磁盘使用情况和内存使用情况)的日志消息,则可以在 NSX Manager CLI 上配置远程日志记录。或者,也可以在 NSX Manager UI 的警报页面上监控这些运行状况事件。有关 NSX 恶意软件防护 运行状况事件的详细信息,请参见 NSX 事件目录

支持使用以下协议在 SVM 上配置远程日志记录:
  • TCP
  • UDP
  • TLS(安全远程日志记录)

TCP 的优势是更加可靠,而 UDP 的优势是需要的系统和网络开销较低。TLS 协议会产生额外的开销,但在 SVM 和远程日志服务器之间提供加密流量。

不支持使用 Aria Operations for Logs 协议(LI 和 LI-TLS)在 SVM 上配置远程日志记录。

前提条件

  • VMware vCenter 管理员必须激活 SSH 对每个主机上 SVM 的访问权限。有关详细信息,请参见登录到 NSX 恶意软件防护 服务虚拟机中的必备条件部分。
  • 请自行熟悉 set logging-server CLI 命令。有关详细信息,请参见 NSX 命令行界面参考中的恶意软件防护服务虚拟机文档。
  • 如果要指定 TLS 协议以用于配置远程日志服务器,请使用 copy url <url> [file <filename>] CLI 命令将服务器证书、客户端证书和客户端密钥复制到每个 NSX 恶意软件防护 SVM 上的 /var/vmware/nsx/file-store 中。

    在以下示例中,将在 SVM 上运行 copy 命令。因此,默认情况下,源位置中的 client-key.pem 文件将复制到 SVM 上的 /var/vmware/nsx/file-store 中。

    示例:
    svm> copy url scp://[email protected]:/home/user/openssl/client-key.pem
    The authenticity of host '1.2.3.4 (1.2.3.4)' can't be established.
    ECDSA key fingerprint is SHA256:abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '1.2.3.4' (ECDSA) to the list of known hosts.
    [email protected]'s password:
    client-key.pem                                100% 1704     8.0KB/s   00:00
  • 要配置与远程日志服务器的安全连接,请确认服务器配置了 CA 签名的证书。例如,如果您使用 Aria Operations for Logs 服务器 vrli.prome.local 作为日志服务器,则可以从客户端运行以下命令来查看日志服务器上的证书链:
    root@caserver:~# echo -n | openssl s_client -connect vrli.prome.local:443  | sed -ne '/^Certificate chain/,/^---/p'
    depth=2 C = US, L = California, O = GS, CN = Orange Root Certification Authority
    verify error:num=19:self signed certificate in certificate chain
    Certificate chain
     0 s:/C=US/ST=California/L=HTG/O=GSS/CN=vrli.prome.local
       i:/C=US/L=California/O=GS/CN=Green Intermediate Certification Authority
     1 s:/C=US/L=California/O=GS/CN=Green Intermediate Certification Authority
       i:/C=US/L=California/O=GS/CN=Orange Root Certification Authority
     2 s:/C=US/L=California/O=GS/CN=Orange Root Certification Authority
       i:/C=US/L=California/O=GS/CN=Orange Root Certification Authority
    ---
    DONE

过程

  1. admin 用户身份登录到 NSX 恶意软件防护 SVM。
    有关详细信息,请参见 登录到 NSX 恶意软件防护 服务虚拟机
  2. 运行以下命令以在 SVM 上配置远程日志服务器:
    svm> set logging-server <hostname-or-ip-address[:port]> proto <proto> level <level> messageid SECURITY [facility <facility>] [serverca <filename>] [clientca <filename>] [certificate <filename>] [key <filename>] [structured-data <structured-data>]

    此命令会在指定端口上将 SVM 日志消息重定向到服务器的指定 IP 地址或 FQDN。如果未指定端口,则将使用指定协议的默认端口。例如,端口 514(对于 TCP 和 UDP)或端口 6514(对于 TLS)。

    已预配置了 messageid 参数。目前,支持仅包含 SECURITY 消息 ID 的日志。

    要了解如何在此命令中筛选日志消息和指定设施,请参见 NSX 命令行界面参考中的恶意软件防护服务虚拟机文档。

    示例 1:要使用 UDP 协议将 SVM 日志消息重定向到 10.1.1.1 日志服务器,请运行以下命令:

    svm> set logging-server 10.1.1.1 proto udp level info messageid SECURITY
    示例 2:要使用 TLS 协议将 SVM 日志消息安全地重定向到远程日志服务器,请运行以下命令:
    svm> set logging-server <hostname-or-ip-address[:port]> proto tls level info messageid SECURITY serverca <ca-cert.pem> clientca <ca-cert.pem> certificate <client-cert.pem>  key <client-key.pem>

    如本文档的必备条件部分中所述,必须将服务器证书、客户端证书和客户端密钥复制到每个 NSX 恶意软件防护 SVM 上的 /var/vmware/nsx/file-store 中。

    请注意以下事项:
    • 对于 serverCA 参数,只需提供根证书,而不是整个链。
    • 如果 clientCA 不同于 serverCA,则只需提供根证书。
    • 证书应包含 NSX 恶意软件防护 SVM 的完整链。证书应符合 NDcPP - EKU、BASIC 和 CDP(可以忽略 CDP 检查)。
    /var/log/syslog 中的成功日志记录示例:
    2023-06-26T18:22:21.504Z NSX 3671 - [nsx@6876 comp="nsx-mps-svm" subcomp="cli" username="admin" level="INFO"] {10000} CMD: set logging-server 1.2.3.4 proto tls level info serverca ca-cert.pem clientca ca-cert.pem certificate client-cert.pem key client-key.pem
     
    2023-06-26T18:22:24.677Z rsyslogd - - -  nsd_ossl: TLS Connection initiated with remote syslog server. [v8.2304.0]
    2023-06-26T18:22:26.894Z NSX 932 - [nsx@6876 comp="nsx-mps-svm" subcomp="node-mgmt" username="admin" level="INFO"] Connection to 1.2.3.4:6514 is established
     
    2023-06-26T18:22:28.116Z NSX 3671 - [nsx@6876 comp="nsx-mps-svm" subcomp="cli" username="admin" level="INFO" audit="true"] CMD: set logging-server 1.2.3.4 proto tls level info serverca ca-cert.pem clientca ca-cert.pem certificate client-cert.pem key client-key.pem (duration: 6.611s), Operation status: CMD_EXECUTED
    注: 完成 syslog 导出程序配置后,必须从 /var/vmware/nsx/file-store 中删除所有证书和密钥,以消除潜在的安全漏洞。

    示例 3:要重定向 NSX 恶意软件防护 运行状况监控事件的日志消息,请在 NSX Manager CLI 上运行以下命令:

    nsx> set logging-server 10.1.1.1 proto udp level info messageid MONITORING structured-data eventFeatureName="malware_prevention_health"

    请注意,在此命令中,messageid 参数设置为 MONITORING。

  3. 要查看 SVM 上的日志记录配置,请运行 get logging-servers 命令。

    示例:将日志消息安全地重定向到远程日志服务器

    svm> get logging-servers
    Tue Jun 27 2023 UTC 05:18:57.098
    1.2.3.4:514 proto udp level info messageid SECURITY exporter_name 694ab1dc-0250-4cae-a7a4-3dde205225a3
  4. (可选) 要验证所有日志记录服务器的 IP 表规则,请运行 verify logging-servers 命令。
  5. (可选) 要删除特定的日志记录服务器配置,请运行以下命令:
    示例:
    svm> del logging-server 1.2.3.4:514 proto udp level info messageid SECURITY