ZAP
スキャンツール | Web |
Mobile |
Local |
API |
Extension |
Serverless |
手順 |
---|---|---|---|---|---|---|---|
OWASP® Zed Attack Proxy (ZAP) |
OWASP ZAP の ZAP Docker コンテナを使用して、アプリケーションに対して自動動的スキャン(DAST)を実行します。事前定義された構成ファイルには、必要な CWE がすべて含まれています。環境と Docker 実行コマンドに追加するだけです。 |
各タイプの定義については、こちらをクリックしてください。
ウェブ、モバイル、内部アプリケーションの完全スキャンは、次の手順で実行できます。
-
DAST スキャンと API スキャンは、ZAP Docker イメージを使用して実行されます。ウェブ、モバイル、内部アプリケーションの場合は、完全な ZAP スキャンを prod-1 環境またはステージング環境で実行する必要があります。
-
zap-casa-config.conf 構成ファイルをダウンロードし、そのディレクトリに移動します。
-
スキャンの実行対象となるコンテキスト ファイルを生成します。詳しくは、以下の「認証」手順をご覧ください。
-
次のコマンドを実行します。
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py -t https://example.com -P 8080 -c zap-casa-config.conf -x results-full.xml -n example.context -U username
-
出力は XML ファイルに保存されます(例: zap-results-full.xml)。
API スキャンは、次の手順で実行できます。
-
API スキャンの場合は、zap-casa-api-config.conf 構成ファイルを使用します。
-
ディレクトリに移動して、次のコマンドを実行します。
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-api-scan.py -t https://example.com -f openapi-P 8080 -c zap-casa-api-config.conf -x results-full.xml
-
出力は XML ファイルに保存されます(例: zap-results-api.xml)。
認証
ZAP スキャンは、ユーザーデータが保存され、アクセスされている場所を把握するために、認証付きで実行する必要があります。スキャンを実行する前に、構成が必要です。ZAP Docker イメージでは、認証に関連する 2 つの引数を使用できます。
-n context_file |
ターゲットのスキャン前に読み込まれるコンテキスト ファイル |
-U ユーザー |
認証されたスキャンに使用するユーザー名。ユーザーは、指定されたコンテキスト ファイルで定義する必要があります。 |
これらのパラメータを設定するには、コンテキスト ファイルを作成する必要があります。最も簡単な方法は、ZAP Desktop UI を使用することです。
-
認証メカニズムを設定します。ZAP では現在、次の 5 つの認証方法がサポートされています。
-
手動認証
-
フォームベースの認証
-
HTTP/NTLM 認証
-
スクリプトベースの認証
-
JSON ベースの認証
-
- 認証パラメータを定義します。通常、これにはログイン URL とペイロード形式(ユーザー名とパスワード)が含まれます。必須パラメータは、使用する認証方法に固有のものです。
- 有効なユーザーとパスワードを追加します。アプリケーションがロールに基づいて異なる機能を公開する場合は、複数のユーザーを作成します。
これらの設定を行ったら、スキャンで参照するコンテキストをファイルとしてエクスポートできます。
スキャン コマンドの引数としてファイルパスを含める必要があるため、コンテキストは参照しやすい場所に保存してください。これで、コンテキスト内で指定されたユーザー ログインを使用して、認証済みスキャンを実行できるようになります。例:
docker run -p 8080:8080 -v $(pwd):/zap/wrk/:rw -t owasp/zap2docker-stable zap-full-scan.py -t https://example.com -P 8080 -c zap-casa-config.conf -x results-full.xml -n /Users/DemoUser/Documents/Context.context -U test@example.com