개요
Tenable.io 통합(INT-003)은 취약점 발견 항목을 CaseBender로 수집하고 CVSS 기반 심각도와 CVE 관찰 대상으로 보강하여 알림(및 선택적으로 케이스)으로 변환합니다.폴링은 Tenable.io 취약점 익스포트 API를 사용하며 API 키 쌍(access key +
secret key)으로 인증합니다.
기능
사전 요구 사항
1
API 키 생성
Tenable.io에서 Settings → My Account → API Keys로 이동하여 키 쌍을 생성합니다. Access Key
와 Secret Key를 복사합니다.
2
네트워크 아웃바운드
CaseBender 폴러가
https://cloud.tenable.com(또는 Tenable.io 프라이빗 리전 URL)에 도달할 수
있어야 합니다.CaseBender에서 통합 구성
1
통합 카탈로그 열기
Settings → Integrations → Create로 이동하여 Vulnerability Management 카테고리에서
Tenable.io를 선택합니다.
2
API 키 입력
3
자동 폴링 활성화(권장)
4
케이스 자동 생성 구성
인바운드(자동 폴링)
Tenable은 비동기 익스포트 작업을 통해 증분 취약점 데이터를 노출합니다. CaseBender는 이 플로우를 자동으로 처리합니다.1
익스포트 요청
각 주기마다 CaseBender는 마지막 커서 이후 업데이트된
OPEN/REOPENED 취약점의 익스포트를
요청합니다(선택적으로 심각도로 필터링). 첫 실행 시 윈도우는 pollingInitialLookbackHours입니다.2
대기 + 재개
CaseBender는 (제한된 범위 내에서) 익스포트 완료를 기다렸다가 청크를 다운로드합니다. 사이클의 시간
예산이 소진된 시점에 익스포트가 아직 생성 중이면 해당 ID가 저장되고 다음 사이클에서 재개됩니다.
데이터는 손실되지 않습니다.
3
커서 + 중복 제거
익스포트 완료 후 커서는 실행 시각까지 진행됩니다. 발견 항목은
asset.uuid + plugin.id로 중복
제거되므로 윈도우가 겹쳐도 중복이 생성되지 않습니다.익스포트는 비동기이므로 발견 항목은 Tenable에서 업데이트된 후 몇 분 뒤에 표시될 수 있습니다. 이는
취약점 데이터에서 예상되는 동작이며
pollingIntervalMinutes로 제어됩니다.보안 고려 사항
- 시크릿 처리 — API 키는 통합 설정에 저장됩니다. 조직 정책에 따라 교체하세요.
- 최소 권한 — 취약점에 대한 읽기 액세스 권한이 있는 사용자 계정에 연결된 키를 사용하세요.
- 네트워크 — 아웃바운드를 Tenable.io 리전 URL로 제한하세요.
문제 해결
폴링은 활성화되어 있지만 발견 항목이 표시되지 않음
폴링은 활성화되어 있지만 발견 항목이 표시되지 않음
access/secret 키가 유효하고 커서 이후 업데이트된
OPEN/REOPENED 발견 항목이 존재하는지
확인하세요. 익스포트는 시간이 걸리므로 최소한 하나의 완전한 주기를 기다리세요. 모든 항목이
필터링되면 Minimum severity를 낮추세요.모든 CaseBender 서비스가 실행 중인지 확인하세요 — Docker에서는 docker compose ps에서
worker 및 misp-processor 서비스가 Up 상태여야 합니다.익스포트가 실패함
익스포트가 실패함
Tenable export … failed 오류는 익스포트 작업이 서버 측에서 실패했음을 나타냅니다. 다음 주기에
재시도됩니다. 키에 취약점 익스포트 권한이 있는지 확인하세요.