AppScan 360° セットアップ・アシスタント

概要

セットアップ・アシスタントは、デプロイメント前に環境が必要なインフラストラクチャー、ネットワーク、およびセキュリティー要件を満たしていることを確認するように設計された自動診断スイートです。このツールは、構成のギャップを早期に特定することで、インストール・プロセスをよりスムーズにし、実際のデプロイメント・フェーズでのトラブルシューティングのオーバーヘッドを削減します。
注: AppScan 360° セットアップ・アシスタントは FIPS 準拠ではありません。

データ収集とプライバシー

  • セットアップ・アシスタント・ツールは、運用データと診断データを収集して、環境の準備状況を検証し、配置の問題をトラブルシューティングします。これには、システム構成、ツールのバージョン、Kubernetes クラスターのステータス、ネットワーク・チェック、レジストリーの相互作用が含まれます。

  • データベース・ホスト/ユーザー、ネットワーク・ルール、クラスター識別子、レジストリー・エンドポイントなどの特定のデータ・ポイントは、内部インフラストラクチャーの詳細を公開する可能性があるため、機密と見なされます。

  • 認証情報 (例: パスワード) はログに記録されませんが、ユーザーは生成されたログ (例: prerequisite_check.log) を安全に確認して処理し、アクセスを適切に制限する必要があります。

セットアップ・アシスタントをダウンロードして実行する方法

AppScan セットアップ・アシスタントは、ライセンス階層に関係なく、すべての AppScan 360° のお客様が利用できます。

動作モード

  1. 対話モード: 実行時に、ユーティリティーは 5 つの特定の診断オプションをプロンプト表示します。必要な検証のレベルに対応するモードを選択します。
  2. プロパティー駆動モード (自動): 手動プロンプトなしで特定の環境変数に対するチェックを実行するには、ユーティリティーと同じフォルダーに singular-singular.clusterKit.properties ファイルを配置します。アシスタントは自動的に構成データを抽出し、それに応じて環境を検証します。


モードの説明

モード 1.システム・リソースの検証 (ベースライン・チェック)

このモジュールはホスト・マシンの物理容量と OS レベル容量を評価します。

  • CPU 情報: コアあたりのコア数、アーキテクチャー、スレッドを収集して、処理能力が最小要件を満たしていることを確認します。

  • メモリー (RAM): 使用可能なメモリーの合計と現在の使用率を計算します。

  • ディスク・スペース: ルート(/)パーティションを監視して、ログとバイナリーに十分なストレージが使用できることを確認します。

  • セキュリティー・コントロール: コンテナー化されたワークロードに対して特定のポリシー調整を必要とする可能性のあるアクティブな SELinux または AppArmor 構成を検出します。

  • ローカル・ファイアウォール: iptables、firewalld、および UFW を監査して、必要なアプリケーション・ポートをブロックしているローカル・ルールがないことを確認します。

  • DNS 解決: 内部および外部のネーム・サーバーを識別し、環境がサービス・ホスト名を解決できることを確認します。

モード 2: ネットワーク、接続性、および K8s の正常性 (フル・チェック)

Kubernetes クラスターの正常性

アプリケーション・コンポーネントを配置する前に、ツールはターゲット・クラスターの状態を検証します。

  • API の到達可能性: kubectl クライアントがクラスター制御プレーンと効果的に通信できることを確認します。

  • Cert-Manager: 自動 SSL/TLS 証明書管理に不可欠な cert-manager ポッドの存在とステータスを検証します。

    ストレージ・インフラストラクチャー: データの持続性に必要な、指定された StorageClass または 永続ボリューム (PV) が存在するかどうかを確認します。

  • ゲートウェイ API: GatewayClass の存在を検証し、クラスターがトラフィック管理の準備ができていることを確認します。

外部統合テスト

バリデーターは外部依存関係への「実世界」の接続テストを実行します。

  • コンテナー・レジストリー: 完全なライフサイクル・テスト (テスト・イメージのログイン、読み込み、プッシュ、プル) を実行し、クラスターがアプリケーション・イメージを取得できることを確認します。

  • SQL データベース接続: SQL Server へのライブ接続を試行する一時的な Kubernetes ジョブを起動します。これにより、ネットワーク・ポリシーとデータベース資格情報 (IP、ユーザー ID、およびパスワード) が正しく構成されていることが確認されます。

モード 3: デバッグ・ポッド・ユーティリティー

デバッグ・ポッドは、事前チェックに合格したが実行時の問題が解決しない場合に使用される対話型ツールです。管理者がクラスター環境に「足を踏み入れる」ことを許可します。

機能ワークフロー

  1. 名前空間のターゲット設定: カスタム名前空間を指定するか、default にフォールバックすることができます。

  2. デプロイメント: 3600 秒 (1 時間) アクティブな状態を維持する precheck-debug という名前のポッドを起動します。

  3. インタラクティブ・アクセス: ポッドが「Ready」になると、ツールはクラスター内の bash シェルを開くために直接 kubectl exec コマンドを提供します。

モード 4: Kubernetes トラブルシューター

このモジュールは、ホストとクラスター間の通信の問題を診断するために、詳細な接続と API 整合性チェックを実行します。

API の到達可能性のチェック

  • バイナリーとコンテキスト: kubectl がインストールされ、有効なクラスター・コンテキストがアクティブであることを確認します。

  • ヘルス&サービス: /healthz 生エンドポイントと内部 kubernetes サービスをテストして、コントロール・プレーンが応答していることを確認します。

  • リソースへのアクセス: すべての名前空間にまたがるポッドを一覧表示する機能を確認します。

高度なネットワーク (MTU) 検証

  • インターフェースの検出: デフォルトのネットワーク・インターフェースを自動的に識別します。

  • MTU の検出: パケット・フラグメンテーションを防止するために、最大転送単位 (MTU) が 1500 以上に設定されているかどうかを検証します。

  • パス MTU ディスカバリー: エンドツーエンド・ネットワーク・パスをテストするために、「Do Not Fragment」ビットが設定された 1472 バイトのパケットを送信します。

モード 5: 構成規模設定の確認

Sizing モジュールにより、Kubernetes クラスターに、インストール・タイプとスキャンの同時実行ニーズに基づいて特定のワークロードをサポートするのに十分なハードウェア・リソース (CPU とメモリー) があることが保証されます。

インストール・タイプ

  • AIO (オールイン・ワン): 単一の専用ノードに対して要件を検証します。

  • FF (本格的): クラスター内のすべてのノードの容量を合計して、クラスター・リソース全体に対して検証します。

リソース計算ロジック

このツールはベースライン (ASCP) を計算し、同時スキャン・タイプごとに要件を追加します。

  • ASCP ベースライン: 10 個の vCore および 25 GB RAM を予約しました。

  • スキャン要件:

    • SAST/SCA: 同時スキャンごとに最小 16GB (28GB Rec) および最小 2 個の vCore (4 Rec) が必要です。

    • DAST: 同時スキャンごとに最小 3GB (4GB Rec) および最小 2 個の vCore (3 Rec) が必要です。

結果の解釈

  • 成功: クラスターが推奨リソースしきい値を満たしています。

  • 警告: クラスターは最小要件を満たしていますが、推奨レベルを下回っています。

  • 失敗: クラスターが要求された数の同時スキャンを実行するための最小要件を満たしていません。

詳細な分析のために、すべてのチェックの詳細ログが prerequisite_check.log に記録されます