직무 · 프로젝트핵심 · 11분 읽기
팀 간 인계: 검증 시나리오에서 보안정책·탐지·재시험까지
네트워크·서버·공격 검증·관제 역할이 어떤 자료를 주고받아야 하나의 검증된 서비스로 연결되는지 설명한다.
개념부터 찾아보기
정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.
이 노트에서 설명할 수 있게 되는 것
- 시나리오·관찰 지점·방어 위치를 연결한다.
- 구현자가 해석할 수 있는 정책 명세와 탐지 관리 대장을 작성한다.
- 한 번의 시험을 여러 팀의 증거와 같은 ID로 묶는다.
먼저 알면 좋은 개념프로젝트 기획: 문제·요구사항·아키텍처·인수 기준
01팀 이름보다 입력과 산출물이 중요하다
- 역할별 입력과 산출물역할 분담 예: PM, 네트워크, 서버, Red, Purple 담당으로 나누고 각 산출물을 최종 검증 결과에 연결한다.
- 역할명과 분담 범위는 프로젝트에 맞게 정의한다.
- 조직마다 직무 명칭과 업무 경계는 다르지만, 환경을 제공하는 역할·검증 조건을 만드는 역할·관측하고 판단하는 역할 사이의 전달 자료는 필요하다.
- 연결 지점의 합의Red의 시나리오만 받아서는 탐지나 차단을 설계하기 어렵다.
- 대상 서비스와 계정 권한, 요청의 종류, 기대한 상태 변화, 시간과 관찰 지점이 있어야 한다.
- 서버·네트워크 역할은 정상 서비스 흐름과 허용 경계를 제공하고, 관제 역할은 패킷·로그에서 볼 수 있는 정보와 볼 수 없는 정보를 되돌려 준다.
- 통합 작업은 이런 차이를 맞추는 과정이다.
02검증 결과를 보안정책으로 연결하는 단계
- 자산·흐름 파악보호할 서비스와 정상 트래픽, 관측 위치와 팀별 관리 구간을 확인한다.
- 시험 조건 정의검증할 행위, 대상, 전제 조건과 예상 로그·경보를 정한다.
- 관찰 자료 수집센서·서버·네트워크의 시간과 식별자를 맞춰 실제 수신·탐지 여부를 확인한다.
- 정책 명세출발지·목적지·방향·프로토콜·포트·행위 조건과 적용 위치·예외·소유자를 적는다.
- 적용 후 재시험동일 시나리오와 정상 요청을 비교해 차단·탐지·업무 영향, 오탐과 미탐을 확인한다.
- 인계와 운영룰 버전·증적·변경/복구 절차·알려진 한계를 전달하고 수신 담당자가 재현하는지 확인한다.
03검증 결과를 정책으로 구체화하기
- 검증에서 정책으로검증 시나리오의 패킷·로그 패턴을 분석해 보안정책과 룰의 조건을 정한다.
- 네트워크와 서버 중 적용 위치를 협의하고 구현 담당자에게 전달한다.
- 이 순서는 관찰한 현상과 통제 지점을 연결하는 방법으로 읽는다.
- 문서가 그렇게 서술한다는 사실과 모든 규칙의 효과가 검증되었다는 사실은 구분해야 한다.
- 차단 조건의 구체화발표의 보완점에는 룰 검토가 충분하지 않았고 차단 정책을 얼마나 구체적으로 전달해야 할지 혼선이 있었다는 내용이 있다.
- 이를 해결하려면 “해당 공격 차단”이라는 요청을 출발지·목적지·방향·조건·예외·로그·원복·재시험이 있는 명세로 바꾼다.
- 네트워크가 볼 수 없는 애플리케이션 권한 문제는 애플리케이션에서 해결하고, 경계 통제와 탐지는 보조 역할로 설계한다.
04정책 명세의 최소 필드
- 정책 명세정책 명세는 장비 명령어보다 상위의 의도를 담는다.
- 어느 업무 흐름을 허용하고 무엇을 제한하는지, 정상 사용자가 영향을 받지 않는 조건은 무엇인지가 먼저다.
- 구현은 장비별 문법으로 변환하되 원래 정책 ID를 남긴다.
- 적용 전후의 정상 요청과 거부 요청을 함께 시험해야 잘못된 차단을 발견할 수 있다.
- 소유자와 적용 위치나 프록시를 거치면 장비가 보는 출발지와 애플리케이션이 기록하는 주소가 달라질 수 있다.
- “출발지 주소 기준 차단”이라고만 쓰면 적용 위치마다 결과가 달라진다.
- 관측 위치, 변환 전후 주소의 의미, 신뢰하는 전달 헤더의 출처를 명세에 포함한다.
| 필드 | 내용 |
|---|---|
| 정책 ID·의도 | 보호할 자산과 제한하려는 동작 |
| 대상·방향 | 구간·역할·포트·요청 또는 계정 조건 |
| 허용 예외 | 정상 업무·관리 접근의 최소 범위 |
| 적용·책임 | 장비/서비스·담당·승인·작업 창 |
| 관측·검증 | 로그 필드·경보·정상/거부 시험 |
| 원복·재검토 | 이전 설정·중단 조건·재시험 시점 |
원리 심화
05팀 사이 인터페이스를 데이터·정책·책임 계약으로 정의하기
- 이벤트 스키마event_time, ingest_time, asset_id, source_type, action, result 등 필요한 필드를 정한다. 같은 이름을 써도 자료형·단위·허용값이 다르면 계약이 일치하지 않는다.
- 시간과 순서발생 시각·수집 시각·저장 시각을 구분하고 시간대·정밀도·지연 허용 범위를 정한다. 도착 순서가 실제 사건 순서와 같다고 가정하지 않는다.
- 식별자와 상관관계공통 시험 ID나 요청 식별자를 통해 여러 팀의 결과를 연결한다. ·프록시·공유 계정 때문에 IP나 사용자 이름 하나가 같은 사건을 항상 식별하지는 않는다.
- 규칙 배포 계약규칙 ID·버전·필요 필드·입력 소스·예상 경보·예외·롤백 방법을 전달한다. 룰 파일만 공유하면 수신 측에서 활성화·입력·출력을 검증하기 어렵다.
- 소유권 경계송신 팀은 어떤 자료까지 보장하고 수신 팀은 어디서부터 검증하는지 합의한다. 누락·형식 오류·중복 발견 시 담당자와 전달 경로를 명시한다.
- 호환성 변경필드 삭제·의미 변경은 수신 파서와 탐지에 영향을 준다. 변경 버전·적용 시각·동시 지원 기간을 기록하고 통합 시험으로 확인한다.
06탐지 관리 대장은 룰 코드와 별도로 필요하다
- 룰과 관리 대장룰 관리에는 식별자, 개정, 목적, 적용 센서와 엔진 버전, 필요한 데이터, 정상·탐지 샘플, 알려진 한계를 기록한다.
- 중복 SID나 서로 다른 버전의 문법이 섞이면 룰 수가 많아도 어떤 규칙이 로드되었는지 알기 어렵다.
- 코드 저장소의 버전과 센서가 실제 로드한 버전, 시험 결과가 일치해야 한다.
- 변경·배포·재시험원본에는 탐지 제목과 조건이 맞지 않는 예가 보인다.
- 기반 웹 실습을 대상으로 하면서 광범위한 빈도만 세는 조건은 그 웹 요청을 입증하지 못한다.
- SSH SYN의 빈도는 연결 시도 관찰이며 암호화된 인증 실패 횟수와 동일하지 않다.
- 정상 도구의 User-Agent나 세미콜론 같은 문자도 단독으로 공격 성공을 증명하지 않는다.
- 따라서 이름보다 실제 조건과 관측 가능한 데이터로 룰의 의미를 설명한다.
07자산→데이터→규칙→대응의 매핑
- 자산과 데이터자산의 중요한 상태 변화가 어느 로그에 어떤 필드로 나타나는지 매핑한다.
- backend의 DOWN 상태는 서버 이름, 상태 검사 결과, 시각이 필요하고, 메일 전달은 메시지 식별자와 큐 상태를 연결한다.
- 네트워크 이웃 상태 변화는 장비·인터페이스·이웃·영역이 있어야 영향 범위를 좁힐 수 있다.
- 규칙과 대응 책임소스가 조용한 것과 수집기가 고장 난 것은 다르다.
- 마지막 발생 시각과 마지막 수신 시각, 파서 실패, 입력량, 수집기 연결 상태를 함께 본다.
- 각 시나리오에 Source·Field·Rule·Owner·Response를 연결한다.
- 경보가 없을 때 수집원·필드·규칙·전달 경로 중 어느 단계가 원인인지 나누어 확인한다.
- 데이터 수집 상태도 관제의 대상이다.
예제로 추적
08로그 한 건 누락으로 탐지가 실패하는 통합 시험
- 가상 시험 계약격리된 학습용 입력으로 같은 30초 구간의 로그인 실패 5건과 정상 2건을 준비한다. 예제 규칙은 이 구간의 실패 5건 이상일 때 경보 1건을 생성한다고 정한다.
- 송신·수집 확인원천 7건과 수집 7건을 시험 ID로 맞춘다. 단순 서비스 up 상태 대신 실제 시험 이벤트가 어느 경계까지 도착했는지 확인한다.
- 파싱 경계 관찰가상 결과에서 실패 1건의 시각 형식을 파서가 거부하여 정상화된 이벤트는 6건, 실패는 4건이라고 가정한다.
- 탐지 결과 해석규칙 입력에는 실패 4건뿐이므로 경보가 없는 것이 규칙 계약과 일치한다. 이 단계에서 임계값을 낮추면 파서 누락의 원인을 가릴 수 있다.
- 수정 후 같은 입력 재시험시간 형식 처리를 보완해 정상화된 7건과 실패 5건을 확인하고 기대 경보 1건이 생성되는지 본다. 정상 2건이 실패로 분류되지 않았는지도 함께 확인한다.
- 인계 완료오류 표본·파서 버전·룰 버전·중복/지연 처리·재현 절차를 전달한다. 받는 팀이 같은 기대 결과를 재현한 뒤 인계를 종료한다.
| 경계 | 수정 전 가상 관측 | 수정 후 기대 |
|---|---|---|
| 원천→수집 | 7건→7건 | 동일 |
| 수집→정상화 | 7건→6건 | 7건→7건 |
| 실패 조건 입력 | 4건 | 5건 |
| 경보 | 0건 | 1건 |
09통합 시나리오는 한 번에 한 조건씩 바꾸기
- 변경 조건의 통제통합 실습은 사전 합의 → 정상 기준선 → 한 가지 변경 → 관찰·대응 → 원복 → 같은 조건 재시험 순으로 진행한다.
- 애플리케이션 health check 실패와 NIC 장애를 동시에 일으키면 어느 계층에서 복구가 일어났는지 분리하기 어렵다.
- 먼저 backend 하나의 상태 실패를 관찰하고 원복한 뒤 링크 장애를 시험하는 방식으로 원인과 결과를 연결한다.
- 관측과 기대 결과각 실행에는 시험 ID와 실행 ID를 붙인다.
- 프로토콜 자체 로그에 사용자 정의 ID를 넣을 수 없다면 시작·종료 시각, 대상 역할, 요청 특성, 장비 인터페이스와 변경 기록으로 묶는다.
- 시각 기준이 다르면 사건 순서가 뒤집혀 보일 수 있으므로 시간대와 동기화 상태도 시험 전제에 들어간다.
- 아래 양식은 실제 값을 채워 팀별 증거를 연결하기 위한 것이다.
text
시나리오: WEB-HEALTH-01 / 실행: RUN-01
정상: backend 두 개 정상, 시험 요청 성공
변경 하나: 승인된 한 backend의 상태 검사 실패
예상: 해당 backend 제외, 다른 backend로 요청 처리
서버 증거: 서비스/애플리케이션 상태와 시각
관제 증거: 상태 경보·요청 로그·수집 지연
복구: 변경 원복 후 재편입과 정상 요청 확인
판정: 예상과 실제의 일치·차이·추가 확인프로젝트 문서 작성 연습용 예시. 실제 수행 결과가 아니다.
10인계는 전달·수신·검증까지 닫기
- 인계의 완료 조건정책을 보냈다는 기록만으로 구현이 완료된 것은 아니다.
- 받은 팀이 해석한 대상과 방향을 확인하고, 적용 버전·작업 시각·검증 결과를 회신해야 한다.
- 탐지 규칙도 작성, 문법 검증, 배포, 로드 확인, 샘플 시험이 각각 다른 단계다.
- 스캐너 결과의 조치도 변경 완료와 동일 조건 재시험 통과를 나눠 관리한다.
- 역할과 수행 근거마지막 인계 묶음에는 ·정책·탐지·시험 ID의 대응표, 실제 설정 버전, 정상과 실패 증거, 미해결 항목, 담당자와 복구 절차가 포함된다.
- 사용자에게 보여 줄 발표에서는 핵심 흐름을 간결하게 설명하되, 기술 결과와 판단 근거를 담은 보고서는 별도로 유지한다.
- 세부 기술은 관련 관제·취약점 문서에서 이어서 학습한다.
검증·예외
11통합 결과가 팀별 성공 보고와 다를 때
- 활성 버전 대조작성한 규칙, 서버에 복사한 규칙, 실제 가 읽은 규칙 버전을 구분한다. 배포 성공 메시지와 활성 정책이 같은지 확인한다.
- 입력 위치 대조암호화 전·후, 전·후, 프록시 앞·뒤의 관찰 필드는 다를 수 있다. 센서에서 볼 수 없는 값을 탐지 조건으로 요구하고 있지 않은지 확인한다.
- 중복과 재처리재전송·재수집으로 같은 사건이 여러 번 들어오면 횟수 임계값이 달라질 수 있다. 원천 ID·중복 키·재처리 정책을 같은 계약으로 맞춘다.
- 지연과 시간창이벤트가 늦게 도착할 때 발생 시각과 수집 시각 중 무엇으로 창을 계산하는지 확인한다. 한 팀의 정상 전송과 다른 팀의 창 만료가 동시에 성립할 수 있다.
- 검증의 두 방향검증용 행위를 탐지하는 것과 정상 업무를 계속 허용하는 것을 모두 시험한다. 차단 성공만 보고 정상 요청의 장애를 놓치지 않는다.
- 책임보다 경계 확인문제가 난 팀을 추측하기보다 동일 시험 ID의 원천·수집·파싱·규칙·전달·화면을 차례로 대조한다. 처음 달라진 경계가 다음 확인 지점이다.
학습 확인
이해했는지 확인하기
- 담당·검토·승인과 완료 조건을 구분해 기록한다.
- 문서의 결론에서 해당 설정·시험·증거로 이동할 수 있게 연결한다.
- 계획·예시·실제 수행 결과와 미검증 사항을 구분한다.