AppScan 360° 静的分析 環境のセットアップ

AppScan 360° 静的分析 をインストールする前に、最適な配置環境を設定します。

AppScan 360° 静的分析 をインストールおよび配置する環境では、パフォーマンスを最適化するための前提条件ツールをいくつか設定する必要があります。

HCL ID

HCL ID により、アカウントに有効なライセンスと、ソフトウェアおよびサポートへのアクセス権が関連付けられます。FlexNet Operations および HCL Harbor へのアクセスに必要です。

HCL ID の作成とライセンスおよびソフトウェアへのアクセスの詳細については、この資料を参照してください。

AppScan Central Platform

AppScan Central Platform は、AppScan 360° エクスペリエンスの基盤であり、ユーザー・インターフェース、API、およびコア・サーバー・コンポーネントを統合します。

AppScan Central Platform のインストールおよび構成の詳しい手順については、こちらをご覧ください。

重要: AppScan 360° 静的分析 のダウンロードおよび配置の前に AppScan Central Platform をインストールします。
インストールが完了したら、ASCP から以下の情報を収集し、必要に応じてローカル・ファイルに情報を保存します。
  • API サービス URL

    ASCP の REST API サービスの URL。例: https://ascp.appscan.com:5000

  • 認証トークン

    認証トークンは、<ascp-install-path>\Keys\AgentsApiKey.txt にあります。

  • CA 証明書 (CA certificate)

    証明書ファイルは、<ascp-install-path>\Certs\AppScan360_RootCA.crt にあります。

  • 秘密鍵

    秘密鍵ファイルは、<ascp-install-path>\Certs\AppScan360_RootCA.key にあります。

ローカル・コンテナー・サービス

FlexNet Operations からダウンロードしたアーカイブ・ファイルから AppScan 360° 静的分析 をインストールする場合は、リモート・レジストリーにイメージをプッシュできるローカル・コンテナー・サービスが必要です。コンテナーを管理する永続的なプロセスである Docker か、物理マシンや仮想マシン上のコンテナーのライフサイクルを管理するランタイムである containerd のどちらかを使用できます。

Kubectl

Kubectl は、リモート Kubernetes クラスターとの通信に使用されます。

Kubectl のインストールおよび構成の詳しい手順については、こちらをご覧ください。

Kubernetes クラスター

このクラスターは、AppScan 360° 静的分析 エージェント・コンテナーが存在する場所であり、活用される場所です。

Azure Kubernetes クラスターを配置するには、クラスターで消費されるリソースを管理するためのリソース・グループが必要です。

クラスター設定に関する注意事項:
  • AppScan 360° SAST preparer および analyzer のポッドには、デフォルトで最低 24 GB のメモリーが必要です。
  • Azure Kubernetes サービスには、ストレージ・プロバイダーとして azurefile が用意されています。longhorn のようなカスタム・ストレージ・プロバイダーを使用する場合は、250 GB のディスク・スペースが使用可能であることを確認してください。

VM と Kubernetes クラスター間の通信の検証

Azure Kubernetes クラスターを使用している場合は、次の手順を実行します。
  1. 次のコマンドで Azure アカウントにログインします。
    > azure login
  2. Azure の Kubernetes クラスターに接続するには、次のコマンドを実行します。
    > az aks get-credentials --resource-group --name \

    -resource-group は、クラスターのある Azure リソース・グループです。--name は、CLI に接続するクラスターの名前です。

    クラスターに接続すると、インストール・トークンがホーム・フォルダー内の .kube/config ファイルにマージされます。構成ファイルが存在しない場合は、ファイルが作成されます。

Keda

次のコマンドを使用して、Keda バージョン 2.9.4 をインストールして構成します。
> helm repo add kedacore https://kedacore.github.io/charts
> helm repo update
> helm install keda kedacore/keda --namespace keda --create-namespace --version 2.9.4    

ingress コントローラー

推奨される ingress コントローラーは NGINX (最新バージョン) です。ただし、ingress コントローラーが既にクラスターに存在する場合、新しいコントローラーをインストールする必要はありません。

DNS 名にリンクされた IP アドレスが必要です。この IP アドレスは、AKS 配置用のデフォルトの Kubernetes リソース・グループに存在する必要があります。

注: ここでのサービス・アノテーションは、Azure ロード・バランサー正常性チェック用であり、AKS クラスターに ingress をインストールする場合にのみ使用してください。
> helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx 
> helm repo update 
> helm install ingress-nginx ingress-nginx/ingress-nginx \ 
    --namespace ingress-nginx \ 
    --create-namespace \ 
    --set controller.service.loadBalancerIP=<ip-address> \ 
    --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz

NGINX ingress をインストールすると、toleration、nodeSelector などを構成できます。これらの構成は、-f オプションを使用して ingress helm 配置コマンドに渡すことができます。構成可能なパラメーターには、以下のものが含まれます。

パラメーター 説明
controller.config.proxy-body-size 要求本文の最大許容サイズ。この値は、プッシュするデータのサイズより大きくする必要があります。
controller.config.proxy-connect-timeout プロキシー・サーバーとの接続を確立するためのタイムアウト最大値。
controller.config.proxy-read-timeout プロキシー・サーバーへの要求の読み取りのタイムアウトを設定します。
controller.config.proxy-send-timeout プロキシー・サーバーへの要求の送信のタイムアウトを設定します。
controller.config.enable-access-log-for-default-backend デフォルト・バックエンドへのロギング・アクセスを有効にします。デフォルトで無効になっています。
controller.config.ssl-redirect サーバーに TLS 証明書がある場合、リダイレクト (301) のグローバル値を HTTPS に設定します。デフォルト値は true です。
controller.config.use-http2 セキュア接続で HTTP/2 サポートを有効または無効にします。
nodeSelector.kubernetes.io/os ingress を実行するノードの OS タイプ。
tolerations.key フォールト・トレランス。

cert-manager

次のコマンドを使用して、cert-manager バージョン 1.11.0 をインストールおよび構成します。
> helm repo add jetstack https://charts.jetstack.io
> helm repo update
> helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --version v1.11.0 --set installCRDs=true

TLS 有効化の証明書

AppScan 360° 静的分析 の一部のコンポーネントは、AppScan Central Platform と安全に通信するために、HTTPS を使用して証明書に信頼できる認証局の署名があることを検証する必要があります。ASCP は、ASCP の初回インストール中に、この証明書と秘密鍵を実行時に提供します。AppScan Central Platform のインストール を参照してください。

Helm

Helm は、Kubernetes アプリケーションを容易に構成および使用できるようにするための一連のリソースです。

Helm CLI のインストールの詳しい手順については、こちらをご覧ください。

Azure CLI

Azure CLI は、Azure リソースの作成と管理に使用される一連のコマンドです。

Azure CLI のインストールの詳しい手順については、こちらをご覧ください。