AppScan 360° 静的分析 環境のセットアップ
AppScan 360° 静的分析 をインストールする前に、最適な配置環境を設定します。
- すべての環境:
- HCL ID
- Ubuntu または Red Hat Enterprise Linux バージョン 7 以降を搭載した Linux システム
- AppScan Central Platform
- Docker または containerd のいずれかのローカル・コンテナー・サービス
- Kubectl
- Kubernetes クラスター
- Linux VM と Kubernetes クラスター間の検証済みの通信
- Keda
- ingress コントローラー
- cert-manager
- TLS 有効化の証明書
- Helm
- Azure CLI
- Harbor から AppScan 360° 静的分析 をダウンロードしている場合:
- FlexNet Operations を介してアーカイブ・ファイルから AppScan 360° 静的分析 をダウンロードしている場合:
- クラウドベースの Azure クラスターを使用している場合:
HCL ID
HCL ID により、アカウントに有効なライセンスと、ソフトウェアおよびサポートへのアクセス権が関連付けられます。FlexNet Operations および HCL Harbor へのアクセスに必要です。
HCL ID の作成とライセンスおよびソフトウェアへのアクセスの詳細については、この資料を参照してください。
AppScan Central Platform
AppScan Central Platform は、AppScan 360° エクスペリエンスの基盤であり、ユーザー・インターフェース、API、およびコア・サーバー・コンポーネントを統合します。
AppScan Central Platform のインストールおよび構成の詳しい手順については、こちらをご覧ください。
- 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 アカウントにログインします。
> azure login - Azure の Kubernetes クラスターに接続するには、次のコマンドを実行します。
> az aks get-credentials --resource-group --name \-resource-groupは、クラスターのある Azure リソース・グループです。--nameは、CLI に接続するクラスターの名前です。クラスターに接続すると、インストール・トークンがホーム・フォルダー内の .kube/config ファイルにマージされます。構成ファイルが存在しない場合は、ファイルが作成されます。
Keda
> 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 リソース・グループに存在する必要があります。
> 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
> 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=trueTLS 有効化の証明書
AppScan 360° 静的分析 の一部のコンポーネントは、AppScan Central Platform と安全に通信するために、HTTPS を使用して証明書に信頼できる認証局の署名があることを検証する必要があります。ASCP は、ASCP の初回インストール中に、この証明書と秘密鍵を実行時に提供します。AppScan Central Platform のインストール を参照してください。
Helm
Helm は、Kubernetes アプリケーションを容易に構成および使用できるようにするための一連のリソースです。
Helm CLI のインストールの詳しい手順については、こちらをご覧ください。
Azure CLI
Azure CLI は、Azure リソースの作成と管理に使用される一連のコマンドです。
Azure CLI のインストールの詳しい手順については、こちらをご覧ください。