우리가 만든 EC2 환경에서 진단용 데이터가 생성됨.
EC2 + Nginx + Tomcat + 취약 웹앱
예시:
| 생성 데이터 | 설명 |
|---|---|
| HTTP 응답 헤더 | 보안 헤더 미설정, 서버 정보 노출 확인 |
| 웹앱 응답 본문 | XSS, 민감정보 노출 확인 |
| 로그인 응답 결과 | SQL Injection 성공 여부 확인 |
| 접근 상태코드 | 관리자 페이지 노출 여부 확인 |
| 서버 로그 | 수동/자동 진단 요청 기록 |
즉, 우리가 만든 취약 웹앱이 진단 데이터 생성 지점이야.
수동 진단과 자동 진단이 각각 데이터를 수집함.
| 방식 | 수집 방법 | 결과 파일 |
|---|---|---|
| 수동 진단 | 사람이 브라우저, curl, 개발자도구로 확인 | manual_results.csv |
| 자동 진단 | Python scanner가 HTTP 요청 후 응답 분석 | auto_results.json |
| 로그 수집 | Nginx/Tomcat access log 확인 | 선택적으로 logs.csv |
이 부분에서 “수집”은 단순 로그 수집만 의미하는 게 아니라, 진단 결과 데이터를 모으는 과정으로 설명하면 돼.
수동 결과와 자동 결과를 check_id 기준으로 연결함.
예시:
manual_results.csv
+
auto_results.json
↓
check_id 기준 병합
↓
comparison_results.csv
예를 들어:
| check_id | 진단 항목 | 수동 결과 | 자동 결과 |
|---|---|---|---|
| WEB-001 | 보안 헤더 미설정 | 취약 | 취약 |
| WEB-002 | 서버 정보 노출 | 취약 | 취약 |
| WEB-003 | SQL Injection | 취약 | 취약 |
| WEB-004 | XSS | 취약 | 취약 |
| WEB-005 | 민감정보 노출 | 취약 | 취약 |
| WEB-006 | 관리자 페이지 노출 | 취약 | 양호 |
여기서 check_id가 핵심이야.
대시보드와 보고서 연결성을 위해 처음부터 반드시 통일해야 해.