플로우

다운로드 1
업데이트 2026. 5. 11.

사용 매뉴얼

개요

대상 사용자: 로그프레소 소나(SIEM)를 운영하면서 flow 협업 도구를 알림·정보 공유 체계로 활용하려는 보안 담당자 및 운영자

flow 앱을 통해 다음과 같은 업무를 수행할 수 있습니다.

  • 보안 위협 탐지 시 알림봇을 통해 담당자에게 즉시 전파
  • flow 프로젝트에 보안 현황·분석 결과를 정기적으로 게시
  • 위협 분석 결과를 프로젝트 업무로 등록하여 대응 현황을 추적·관리
  • flow 구성원 계정의 활성화/비활성화를 일괄 관리

기본 개념·용어

용어의미관련 리소스
접속 프로파일flow API 연결 자격증명(API 키·엔드포인트)을 저장하는 로그프레소 객체. 모든 flow 확장 명령어에서 profile 옵션으로 지정설치 매뉴얼
알림봇flow에서 메시지 전송·게시글·업무 등록을 수행하는 봇 계정. Developer Portal에서 생성하며, bot-id로 지정flow-bots
프로젝트 번호flow 프로젝트의 고유 식별자. 게시글·업무 등록 명령어에서 project-id로 지정
dry-runAPI를 실제 호출하지 않고 예상 결과만 확인하는 시험 실행 모드. 기본값 t(활성)
emp_keyflow 구성원의 고유 식별자 (이메일 형식). 알림 수신자 지정·계정 관리에 사용flow-employees

주요 화면·메뉴 경로

기능경로
앱 설치·관리
접속 프로파일 설정시스템 > 접속 프로파일
확장 명령어 실행분석 > 쿼리
예약된 쿼리 (자동화)분석 > 예약된 쿼리
탐지 현황 확인분석 > 탐지 현황

작업 시나리오

시나리오 1: 보안 위협 발생 시 담당자 긴급 알림 전파

목적: 실시간 탐지 룰에 의해 높은 심각도의 보안 이벤트가 발생했을 때, flow 알림봇을 통해 보안 담당자에게 즉시 알림을 전파합니다. 예약된 쿼리와 연동하면 자동화된 알림 체계를 구축할 수 있습니다.

사전 조건:

  • flow 접속 프로파일이 등록되어 있어야 합니다 (설치 매뉴얼 참조)
  • 알림봇이 생성되어 있고, API Restriction에 createBotNotifications가 허용되어 있어야 합니다
  • 알림 수신 대상자의 emp_key(이메일)를 알고 있어야 합니다

수행 절차:

  1. 분석 > 쿼리로 이동합니다.

  2. 먼저 알림봇 ID를 확인합니다.

flow-bots profile=flow
  1. 수신 대상자를 확인합니다. 보안팀 구성원만 대상으로 하려면 부서 코드로 필터링합니다.
flow-employees profile=flow
| search dept_name == "보안팀"
  1. 탐지 이벤트를 조회하고, 해당 결과를 알림으로 전파합니다. 아래는 최근 10분간 높은 심각도 이벤트를 탐지하여 담당자에게 전송하는 예시입니다.
table sonar_alerts #예시 테이블
| search _time >= now() - 10m AND severity == "high"
| eval title = "[긴급] " + rule_name
| eval contents = "탐지 시각: " + string(_time) + "\n출발지: " + src_ip + "\n목적지: " + dst_ip + "\n설명: " + description
| eval emp_key = "user@example.com"
| flow-send-notification-batch profile=flow bot-id=alert@example.com
Tip
처음 실행할 때는 `dry-run=t`(기본값)로 예상 결과를 먼저 확인한 후, `dry-run=f`를 추가하여 실제 전송하세요.
  1. 여러 담당자에게 동시에 전파하려면, 수신 대상을 파이프라인으로 생성합니다.
json "[{\"emp_key\":\"user@example.com\"},{\"emp_key\":\"admin@example.com\"}]"
| flow-send-notification-batch profile=flow bot-id=alert@example.com title="[긴급] 비인가 접근 탐지" contents="192.0.2.1에서 내부 DB 서버 비인가 접근이 탐지되었습니다." dry-run=f
  1. 자동화하려면 분석 > 예약된 쿼리에서 위 쿼리를 등록하고 실행 주기(예: 5분)를 설정합니다.

결과 확인:

쿼리 결과로 아래와 같은 레코드가 출력됩니다.

emp_key_resultbot_idtitle
user@example.comsuccessalert@example.com[긴급] 비인가 접근 탐지
admin@example.comsuccessalert@example.com[긴급] 비인가 접근 탐지
  • _resultsuccess이면 알림이 정상 전송된 것입니다.
  • flow 앱에서 해당 알림봇의 채팅방을 확인하면 메시지를 확인할 수 있습니다.

실패 대응:

증상원인해결
_resultfail, _errorUnauthorized 표시API 키 만료 또는 잘못된 키시스템 > 접속 프로파일에서 API 키 재설정
_resultfail, _errorForbidden 표시API Restriction에 createBotNotifications 미허용flow Developer Portal에서 Rule-Set 확인
_resultfail, emp_key 관련 오류수신자 emp_key가 잘못되었거나 비활성 계정flow-employees로 유효한 emp_key 확인
쿼리 결과 0건탐지 이벤트 테이블명·필드명 불일치탐지 룰의 출력 테이블·필드명과 쿼리 조건 확인

시나리오 2: 보안 현황 정보의 프로젝트 정기 게시

목적: 보안팀 flow 프로젝트에 일간/주간 보안 현황 요약을 자동으로 게시하여 팀원에게 정기적으로 보안 정보를 공유합니다. 예약된 쿼리와 연동하면 매일 아침 자동으로 보안 리포트가 게시되는 체계를 구축할 수 있습니다.

사전 조건:

  • flow 접속 프로파일이 등록되어 있어야 합니다
  • 알림봇이 생성되고, 대상 프로젝트에 초대되어 있어야 합니다 (설치 매뉴얼 "봇 프로젝트 초대" 참조)
  • API Restriction에 createBotPost가 허용되어 있어야 합니다
  • 대상 프로젝트의 프로젝트 번호를 알고 있어야 합니다

수행 절차:

  1. 분석 > 쿼리로 이동합니다.

  2. 먼저 dry-run으로 게시글 내용을 확인합니다. 아래는 일간 보안 현황 요약을 게시하는 예시입니다.

flow-create-post profile=flow bot-id=alert@example.com project-id=0000000 title="[일간 보안 현황] 2026-05-12" contents="■ 탐지 이벤트 요약\n- 높음: 3건\n- 중간: 12건\n- 낮음: 45건\n\n■ 주요 이슈\n- 192.0.2.1 → 내부 DB 비인가 접근 시도 (3회)\n- 외부 C2 통신 의심 호스트 1건 확인\n\n■ 조치 현황\n- 차단 완료: 2건\n- 분석 중: 1건" dry-run=t
  1. dry-run 결과를 확인한 후 dry-run=f로 실제 게시합니다.
flow-create-post profile=flow bot-id=alert@example.com project-id=0000000 title="[일간 보안 현황] 2026-05-12" contents="■ 탐지 이벤트 요약\n- 높음: 3건\n- 중간: 12건\n- 낮음: 45건\n\n■ 주요 이슈\n- 192.0.2.1 → 내부 DB 비인가 접근 시도 (3회)\n- 외부 C2 통신 의심 호스트 1건 확인\n\n■ 조치 현황\n- 차단 완료: 2건\n- 분석 중: 1건" dry-run=f
  1. 탐지 통계를 쿼리로 자동 집계하여 게시글 본문에 반영하는 고급 활용 예시입니다. 프로시저에서 변수로 본문을 생성한 뒤 전달하면 완전 자동화가 가능합니다.
Tip
`contents` 옵션에서 줄바꿈은 `\n`을 사용합니다. flow 게시글에서 줄바꿈이 적용되어 표시됩니다.
  1. 자동화하려면 분석 > 예약된 쿼리에서 위 쿼리를 등록하고 매일 아침(예: 09:00) 실행되도록 설정합니다.

결과 확인:

쿼리 결과로 아래와 같은 레코드가 출력됩니다.

_result_flow_post_id
success12345678
  • _resultsuccess이면 게시글이 정상 등록된 것입니다.
  • flow 프로젝트의 피드 탭에서 게시글이 표시되는지 확인합니다.

실패 대응:

증상원인해결
_resultfail, Forbidden 오류봇이 해당 프로젝트에 초대되지 않음설치 매뉴얼 "봇 프로젝트 초대" 절차 수행
_resultfail, project-id 관련 오류프로젝트 번호가 잘못됨flow에서 프로젝트 더보기(⋮) 메뉴로 프로젝트 번호 재확인
_resultfail, Unauthorized 오류API 키 만료 또는 createBotPost API 미허용Developer Portal에서 API 키·Rule-Set 확인

시나리오 3: 위협 분석 결과의 프로젝트 업무 등록 및 추적

목적: SIEM에서 탐지한 보안 위협의 분석 결과를 flow 프로젝트에 업무로 등록하여, 보안팀이 위협 대응 현황을 체계적으로 추적·관리합니다. 각 위협 이벤트가 하나의 업무 카드가 되어 상태(대기→진행→완료)를 관리할 수 있습니다.

사전 조건:

  • flow 접속 프로파일이 등록되어 있어야 합니다
  • 알림봇이 생성되고, 보안 위협 분석 프로젝트에 초대되어 있어야 합니다
  • API Restriction에 createBotTask가 허용되어 있어야 합니다
  • 대상 프로젝트의 프로젝트 번호를 알고 있어야 합니다

수행 절차:

  1. 분석 > 쿼리로 이동합니다.

  2. 단건 위협 분석 결과를 업무로 등록하는 예시입니다.

flow-create-task profile=flow bot-id=alert@example.com project-id=0000000 title="[위협분석] C2 통신 의심 호스트 조사" contents="■ 탐지 정보\n- 탐지 시각: 2026-05-12 14:30\n- 출발지: 192.0.2.1\n- 목적지: 198.51.100.1 (C2 의심)\n- 탐지 룰: Suspicious Outbound Connection\n\n■ 분석 요청사항\n- 해당 호스트 통신 이력 분석\n- 악성코드 감염 여부 확인" status=request priority=high start-date=20260512 end-date=20260514 dry-run=f
  1. 탐지 이벤트를 자동으로 업무에 일괄 등록하려면 파이프라인을 활용합니다. 아래는 최근 1시간 동안 높은 심각도 이벤트를 조회하여 각각 업무로 등록하는 예시입니다.
table sonar_alerts
| search _time >= now() - 1h AND severity == "high"
| eval project_id = "0000000"
| eval title = "[위협분석] " + rule_name + " (" + src_ip + ")"
| eval contents = "탐지 시각: " + string(_time) + "\n출발지: " + src_ip + "\n목적지: " + dst_ip + "\n설명: " + description
| eval status = "request"
| flow-create-task-batch profile=flow bot-id=alert@example.com dry-run=f
Tip
`status` 값은 `request`(대기), `progress`(진행), `feedback`(피드백), `complete`(완료), `hold`(보류) 중 하나를 지정합니다. 신규 위협 분석 건은 `request`로 등록하는 것이 일반적입니다.
  1. priority 옵션으로 우선순위를 지정할 수 있습니다: low, normal, high, urgent. SIEM 탐지 심각도를 flow 업무 우선순위에 매핑하면 효과적입니다.

  2. 자동화하려면 분석 > 예약된 쿼리에서 위 쿼리를 등록합니다.

결과 확인:

쿼리 결과로 아래와 같은 레코드가 출력됩니다.

_result_flow_task_id
success87654321
  • _resultsuccess이면 업무가 정상 등록된 것입니다.
  • flow 프로젝트의 업무 탭에서 등록된 업무 카드를 확인하고, 담당자 배정·상태 변경을 진행합니다.

실패 대응:

증상원인해결
_resultfail, Forbidden 오류봇이 해당 프로젝트에 초대되지 않음설치 매뉴얼 "봇 프로젝트 초대" 절차 수행
_resultfail, status 관련 오류status 값이 허용되지 않는 값request, progress, feedback, complete, hold 중 하나 지정
_resultfail, createBotTask 관련 오류API Restriction에 createBotTask 미허용Developer Portal에서 Rule-Set에 createBotTask 추가
파이프라인 입력에서 일부만 fail특정 레코드에 필수 필드(title, contents, status) 누락입력 데이터의 eval 구문에서 null 값 여부 확인

주의사항

  • dry-run 기본값은 t(활성)입니다: 모든 상태 변경·전송 명령어는 기본적으로 시험 실행 모드로 동작합니다. 실제 실행하려면 반드시 dry-run=f를 명시해야 합니다.
  • flow API Rate Limit: flow API에는 호출 횟수 제한이 있을 수 있습니다. 대량 일괄 처리(batch) 시 API 호출 실패가 발생하면 실행 주기를 늘리거나 건수를 나누어 처리하세요.
  • 구성원 비활성화 시 필드 초기화: flow-deactivate-employee 명령어로 구성원을 비활성화할 때, 요청에 포함하지 않은 선택 필드(부서 코드, 직책, 전화번호, 이메일)가 초기화됩니다. 기존 정보를 보존하려면 flow-employees 조회 결과를 파이프라인으로 연결하는 batch 명령어를 사용하세요.
  • 봇 프로젝트 초대 필수: 게시글 등록(flow-create-post)과 업무 등록(flow-create-task) 기능은 봇이 해당 프로젝트에 초대된 상태에서만 동작합니다. 봇이 초대되지 않은 프로젝트에 게시하면 Forbidden 오류가 발생합니다.
  • 예약된 쿼리 자동화 시 dry-run=f 확인: 예약된 쿼리로 자동화할 때 dry-run=f를 빠뜨리면 시험 실행만 반복됩니다. 실제 전송·등록이 필요하면 반드시 dry-run=f를 포함하세요.

FAQ

Q. 한 번에 여러 프로젝트에 동시에 게시글을 등록할 수 있나요? A. flow-create-post-batch 명령어를 사용하면 파이프라인 입력으로 여러 프로젝트에 일괄 게시할 수 있습니다. 각 레코드에 project_id, title, contents 필드를 포함하면 됩니다.

Q. 알림봇 메시지에 URL 링크를 포함할 수 있나요? A. flow-send-notificationflow-send-notification-batch 명령어에 url 옵션을 지정하면 알림 메시지에 링크가 포함됩니다. 소나 대시보드 URL 등을 전달하면 담당자가 바로 이동할 수 있습니다.

Q. flow 구성원 전체 목록을 부서별로 확인하려면 어떻게 하나요? A. 아래 쿼리로 부서 트리 구조와 구성원을 확인할 수 있습니다.

flow-departments profile=flow pretty=t
flow-employees profile=flow
| stats count by dept_name

관련 문서