在 Kubernetes 上为微服务部署 IAST 代理程序

AppScan 支持在 Kubernetes 集群上自动安装 IAST 代理程序。使用 MutatingAdmissionWebhook 可以将 IAST 代理程序自动安装在任何启动 Pod 上。

关于此任务

在 Kubernetes 上安装 IAST 代理程序(支持 Java、.Net 和 Node.js 应用程序)的步骤说明。

显示 Kubernetes 上的安装的图像

过程

  1. 按照此处所述的方法下载 ASoC Kubernetes IAST 代理程序。
  2. 解压缩 ZIP 文件的内容。
  3. 要在 Kubernetes 集群中安装 IAST 代理程序:
    1. 运行 install-secagent-webhook.sh 脚本并指定用于 IAST 安装的命名空间。例如:install-secagent-webhook.sh -n my-namespace -n my-second-namespace
      该脚本会在集群中安装 MutatingAdmissionWebhook,这会在启动时将 IAST 代理程序添加到指定命名空间中的每个 Pod 中。如果未指定命名空间,则将使用命名空间 default
    2. 要应用 IAST 代理程序,请重新启动任何现有的 Pod。
    3. 可选:要为微服务部署 IAST 分析器,请添加以下标志:--with-analyzer。这将提供完整的服务图形视图并减少误报。它目前仅支持 Node.js 环境。

      显示 Kubernetes pod 中命令注入问题的服务图形。

  4. 可选: 您可以将 IAST 安装程序配置为跳过特定的 Pod,或者指定用于代理程序检测的 Pod 语言。在运行 install-secagent-webhook.sh 脚本之前,必须将配置文件放在“config”文件夹中。
    配置示例可在解压缩的 zip 文件的“examples”文件夹中找到。
    { 
    // don't install IAST agent on service1. Default for ignore is false 
    "name":"service1", 
    "namespace":"default", 
    "ignore":true 
    }, 
    { 
    // hint IAST installer that service2 is Java. Possible values: java, net-core, nodejs 
    "name":"service2", 
    "namespace":"my-namespace", 
    "agents":["java"] 
    }, 
  5. 要查看不同 Pod 报告的问题的 Pod 名称,请参阅问题详细信息选项卡的附加信息部分。
  6. 要在 Kubernetes 集群中卸载 IAST 代理程序:
    1. 运行 uninstall-secagent-webhook.sh 脚本。
    2. 要完成卸载过程,您需要重新启动任何正在运行的 Pod,因为在卸载过程中不会自动从这些 Pod 中删除代理程序。