동적 스캔 절차

Zap

스캔 도구 Web Mobile Local API Extension Serverless 안내
OWASP® Zed Attack Proxy (ZAP)

OWASP ZAP, ZAP Docker 컨테이너를 사용하여 애플리케이션에 대해 자동화된 동적 검색 (DAST)을 수행합니다. 사전 정의된 구성 파일에는 이미 필요한 모든 CWE가 포함되어 있습니다. 환경 및 Docker 실행 명령어에 추가하기만 하면 됩니다.

각 유형의 정의를 확인하려면 여기를 클릭하세요. 앱 유형

다음 단계에 따라 웹, 모바일 또는 내부 애플리케이션에서 전체 검사를 실행할 수 있습니다.

  1. DAST 및 API 검색은 ZAP Docker 이미지를 사용하여 실행됩니다. 웹, 모바일 또는 내부 애플리케이션의 경우 전체 ZAP 검사는 prod-1 또는 스테이징 환경에서 실행해야 합니다. 

  2. zap-casa-config.conf 구성 파일을 다운로드하고 해당 디렉터리로 이동합니다. 

  1. 검사를 실행할 컨텍스트 파일을 생성합니다. 자세한 내용은 아래의 '인증' 안내를 참고하세요.

  1. 다음 명령어를 실행합니다.

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
  1. 출력은 XML 파일로 저장됩니다 (예시는 zap-results-full.xml 참고).

API 스캔은 다음 단계에 따라 수행할 수 있습니다.

  1. API 스캔의 경우 zap-casa-api-config.conf 구성 파일을 사용합니다. 

  1. 해당 디렉터리로 이동하여 다음 명령어를 실행합니다.

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
  1. 출력은 XML 파일로 저장됩니다 (여기에 첨부된 예: zap-results-api.xml ).

인증

사용자 데이터가 저장 및 액세스되는 위치를 파악하려면 인증과 함께 ZAP 검색을 수행해야 합니다. 스캔을 실행하기 전에 이를 구성해야 합니다. ZAP Docker 이미지를 사용하면 인증과 관련된 두 가지 인수가 허용됩니다.

-n 컨텍스트 파일

타겟을 스캔하기 전에 로드할 컨텍스트 파일

-U 사용자

인증된 스캔에 사용할 사용자 이름입니다. 지정된 컨텍스트 파일에 사용자가 정의되어 있어야 합니다. 

이 매개변수를 설정하려면 컨텍스트 파일을 만들어야 합니다. 가장 쉬운 방법은 ZAP 데스크톱 UI를 사용하는 것입니다.

Zap 컨텍스트
  1. 인증 메커니즘을 설정합니다. ZAP는 현재 5가지 인증 접근 방식을 지원합니다.

    • 수동 인증

    • 양식 기반 인증

    • HTTP/NTLM 인증

    • 스크립트 기반 인증

    • JSON 기반 인증

Zap 인증
  1. 인증 매개변수를 정의합니다. 여기에는 일반적으로 로그인 URL과 페이로드 형식 (사용자 이름 및 비밀번호)이 포함됩니다. 필수 매개변수는 사용 중인 인증 방법에 따라 다릅니다.
zap 인증 구성
  1. 유효한 사용자 및 비밀번호를 추가하세요. 애플리케이션이 역할에 따라 다른 기능을 노출하는 경우 여러 사용자를 만듭니다.
Zap 사용자 구성

이 설정을 구성한 후에는 컨텍스트를 참조로 스캔하여 참조할 수 있습니다.

Zap 내보내기 컨텍스트

참조하기 쉬운 위치에 컨텍스트를 저장해야 합니다. 파일 경로를 스캔 명령어의 인수로 포함해야 하기 때문입니다. 이제 컨텍스트 내에서 지정된 사용자 로그인을 사용하여 인증된 검사를 실행할 수 있습니다. 예:

Zap 사용자 만들기
  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