Search

Trigger

대분류
DevOps/Tool
보안
소분류
FortiSoar
유형
Trigger
최종 편집 일시
2024/10/30 02:04
생성 일시
2024/01/09 00:55
15 more properties

Trigger

트리거는 플레이북이 실행될 시기 정의 (항상 플레이북의 첫번째 단계)

트리거 유형

On Create (조건 기반)

비동기 실행 - 트리거링 데이터 작업 차단 안함
설정해 놓은 조건의 Response가 발생하면 해당 플레이북 실행
조건 기반 트리거
1.
On Create Trigger 클릭
2.
Step Name 필드에서 이름 입력
3.
Resource Drop-down → 플레이북 생성 모듈 선택
4.
Save 클릭

On Update (조건 기반)

선택한 모델 유형의 레코드가 업데이트된 직후 플레이북 실행 시작
linking or changing one or more new relationships을 포함한 모든 필드 업데이트 가능
조건 기반 트리거

On Delete (조건 기반)

선택한 모델 유형의 레코드가 삭제된 직후 플레이북 실행
생성 시 트리거를 추가하는 것과 동일한 방식으로 추가 가능
자주 사용하지 않음

Trigger Condition

조건 기반 트리거
1.
드롭다운 목록에서 논리적 조건인 True(AND) / True(OR) - 상호 배타적(조건에 적용할 조건 중 하나만)를 선택하여 조건이 모두 충족되는 경우에만 플레이북이 트리거
2.
Add Condition : Field → Operator ← Field Name

Referenced (참조)

이후 섹션에서 설명하는 단계 에서 독점적으로 호출되는 플레이북을 위한 것
동적 데이터 요구 사항 : 하위 플레이북 실행 중에 사용할 상위 플레이북에서 제공되어야 함

Custom API Endpoint

다른 시스템의 REST API POST 작업을 사용하여 외부에서 플레이북을 시작하는데 사용할 수 있는 임의 엔드포인트 지정 가능
신한에서 주로 사용. 분석데이터를 지정해서 soc portal에서 호출 incident 날짜 불러오기
모든 플레이북은 애플리케이션에서 사용하는 마이크로서비스 아키텍처와 함께 기술 수준의 API를 사용하여 트리거 되지만, 개념적으로 이 트리거를 통해 API 기반 작업에 사용할 엔드포인트 명시적 생성 가능
Step Name : 이름
Route : API 경로
인증 방법
1.
Token-Based (기본) - API 요청에 서명하기 위한 기본 API 방법 참고: 토큰 기반(HMAC) 인증의 경우 타임스탬프는 UTC 형식
2.
Basic Authentication - username:password 헤더에 있는 Base64 인코딩 버전.  제대로 작동하려면 2단계 인증이 켜지지 않은 사용자의 사용자 이름과 비밀번호가 필요. 유의: 이 방법은 별도의 엔드포인트도 사용
3.
No Authentication (Not recommended) - 엔드포인트에 인증 방법이 적용되지 않으며 RESTful POST 방법이 플레이북을 트리거. 이는 데이터를 내보내는 유일한 옵션이 웹후크를 사용하는 것인 애플리케이션을 주로 목표로 하지만 이 방법은 보안이 부족하여 일상적인 사용에는 권장 안함.

Manual Trigger (기본)

수동 트리거를 사용하면 시스템 모든 모듈 내에서 특정 플레이북을 호출 가능
Step Name : 이름
Trigger Label Button : 이 플레이북을 트리거하기 위해 선택한 모듈에 표시될 이름 모듈 목록의 실행 드롭다운 목록에서 사용자에게 표시
Execution Behaviour Drop-down : 실행 동작 지정 옵션
Requires record input to run : 플레이북에서 레코드 실행이 필요한 경우
Run separately for each selected Record(기본) : 작업을 한번 실행해야 하는 경우
Run once for all selected records : 선택한 각 레코드에 대해 별도로 실행해야 할 경우
Does not require input record to run : 플레이북에서 레코드 실행이 필요하지 않은 경우 (그냥 실행)
해당 옵션을 사용하여 생성한 플레이북은 모듈의 실행 드롭다운 목록에 표시 또는 모듈 템플릿을 업데이트하여 이 작업에 대한 특정 버튼 생성 가능
+ Choose record modules on which the playbook would be available on : 이 트리거를 등록하고 플레이북을 실행할 하나 이상의 모듈 선택 Excute Drop-down 목록에서 이 Manual 트리거를 선택하면 플레이북이 실행되고, 실행 시 등록된 모듈의 레코드(들)가 트리거와 함께 플레이북 환경으로 전달됨.
User Prompt (reference가 많을 때 user prompt를 사용)
UI 내에서 표준 필드 형식의 여러 유형의 입력 필드를 추가하여 사용자 정의된 사용자 프롬프트 양식을 구축 가능. (Add Field를 클릭하여 입력 필드 추가)
필드 제목이 자동으로 작성되는 대신 필드 제목과 변수 이름을 지정
필드에 대한 도구 설명을 추가합니다.
작업 버튼 이름을 원하는 이름으로 변경하세요. 기본값 : Execute
작업을 실행하기 전에 검토 또는 수정을 위해 입력 양식에 미리 채워진 양식 필드를 표시이점 : 소스 IP 주소 또는 종료 메모와 같이 플레이북에서 사용될 특정 필드를 검토 가능
1.
레코드 할당
a.
Input Type - Record Field
b.
Choose Record Field (레코드 필드 설정)
c.
Mark as Required Field In Prompt : 필수 필드로 표시 확인란을 선택하거나 선택 취소하여 사용자 프롬프트에서 이 필드가 필수인지 여부 선택 가능
d.
Field Label : 필드 타이틀 제목 입력 레코드 필드 표시
e.
Add Tooltip : 추가 정보
2.
사용자 커스텀
a.
Input Type - Custom
b.
Field Type - Text - 하위 유형 선택
c.
Prompt : 프롬프트 필수 여부 선택(다른 사용자에게 레코드 재할당 방지)
d.
Field Label : 필드 타이틀 제목
e.
Default Value : 사용자 정의 필드의 기본값 입력 ex) 날짜/시간 유형일 경우 - Static, Custom
f.
Add Tooltip : 추가정보
가시성 조건
경고 유형에 따라 추가 필드를 표시 ex) 피싱 → 피싱 유형, 랜섬웨어 → 랜섬웨어 유형 필드 표시
1.
User Prompt 아래쪽 화살표 클릭 후 Add Field 클릭
2.
Message(Input Type) → Choose Record Field → Type 선택
3.
Mark as Required Field In Prompt checkbox(check)
4.
Field Label : 필드 타이틀 제목
5.
조건 설정 : Type - Equals - Phishing

트리거 데이터

Key
Information Type
Applies To
auth_info
플레이북을 트리거한 사용자가 호출한 인증 유형이 표시. 증 없음, 기본 인증, CS HMAC 인증 중 하나
All
currentUser
플레이북을 트리거한 현재 사용자의 IRI입니다.
All
last_run_at
주기적으로 실행되는 플레이북의 마지막 실행 날짜
Scheduled
request.base_uri
플레이북이 실행되는 호스트 URI의 루트입니다. ex)https://fortisoar.sampleurl.com
All
request.uri
플레이북을 호출하는 데 사용되는 API 엔드포인트의 전체 URI 경로
All
input.records
작업 중인 레코드의 배열. 단일 레코드가 있는 생성 후, 업데이트 후 및 수동 트리거의 경우 배열에는 input.records[0]를 사용하여 액세스할 수 있는 레코드가 하나만 포함됨.
Manual trigger, Post-Create, and Post-Update triggers
input.params[‘api_body’]
요청 페이로드
API trigger only
input.params.<param_name>
플레이북 옵션 Input Parameters를 사용하여 지정된 입력
All
request.headers
플레이북을 호출한 요청과 함께 전송된 모든 헤더
All
request.headers[‘X-RUNBYUSER’]
플레이북을 트리거한 현재 사용자의 IRI
All
previous
변경되기 전의 녹화 데이터의 원본 버전 확인
Update trigger only
resource
플레이북의 대상 모듈
Database triggers
request
플레이북을 시작한 전체 요청 객체
All
request.data
정리된 데이터(JSON 형식인 경우)는 request.body와 연결됩니다.
All
request.method
플레이북이 트리거된 RESTful 메서드. POST 나  PUT
All

Custom API Endpoint Triggers

사용할 api 호출 (신한에서 주로 사용 - 분석데이터를 지정해서 soc portal에서 호출 incident date 불러오기)

Reference Trigger

다른 플레이북에서 호출되는 트리거