如果未在 NSX 中配置 Internet 连接,您可以使用 API 手动下载 NSX 入侵检测特征码包 (.zip) 文件,然后将特征码包上载到 NSX Manager。执行以下步骤以在脱机模式下下载特征码并将其上载到 NSX

步骤 1:将 NSX 注册到云服务

使用以下 API 将 NSX 注册到云服务。在开始与云服务进行任何通信之前,您必须使用此 API 注册到云服务。发送所有许可证,系统将向您提供必需的权限。如果许可证密钥有效,API 将生成并返回 client_idclient_secret。许可证信息存储在云中。Client_secret 是作为身份验证 API 请求使用的。如果之前已注册客户端,但客户端无权访问 client_idclient_secret,则必须使用相同的 API 重新注册客户端。

URI 路径:

POST https://api.prod.nsxti.vmware.com/2.0/auth/register
请求正文:
{
  "client_type": "NSX-Idps-Offline-Download",
  "client_id": "client_username",
  "licenses": {
    "license_keys": ["XXXXX-XXXXX-XXXXX-XXXXX-XXXX"]
  }
}
响应:
{
  "client_id":"client_username", 
  "client_secret": "Y54+V/rCpEm50x5HAUIzH6aXtTq7s97wCA2QqZ8VyrtFQjrJih7h0alItdQn02T46EJVnSMZWTseragTFScrtIwsiPSX7APQIC7MxAYZ0BoAWvW2akMxyZKyzbYZjeROb/C2QchehC8GFiFNpwqiAcQjrQHwHGdttX4zTQ="
}

步骤 2:对访问云服务的 NSX 进行身份验证

使用以下 API 对访问云服务的 NSX 进行身份验证。此 API 调用使用 client_idclient_secret 对客户端进行身份验证。API 生成 access_token 以在发送到 IDS 特征码 API 的请求标头中使用。该令牌在 60 分钟内有效。如果令牌已过期,客户端必须使用 client_idclient_secret 重新进行身份验证。

URI 路径:

POST https://api.prod.nsxti.vmware.com/1.0/auth/authenticate
正文:
{
  "client_id":"client_username", 
  "client_secret": "Y54+V/rCpEm50x5HAUIzH6aXtTq7s97wCA2QqZ8VyrtFQjrJih7h0alItdQn02T46EJVnSMZWTseragTFScrtIwsiPSX7APQIC7MxAYZ0BoAWvW2akMxyZKyzbYZjeROb/C2QchehC8GFiFNpwqiAcQjrQHwHGdttX4zTQ="
}

响应:

{
    "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiI3ZjMwN2VhMmQwN2IyZjJjYzM5ZmU5NjJjNmZhNDFhMGZlMTk4YjMyMzU4OGU5NGU5NzE3NmNmNzk0YWU1YjdjLTJkYWY2MmE3LTYxMzctNGJiNS05NzJlLTE0NjZhMGNkYmU3MCIsInN1YiI6IjdmMzA3ZWEyZDA3YjJmMmNjMzlmZTk2MmM2ZmE0MWEwZmUxOThiMzIzNTg4ZTk0ZTk3MTc2Y2Y3OTRhZTViN2MtMmRhZjYyYTctNjEzNy00YmI1LTk3MmUtMTQ2NmEwY2RiZTcwIiwiZXhwIjoxNTU1NTUyMjk0LCJpYXQiOjE1NTU1NDg2OTR9.x4U75GShDLMhyiyUO2B9HIi1Adonzx3Smo01qRhvXuErQSpE_Kxq3rzg1_IIyvoy3SJwwDhSh8KECtGW50eCPg",
    "token_type": "bearer",
    "expires_in": 3600,
    "scope": "[idps_scope]"
}

步骤 3:检索特征码包 (Zip) 文件的链接

使用以下 API 检索特征码包文件的链接。NSX Cloud 每 24 小时下载一次特征码,并将特征码保存到 ZIP 文件中。此 API 在响应中返回 ZIP 文件链接。将链接复制并粘贴到浏览器中,然后下载 ZIP 文件。

URI 路径:

GET https://api.prod.nsxti.vmware.com/2.0/intrusion-services/signatures 

在“标头”选项卡中,授权密钥将具有来自身份验证 API 响应的 access_token 值。

Authorization: eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiI3ZjMwN2VhMmQwN2IyZjJjYzM5ZmU5NjJjNmZhNDFhMGZlMTk4YjMyMzU4OGU5NGU5NzE3NmNmNzk0YWU1YjdjLTJkYWY2MmE3LTYxMzctNGJiNS05NzJlLTE0NjZhMGNkYmU3MCIsInN1YiI6IjdmMzA3ZWEyZDA3YjJmMmNjMzlmZTk2MmM2ZmE0MWEwZmUxOThiMzIzNTg4ZTk0ZTk3MTc2Y2Y3OTRhZTViN2MtMmRhZjYyYTctNjEzNy00YmI1LTk3MmUtMTQ2NmEwY2RiZTcwIiwiZXhwIjoxNTU1NTUyMjk0LCJpYXQiOjE1NTU1NDg2OTR9.x4U75GShDLMhyiyUO2B9HIi1Adonzx3Smo01qRhvXuErQSpE_Kxq3rzg1_IIyvoy3SJwwDhSh8KECtGW50eCPg
响应:
{
    "signatures_url": "https://cdn.prod.nsxti.vmware.com/vmware-idps-signature-us-west-2/IDSSignatures_1895.zip?X-Amz-Security-Token=IQoJb3JpZ2luX2VjENf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLXd
                       lc3QtMSJHMEUCIG1UYbzfBxOsm1lvdj1k36LPyoPota0L4CSOBMXgKGhmAiEA%2BQC1K4Gr7VCRiBM4ZTH2WbP2rvIp0qfHfG
                       lOx0ChGc4q6wEIHxABGgw1MTAwMTM3MTE1NTMiDA4H4ir7eJl779wWWirIAdLIx1uAukLwnhmlgLmydZhW7ZExe%2BamDkRU7K
                       T46ZS93mC1CQeL00D2rjBYbCBiG1mzNILPuQ2EyxmqxhEOzFYimXDDBER4pmv8%2BbKnDWPg08RNTqpD%2BAMicYNP7WlpxeZw
                       YxeoBFruCDA2l3eXS6XNv3Ot6T2a%2Bk4rMKHtZyFkzZREIIcQlPg7Ej5q62EvvMFQdo8TyZxFpMJBc4IeG0h1k6QZU1Jlkrq
                       2RYKit5WwLD%2BQKJrEdf4A0YctLbMCDbNbprrUcCADMKyclu8FOuABuK90a%2BvnA%2FJFYiJ32eJl%2Bdt0YRbTnRyvlMuS
                       UHxjNAdyrFxnkPyF80%2FQLYLVDRWUDatyAo10s3C0pzYN%2FvMKsumExy6FIcv%2FOLoO8Y9RaMOTnUfeugpr6YsqMCH0pUR
                       4dIVDYOi1hldNCf1XD74xMJSdnviaxY4vXD4bBDKPnRFFhOxLTRFAWVlMNDYggLh3pV3rXdPnIwgFTrF7CmZGJAQBBKqaxzP
                       MVZ2TQBABmjxoRqCBip8Y662Tbjth7iM2V522LMVonM6Tysf16ls6QU9IC6WqjdOdei5yazK%2Fr9g%3D&X-Amz-Algorithm
                       =AWS4-HMAC-SHA256&X-Amz-Date=20191202T222034Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz- 
                       Credential=ASIAXNPZPUTA6A7V7P4X%2F20191202%2Fus-west-1%2Fs3%2Faws4_request&X-Amz- 
                       Signature=d85ca4aef6abe22062e2693acacf823f0a4fc51d1dc07cda8dec93d619050f5e",
    "version": "1997",
    "sha256_checksum": "c9918187017af9a270d307bde6fb14cdb6b09b3c576cce7689c17ab63fb2c13c",
    "last_updated": "2023-11-14T15:47:30Z",
    "version_name": "IDPSSignatures.1997.2023-11-14T15:45:38Z"
   }

步骤 4:将特征码包上载到 NSX Manager

  • 方法 1:使用 NSX Manager UI 上载

    要从 NSX Manager UI 上载文件,请导航到 安全 > IDS/IPS 和恶意软件防护 > 设置 > IDS/IPS,然后单击上载 IDS/IPS 特征码。浏览保存的特征码 ZIP 文件并上载该文件。

  • 方法 2:使用 NSX API 上载

    要使用 NSX API 上载文件,请使用以下 API。

    POST https://<mgr-ip>/policy/api/v1/infra/settings/firewall/security/intrusion-services/signatures?action=upload_signatures

身份验证 API 的错误代码处理

以下是一个身份验证 API 错误响应示例:

{
"error_code":100101,
"error_message":"XXXXX"
}
  • 如果收到 100101-100150 之间的错误代码,请使用相同的客户端 ID 重新注册。
  • 如果收到 100151-100200 之间的错误代码,请使用不同的客户端 ID 重新注册。