QRadar에서 기록 데이터 내보내기
이 문서에서는 QRadar에서 기록 데이터를 내보내는 방법을 설명합니다. 이 문서의 단계를 완료한 후 내보낸 데이터를 호스팅할 대상 플랫폼을 선택한 다음 수집 도구를 선택하여 데이터를 마이그레이션할 수 있습니다.
QRadar 데이터를 내보내려면 QRadar REST API를 사용하여 Ariel 데이터베이스에 저장된 데이터에 대한 AQL(Ariel Query Language) 쿼리를 실행합니다. 내보내기 프로세스는 리소스를 많이 사용하므로 쿼리에서 짧은 시간 범위를 사용하고 필요한 데이터만 마이그레이션하는 것이 좋습니다.
AQL 쿼리 만들기
QRadar 콘솔에서 로그 활동 탭을 선택합니다.
새 AQL 검색 쿼리를 만들거나 저장된 검색 쿼리를 선택하여 데이터를 내보냅니다. 쿼리에 날짜 및 시간 범위를 설정하는
START
및STOP
함수가 포함되어 있는지 확인합니다.나중에 사용할 수 있도록 AQL 쿼리를 복사합니다.
AQL 쿼리를 URL 인코딩 형식으로 인코딩합니다. 3단계에서 복사한 쿼리를 디코더에 붙여넣습니다. 인코딩된 형식 출력을 복사합니다.
검색 쿼리 실행
이러한 방법 중 하나를 사용하여 검색 쿼리를 실행할 수 있습니다.
- QRadar 콘솔 사용자 ID 이 방법을 사용하려면 데이터 마이그레이션에 사용되는 콘솔 사용자 ID가 내보내기에 필요한 데이터에 액세스할 수 있는 보안 프로필에 할당되었는지 확인합니다.
- API 토큰 이 메서드를 사용하려면 QRadar에서 API 토큰을 생성합니다.
검색 쿼리를 실행하려면 다음을 수행합니다.
기록 데이터를 다운로드할 시스템에 로그인합니다. 이 시스템에서 HTTPS를 통해 TCP/443에서 QRadar 콘솔 및 QRadar API에 액세스할 수 있는지 확인합니다.
기록 데이터를 검색하는 검색 쿼리를 실행하려면 명령 프롬프트를 열고 다음 명령 중 하나를 실행합니다.
QRadar 콘솔 사용자 ID 메서드의 경우 다음을 실행합니다.
curl -s -X POST -u <enter_qradar_console_user_id> -H 'Version: 12.0' -H 'Accept: application/json' 'https://<enter_qradar_console_ip_or_hostname>/api/ariel/searches?query_expression=<enter_encoded_AQL_from_previous_step>'
API 토큰 메서드의 경우 다음을 실행합니다.
curl -s -X POST -H 'SEC: <enter_api_token>' -H 'Version: 12.0' -H 'Accept: application/json' 'https://<enter_qradar_console_ip_or_hostname>/api/ariel/searches?query_expression=<enter_encoded_AQL_from_previous_step>
검색 작업 실행 시간은 AQL 시간 범위 및 쿼리된 데이터의 양에 따라 달라질 수 있습니다. 짧은 시간 범위에서 쿼리를 실행하고 내보내는 데 필요한 데이터만 쿼리하는 것이 좋습니다.
출력은 상태(예:
COMPLETED
,EXECUTE
,WAIT
,progress
,search_id
값)를 반환해야 합니다. 예시:
search_id
필드 값을 복사합니다. 이 ID를 사용하여 검색 쿼리 실행의 진행률 및 상태를 확인하고 검색 실행이 완료된 후 결과를 다운로드합니다.검색 상태 및 진행률을 확인하려면 다음 명령 중 하나를 실행합니다.
QRadar 콘솔 사용자 ID 메서드의 경우 다음을 실행합니다.
curl -s -X POST -u <enter_qradar_console_user_id> -H 'Version: 12.0' -H 'Accept: application/json' 'https:// <enter_qradar_console_ip_or_hostname>/api/ariel/searches/<enter_search_id_from_previous_step>'
API 토큰 메서드의 경우 다음을 실행합니다.
curl -s -X POST -H 'SEC: <enter_api_token>' -H 'Version: 12.0' -H 'Accept: application/json' 'https:// <enter_qradar_console_ip_or_hostname>/api/ariel/searches/<enter_search_id_from_previous_step>'
출력을 검토합니다.
status
필드의 값이COMPLETED
인 경우 다음 단계로 계속 진행합니다. 상태가COMPLETED
가 아닌 경우progress
필드의 값을 확인하고 5~10분 후에 4단계에서 실행한 명령을 실행합니다.출력을 검토하고 상태가
COMPLETED
인지 확인합니다.다음 명령 중 하나를 실행하여 결과를 다운로드하거나 JSON 파일에서 현재 시스템의 폴더로 데이터를 반환합니다.
QRadar 콘솔 사용자 ID 메서드의 경우 다음을 실행합니다.
curl -s -X GET -u <enter_qradar_console_user_id> -H 'Version: 12.0' -H 'Accept: application/json' 'https:// <enter_qradar_console_ip_or_hostname>/api/ariel/searches/<enter_search_id_from_previous_step>/results' > <enter_path_to_file>.json
API 토큰 메서드의 경우 다음을 실행합니다.
curl -s -X GET -H 'SEC: <enter_api_token>' -H 'Version: 12.0' -H 'Accept: application/json' 'https:// <enter_qradar_console_ip_or_hostname>/api/ariel/searches/<enter_search_id_from_previous_step>/results' > <enter_path_to_file>.json
내보내야 하는 데이터를 검색하려면 AQL 쿼리를 만들고(1~4단계) 쿼리를 다시 실행(1~7단계)합니다. 시간 범위를 조정하고 쿼리를 검색하여 필요한 데이터를 가져옵니다.