Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

QRadar Pulse 위젯

하나 이상의 대시보드에 포함할 위젯(이전의 대시보드 항목)을 만듭니다. 작업 공간에서 만든 위젯과 대시보드만 볼 수 있습니다. 그러나 내보내거나 SOC 담벼락과 같은 공유 모니터에서 대시보드 또는 위젯을 열어 다른 사용자와 공유할 수 있습니다.

공격 데이터 소스에서 위젯 작성

공격 API 엔드포인트를 위젯의 데이터 소스로 사용합니다.

관리자는 다른 사용자를 위한 위젯 또는 대시보드를 생성할 수 없지만 자신의 대시보드를 다른 사용자와 공유할 수 있습니다.

공격 데이터 소스(/siem/offenses 엔드포인트)를 쿼리하려면 공격 권한이 있어야 합니다. 반환되는 데이터는 보안 프로필에 따라 제한됩니다.

  1. Configure Dashboard(대시보드 구성)를 클릭합니다.

    대시보드 구성 화면에는 각 위젯에 대한 세부 정보와 함께 사용 가능한 위젯 라이브러리가 표시됩니다.

  2. Create new widget(새 위젯 만들기)을 클릭합니다.

  3. New Dashboard Item(새 대시보드 항목) 페이지에서 위젯의 이름과 설명을 입력합니다.

  4. 쿼리 섹션의 데이터 원본에서 공격을 선택하고 필드 목록의 결과에서 보려는 API 필드를 선택합니다. 필터정렬 형식 옵션을 사용하여 결과를 미세 조정할 수 있습니다.

    다음 이미지는 완료된 API 매개 변수의 예를 보여 줍니다.

    참고:

    이 예제에서는 결과를 검색하기 위해 assigned_to 필터를 현재 사용자로 설정해야 합니다.

    팁:

    공격 쿼리에서 하나 이상의 로그 소스를 기준으로 필터링할 수 있습니다. 예를 들어 Trusteer 또는 CREEvents 로그 소스만 표시하려면 필터 상자에 을 입력합니다 log_sources CONTAINS (type_name="IBM Trusteer" OR type_name="CREEvents") .

  5. 데이터 원본을 폴링하는 빈도에 대한 새로 고침 시간을 선택합니다.

    새로 고침 빈도를 선택한 쿼리 시간보다 큰 값으로 선택합니다. 기본 새로 고침 빈도는 매분입니다. 새로 고침 시간이 짧을수록 QRadar에 대한 성능 영향이 커집니다.

  6. 쿼리 실행을 클릭합니다.

    위젯을 처음 만들 때 데이터 결과가 반환되지 않으면 차트를 구성할 수 없습니다. 필드의 조건을 덜 엄격하게 만들고 쿼리를 다시 실행해 보세요.

  7. 보기 섹션에서 보기를 만듭니다.

    동일한 쿼리에서 여러 뷰를 만들 수 있으므로 뷰에 고유한 이름을 지정합니다. 기본적으로 차트의 제목과 상태가 제목 표시줄에 표시됩니다. 숨기려면 추가 옵션 아이콘을 클릭하고 설정을 끄기로 전환합니다.

  8. 차트 유형을 선택하고 차트에 해당하는 필드를 작성합니다. 사용할 차트 종류를 결정하는 데 도움이 되는 사용 사례는 위젯 차트 종류를 참조하십시오.

    차트 종류

    큰 숫자

    파이

    분산형

  9. 차트가 어떻게 보이는지 미리 보고 저장을 클릭합니다.

위젯을 편집하고 쿼리를 다시 실행하지 않고 저장할 수 있습니다. 예를 들어 기간이 새 이벤트를 선택할 만큼 충분히 길지 않거나 쿼리를 실행할 때 크기 또는 심각도 값을 적용할 수 없는 경우와 같이 쿼리가 결과를 반환하지 않는 경우 위젯을 저장할 수 있습니다. 쿼리를 편집하는 경우 위젯을 저장하기 전에 쿼리를 다시 실행해야 합니다.

위젯을 삭제하면 위젯이 속한 모든 대시보드에서 제거됩니다. 삭제된 대시보드에 매개변수가 포함된 경우 매개변수는 QRadar Pulse에서 삭제되지 않습니다.

AQL 데이터 소스에서 위젯 작성

AQL(Ariel Query Language) 문을 사용하여 위젯을 작성할 수 있습니다. AQL은 QRadar의 Ariel 데이터베이스에서 추출하는 이벤트 및 플로우 데이터를 추출, 필터링 및 조작하는 데 사용하는 구조화된 쿼리 언어입니다.

QRadar Pulse에서 AQL 데이터 소스를 기반으로 대시보드 항목을 작성하는 데 사용하는 Ariel 쿼리 언어에 대해 알아보려면 주니퍼 보안 분석 Ariel 쿼리 언어 가이드의 다음 주제를 읽으십시오.

  • 개요 섹션 내에서는 사용하는 문과 절에 대해 설명하는 여러 주제가 있습니다. 명령문 및 절은 쿼리 필드에 입력할 때 QRadarQRadar Pulse에서 키워드로 표시됩니다.

  • AQL을 사용하여 Ariel 데이터베이스의 이벤트, 플로우 및 simarc 테이블에서 특정 필드를 검색할 수 있습니다.

관리자는 다른 사용자를 위한 위젯 또는 대시보드를 생성할 수 없지만 자신의 대시보드를 다른 사용자와 공유할 수 있습니다.

  1. Configure Dashboard(대시보드 구성)를 클릭합니다.

    대시보드 구성 화면에는 각 위젯에 대한 세부 정보와 함께 사용 가능한 위젯 라이브러리가 표시됩니다.

  2. New Dashboard Item(새 대시보드 항목) 페이지에서 위젯의 이름과 설명을 입력합니다.

  3. 조회 섹션의 데이터 소스 목록에서 AQL을 선택하고 AQL문을 입력하십시오. 자세한 정보는 대시보드 차트에 대한 AQL 조회 작성을 위한 팁의 내용을 참조하십시오.

    1. 문에 기존 매개 변수를 삽입합니다. 매개 변수 삽입(Insert Parameter ) 아이콘을 클릭한 다음 각 관련 매개 변수에 대해 삽입(Insert )을 클릭합니다.

    2. 매개변수의 기본값을 변경하려면 매개변수 보기(View Parameters ) 아이콘을 클릭하고 기본값을 설정한 후 저장(Save )을 클릭합니다.

      매개 변수의 기본값을 변경하면 확장되거나 고정된 대시보드 및 위젯을 제외하고 작업 영역에서 매개 변수가 사용되는 모든 곳에서 값이 변경됩니다. 값을 기본값으로 설정하지 않으면 업데이트된 변경 내용이 현재 세션에만 적용됩니다. 그러나 값을 기본값으로 설정하면 현재 세션 값도 해당 값을 사용합니다.

    3. 작업 영역에 매개 변수를 추가하려면 추가를 클릭하고 필요한 경우 매개 변수에 이름과 기본값을 지정한 다음 저장을 클릭합니다.

      참고:

      대시보드의 위젯에 매개 변수를 처음 추가하면 매개 변수 카드가 대시보드에 나타납니다. 위젯에서 매개 변수를 제거했는데 해당 대시보드의 다른 위젯에서 매개 변수를 사용하지 않으면 매개 변수 카드가 사라집니다.

  4. 데이터 원본을 폴링하는 빈도에 대한 새로 고침 시간을 선택합니다. 새로 고침 빈도를 선택한 쿼리 시간보다 큰 값으로 선택합니다. 기본 새로 고침 빈도는 매분입니다. 새로 고침 시간이 짧을수록 QRadar에 대한 성능 영향이 커집니다. 새로 고침 빈도에 대한 타이머는 쿼리가 완료된 후 시작됩니다.

    예를 들어 새로 고침 빈도가 매분이고 쿼리를 완료하는 데 3분이 걸리는 경우 새로 고침 빈도는 3분 실행이 끝난 후에만 시작됩니다.

  5. 쿼리 실행을 클릭합니다.

    위젯을 처음 만들 때 데이터 결과가 반환되지 않으면 차트를 구성할 수 없습니다. 필드의 조건을 덜 엄격하게 만들고 쿼리를 다시 실행해 보세요.

    AQL 조회에 값이 없는 매개변수가 포함된 경우 매개변수 페이지에 입력하십시오. 쿼리가 성공적으로 실행되도록 각 매개 변수에 대한 값을 입력해야 합니다. 쿼리가 성공하면 문 옆에 결과가 표시됩니다.

  6. 보기 섹션에서 보기를 만듭니다.

    동일한 쿼리에서 여러 보기와 차트를 만들 수 있으므로 보기에 고유한 이름을 지정합니다. 기본적으로 차트의 제목과 상태가 제목 표시줄에 표시됩니다. 숨기려면 추가 옵션 아이콘을 클릭하고 설정을 끄기로 전환합니다.

  7. 차트 종류를 선택하고 관련 속성을 구성합니다. 사용할 차트 종류를 결정하는 데 도움이 되는 사용 사례는 위젯 차트 종류를 참조하십시오.

    차트 종류

    큰 숫자

    지리적

    파이

    분산형

    시계열

  8. 차트가 어떻게 보이는지 미리 보고 저장을 클릭합니다.

    팁:

    차트의 레이블은 사용되는 쿼리에서 가져옵니다. 미리 보기에서 이해할 수 없는 경우 보기 섹션에서 레이블을 편집합니다.

위젯을 편집하고 쿼리를 다시 실행하지 않고 저장할 수 있습니다. 예를 들어 기간이 새 이벤트를 선택할 만큼 충분히 길지 않거나 쿼리를 실행할 때 크기 또는 심각도 값을 적용할 수 없는 경우와 같이 쿼리가 결과를 반환하지 않는 경우 위젯을 저장할 수 있습니다. 쿼리를 편집하는 경우 위젯을 저장하기 전에 쿼리를 다시 실행해야 합니다.

위젯을 삭제하면 위젯이 속한 모든 대시보드에서 제거됩니다. 삭제된 대시보드에 매개변수가 포함된 경우 매개변수는 QRadar Pulse에서 삭제되지 않습니다.

대시보드 차트에 대한 AQL 조회 작성을 위한 팁

별명, 시간 및 날짜 형식, 변환 검색 기능을 보다 쉽게 다루는 AQL 쿼리 및 대시보드 차트를 작성하는 데 도움이 되는 팁입니다.

  • start, stop 또는 last와 같은 시간 기준을 포함하지 않는 AQL 문은 5분 동안만 실행됩니다.

  • WHERE 절의 IN 연산자에서 변환 조회 함수를 사용하지 마세요. IN 연산자는 WHERE 절에 여러 값을 지정하지만 쿼리를 실행할 때 성능 문제를 일으킬 수 있습니다. 예를 들어 다음 쿼리로 인해 성능 문제가 발생할 수 있습니다.

    Where logsourcetypename(deviceType) IN ('a','b')

  • 필드 이름이 QRadar 버전마다 다르지 않도록 항상 별명을 사용하십시오. 예를 들어 다음 쿼리에서 Active Offense SumSUM_Active Offense Count 필드의 별칭입니다.

    select ("SUM_Active Offense Count" / 2) as 'Active Offense Sum', ("SUM_Dormant Offense Count" / 2) as 'Dormant Offense Sum', "Time" * 1000 as 'sTime' from GLOBALVIEW('Offenses Over Time','NORMAL') order by "Time" desc last 2 days

  • AQL 쿼리의 Time 에서 밀리초 시간 형식을 사용하십시오. 예를 들어, starttime-starttime%60000.

  • 특히 GLOBALVIEW에서 쿼리에 적절한 날짜 및 연도 형식을 사용합니다. 날짜는 자동으로 추가되지 않습니다. 예를 들어, StartTime, 'YYYY-MM-dd HH:mm'.

  • 로그 활동 또는 네트워크 활동 탭으로 이동하고 AQL 검색을 실행하여 자동 완성 및 메시징을 가져옵니다. 얻은 결과에 만족하는 경우 QRadar Pulse쿼리 섹션에 명령문을 복사하여 붙여넣으십시오. GLOBALVIEW 원본은 REST API 호출에서만 사용할 수 있습니다.

  • 분산형 지역 차트는 지리적 위치를 표시하여 탐지된 악의적인 활동의 IP 원본 및 대상을 나타냅니다. 이 정보를 수집하려면 AQL GEO::LOOKUP 함수의 geo_json 옵션을 사용하십시오. 예를 들어:

    GEO::LOOKUP(sourceip, 'geo_json') AS 'geoSource', GEO::LOOKUP(destinationip, 'geo_json') AS 'geoDest',

  • 등치 차트는 각 지역에서 탐지된 악의적인 활동의 양에 비례하여 음영 처리됩니다. 이 정보를 수집하려면 AQL GEO::LOOKUP 함수의 국가 옵션을 사용하십시오. 예를 들어:

    GEO::LOOKUP(sourceip, 'country') AS 'geoCountry',

  • 주니퍼 Secure Analytics Ariel 쿼리 언어 가이드에서 다음 주제를 참조하십시오.

    • Ariel Query Language 개요

    • AQL 논리 및 비교 연산자

    • 시스템 성능 쿼리 예제

    • 이벤트 및 흐름 쿼리 예제Events and flows query examples

    • 참조 데이터 쿼리 예제

    • 사용자 및 네트워크 모니터링 쿼리 예제

샘플 이벤트, 로그 소스 및 스토리지 사용량 AQL 명령문

다음 예제를 사용하여 이벤트, 로그 소스 및 스토리지 사용량을 모니터링하거나 요구 사항에 맞게 쿼리를 편집할 수 있습니다.

  • 로그 소스 요약

  • 독특한 이벤트

  • 구문 분석되지 않은 이벤트 비율

  • 특정 로그 소스 유형에 대한 구문 분석되지 않은 이벤트 비율

  • 규칙당 부분 일치 항목 수

  • 이벤트 프로세서당 부분 일치 항목 수

  • 규칙당 및 이벤트 프로세서당 부분 일치 횟수Number of partial matches per rule and per event processor

  • 로그 소스 유형당 스토리지 사용량Storage consumption per log source type

  • 스토리지 사용량

  • CPU 사용량

  • 메모리 사용량

  • 비용이 많이 드는 CEP, 로그 소스 및 규칙

  • 비용이 많이 드는 검색

  • 사용자별로 실행된 AQL 검색

로그 소스 요약

로그 소스 수, EPS 및 구문 분석되지 않은 이벤트의 백분율을 포함한 고유한 로그 소스 유형 목록을 제공합니다.

SELECT LOGSOURCETYPENAME(devicetype) AS "LogSourceType",UNIQUECOUNT(logsourceid) as "Number of Log Sources", COUNT(*)/3600 as "EPS",(DOUBLE(COUNT(isunparsed)) / COUNT(*)) * 100 AS "PercentUnparsed" FROM events GROUP BY devicetype ORDER BY "PercentUnparsed" DESC LAST 1 HOURS

독특한 이벤트

고유 이벤트 목록과 로그 소스 유형, QID, 상위 수준 범주, 하위 수준 범주 및 이벤트 수를 제공합니다.

SELECT LOGSOURCETYPENAME(devicetype) AS "Log Source Type", QIDNAME(qid) AS "Event Name", qid as "QID", CATEGORYNAME(highlevelcategory) AS "High-level Category", CATEGORYNAME(category) AS "Low-level Category", LONG(COUNT(*)) as "Number of Events" FROM events GROUP BY qid, devicetype ORDER BY COUNT(*) DESC LAST 1 HOURS

구문 분석되지 않은 이벤트 비율

각 로그 소스 유형에 대해 구문 분석되지 않은 이벤트의 백분율을 제공합니다. 구문 분석되지 않은 20%를 초과하는 모든 로그 소스는 처리해야 합니다.

SELECT LOGSOURCETYPENAME(devicetype) AS "Log Source Type", devicetype AS "Log Source ID", LONG(UNIQUECOUNT(logsourceid)) as "Number of Log Sources", LONG(SUM(eventcount)) as "Total Events", LONG(COUNT(*)) as "Aggregated Events", LONG(COUNT(isunparsed)) AS "Unparsed Events", STR(LONG(SUM(eventcount)/24*3600)) as "EPS", LONG("Unparsed Events"*100) / "Total Events" AS "PercentUnparsed" FROM events GROUP BY devicetype ORDER BY "PercentUnparsed","Unparsed Events" DESC LAST 24 HOURS

특정 로그 소스 유형에 대한 구문 분석되지 않은 이벤트 비율

하나의 특정 로그 소스 유형(예: devicetype=11)의 구문 분석 문제를 자세히 조사하려면 로그 소스당 통계 분석을 반환하는 다음 쿼리를 실행할 수 있습니다.

SELECT LOGSOURCENAME(logsourceid) AS "Log Source Name", LONG(SUM(eventcount)) as "Total Events", LONG(COUNT(*)) as "Aggregated Events", LONG(COUNT(isunparsed)) AS "Unparsed Events", STR(LONG(SUM(eventcount)/24*3600)) as "EPS", LONG("Unparsed Events"*100) / "Total Events" AS "PercentUnparsed" FROM events WHERE GROUP BY logsourceid ORDER BY "PercentUnparsed","Unparsed Events" DESC LAST 24 HOURS

팁:

사용자 환경에 필요한 만큼 필드를 더 추가합니다. 변수에 대한 AQL 매개변수를 작성하십시오 devicetype=11 . 자세한 정보는 작업공간 대시보드에 대한 AQL 매개변수 작성의 내용을 참조하십시오.

규칙당 부분 일치 항목 수

지정된 기간 내의 부분 일치 항목 수와 함께 모든 규칙 및 구성 요소 목록을 제공합니다.

SELECT RULENAME(partialmatchlist) as "Rule Name", LONG(COUNT(*)) as "Number of Partial Matches" FROM events WHERE partialmatchlist IS NOT NULL GROUP BY "Rule Name" ORDER BY "Number of Partial Matches" DESC LAST 1 HOURS

이벤트 프로세서당 부분 일치 수

지정된 기간 내의 부분 일치 항목 수와 함께 모든 규칙 및 구성 요소 목록을 제공합니다.

SELECT HOSTNAME(processorid) as "Event Processor Name", LONG(COUNT(*)) as "Number of Partial Matches" FROM events WHERE partialmatchlist IS NOT NULL GROUP BY "Event Processor Name" ORDER BY "Number of Partial Matches" DESC LAST 1 HOURS

규칙당 및 이벤트 프로세서당 부분 일치 횟수Number of partial matches per rule and per event processor

지정된 기간 내의 규칙당 부분 일치 항목 수를 포함하여 모든 규칙 및 구성 요소 목록을 제공합니다.

SELECT HOSTNAME(processorid) as "Event Processor Name", RULENAME(partialmatchlist) as "Rule Name", LONG(COUNT(*)) as "Number of Partial Matches" FROM events WHERE partialmatchlist IS NOT NULL GROUP BY "Event Processor Name", "Rule Name" ORDER BY "Number of Partial Matches" DESC LAST 1 HOURS

로그 소스 유형당 스토리지 사용량

1일 동안 각 로그 소스 유형에서 사용하는 스토리지에 대한 분석을 제공합니다.

참고:

이 쿼리에는 QRadar 인덱스에 사용되는 스토리지가 포함되지 않습니다. 그러나 대부분의 인덱스는 로그 소스 유형이나 페이로드 크기에 관계없이 모든 이벤트 간에 균등하게 분산됩니다.

SELECT LOGSOURCETYPENAME(deviceType) AS LogSource, LONG(MIN(STRLEN(UTF8(payload)))) AS "Minimum Payload Size (Bytes)", LONG(MAX(STRLEN(UTF8(payload)))) AS "Maximum Payload Size (Bytes)", LONG(AVG(STRLEN(UTF8(payload)))) AS "Average Payload Size (Bytes)", LONG(STDEV(STRLEN(UTF8(payload)))) AS "Standard Deviation (Bytes)", LONG(COUNT(logsourceid)) AS EventCount, LONG(EventCount * "Average Payload Size (Bytes)") / (1024 * 1024) as "Total Storage (MB)" FROM events GROUP BY deviceType ORDER BY "Total Storage (MB)" DESC LAST 24 HOURS

스토리지 사용량

모든 QRadar 어플라이언스에서 사용되는 스토리지의 양에 대한 일별 요약을 제공합니다.

SELECT DATEFORMAT(starttime, 'yyyy-MM-dd') as "Date", "Hostname" as "QRadar Appliance Name", LONG(MAX("Value")/(1024*1024*1024)) as "Storage Used (GB)" FROM events WHERE (qid = 94000001) AND ((LONG(starttime/1000)%(24*3600)) < 20) AND ("Metric ID" = 'DiskSpaceUsed') AND (Element = '/store') GROUP BY "Date", "Hostname" ORDER BY "Date", "Hostname"

팁:

최소 1일 동안 검색을 실행하여 결과를 반환합니다. 결과를 향상시키려면 사용자 지정 속성을 인덱싱합니다 Metric ID .

CPU 사용량

모든 QRadar 어플라이언스의 각 구성요소에서 사용하는 CPU 시간의 분석을 제공합니다.

SELECT DATEFORMAT(starttime, 'yyyy-MM-dd') as "Date", "Hostname" as "QRadar Appliance Name", "Component Type", LONG(SUM("Value")) as "CPU Time" FROM events WHERE (qid = 94000001) AND ("Metric ID" = 'ProcessCPUTime') GROUP BY "Date", "Hostname", "Component Type" ORDER BY "Date", "Hostname", "Component Type"

메모리 사용량

모든 QRadar 어플라이언스의 각 구성요소에서 사용하는 힙 메모리의 분류를 제공합니다.

SELECT DATEFORMAT(starttime, 'yyyy-MM-dd') as "Date", "Hostname" as "QRadar Appliance Name", "Component Type", LONG(SUM("Value")/(1024*1024*1024)) as "Memory Usage Per Day (GB)" FROM events WHERE (qid = 94000001) AND ("Metric ID" = 'HeapMemoryUsed') GROUP BY "Date", "Hostname", "Component Type" ORDER BY "Date", "Hostname", "Component Type"

비용이 많이 드는 CEP, 로그 소스 및 규칙

QRadar에서 식별되는 고가의 CEP(Complex Event Processing), 로그 소스 및 규칙의 전체 목록을 제공합니다.

참고:

이 명령문은 QRadar Development Intelligence 앱의 expensivecp사용자 정의 특성(, expensivelogsource, 및 )을 expensiverules사용합니다.

SELECT DATEFORMAT(starttime,'yyyy-MM-dd HH:mm:ss') as "timestamp",sourceip, "expensivecp","expensivelogsource","expensiverules", UTF8(payload) FROM events WHERE devicetype=147 AND (expensivecp is not NULL OR expensivelogsource is not NULL OR expensiverules is not NULL) ORDER BY timestamp DESC LAST 48 HOURS

비용이 많이 드는 검색

지난 24시간 동안 실행된 검색 목록을 제공합니다. 목록은 실행 시간을 기준으로 정렬됩니다.

참고:

이 명령문은 QRadar Development Intelligence 앱의 expensivecp사용자 정의 특성(, expensivelogsource, 및 )을 expensiverules사용합니다.

SELECT "searchid", "searchpriority", "searchlimit", "searchtime" FROM events WHERE qid=28250295 ORDER BY searchtime DESC LAST 24 HOURS

사용자별로 실행된 AQL 검색

각 사용자가 실행한 모든 검색 목록을 제공합니다.

참고:

이 명령문은 QRadar Development Intelligence 앱의 expensivecp사용자 정의 특성(, expensivelogsource, 및 )을 expensiverules사용합니다.

SELECT username, "Ariel Source", "Ariel Cursor ID", "searchpriority", "AQL Statement" FROM events WHERE qid=28250254 ORDER BY username LAST 2 HOURS

쿼리 예제 복사

작은따옴표 또는 큰따옴표가 포함된 쿼리 예제를 복사하여 붙여 넣는 경우 쿼리가 구문 분석되도록 따옴표를 다시 입력해야 합니다.

AQL 매개변수의 유스 케이스

매개변수를 사용하면 여러 AQL 쿼리에서 공통 요소를 간단하게 재사용할 수 있으므로 위젯을 더 쉽게 작성하고 공유할 수 있습니다. 더 이상 유사한 엔터티에 대한 단일 쿼리를 만들 필요가 없습니다. 매개 변수를 사용하는 모든 쿼리는 자동으로 값을 사용할 수 있습니다.

파라미터를 사용하여 콘솔의 IP와 같은 공통 엔터티를 나타냅니다. 예를 들어 모든 관련 차트의 각 쿼리에 고유한 IP 주소를 입력하는 대신 Console_IP 매개 변수에 특정 IP 주소를 추가합니다. 해당 매개 변수를 사용하는 모든 작업공간 위젯은 즉시 업데이트됩니다.

특정 사용자에 대한 검색 이벤트

SOC의 선임 분석가이며 사용자 중 한 명인 Bob의 의심스러운 동작을 조사하려고 합니다. Bob이 악의적인 행동을 할 때 주의해야 할 정보를 캡처하는 대시보드를 구축합니다. 예를 들어 지난 한 시간 동안 Bob과 연결된 로그인 수는 몇 개입니까? 사용자 이름, 사용자별 이벤트, 기간, 시간 값, sourceipdestinationip에 대한 매개 변수를 만듭니다.

상위 이벤트 범주, 상위 10개 로그 소스, 이벤트 위치, 사용자별 이벤트 및 시간을 다루는 위젯을 포함합니다. 대시보드를 내보내고 다른 사용자와 공유할 때 다른 사용자는 Bob의 사용자 이름을 자신이 선택한 사용자 이름으로 바꿀 수 있습니다.

특정 기간 동안의 이벤트 조사

시계열 차트에서는 로그인 실패 이벤트 수가 급증하는 것을 볼 수 있습니다. 기간을 변경하고 쿼리를 다시 실행하여 스파이크가 시작된 시점을 확인합니다. 예를 들어 기간을 지난 4일이 아닌 최근 30일로 변경하면 스파이크가 시작된 시점인가요?

다른 사용자와 대시보드 공유

팀은 전 세계의 여러 관리 호스트를 관리하는 책임을 공유합니다. 특정 서버에서 상위 디스크 사용량 및 디스크 사용량 분포와 같은 다양한 상태 메트릭을 모니터링하는 대시보드를 만듭니다. servername에 대한 매개 변수를 만든 다음 대시보드를 동료와 공유합니다. 모니터링하는 서버 이름을 매개 변수 값에 추가하기만 하면 해당 서버와 관련된 결과를 얻을 수 있습니다.

작업공간 대시보드에 대한 AQL 매개변수 작성

AQL 데이터 소스와 함께 모든 위젯에서 사용할 수 있는 매개변수(예: 기간시간 값)를 작성하십시오. 공통 매개변수 및 기본값을 사용하면 위젯에 대한 개별 AQL 조회를 작성하거나 편집하는 데 걸리는 시간을 줄일 수 있습니다.

AQL문에서 매개변수는 다음 예와 같이 중괄호 안에 표시됩니다.

Creating AQL Parameters for Your Workspace Dashboards

중괄호는 따옴표로 묶인 문자열(따옴표 사이의 문자열 리터럴) 내의 AQL문에서도 사용되기 때문에 여는 중괄호 앞의 이스케이프 문자로 백슬래시(\)를 사용해야 합니다. 이 구문은 QRadar Pulse 가 따옴표로 묶인 문자열을 매개변수로 해석하여 잘못된 쿼리 결과를 유발하지 않도록 하는 데 도움이 됩니다. 따옴표로 묶인 문자열에 백슬래시가 있는 경우 이스케이프 문자로 백슬래시를 추가합니다.

  1. AQL 기반 항목이 포함된 대시보드(예: 이벤트 및 플로우 메트릭 대시보드)에서 추가 옵션 > 매개변수 관리를 클릭하십시오.

    매개변수 값 관리(Manage Parameter Values) 페이지에는 작업공간에 이미 생성된 매개변수가 표시됩니다. 매개 변수 중 기본값이 있는 매개 변수가 있으면 Default value(기본값) 열에 나열됩니다. 발생 횟수 열은 각 매개변수를 사용하는 위젯의 수를 표시합니다. 숫자 위로 마우스를 가져가면 어떤 위젯이 매개변수를 사용하는지 확인할 수 있습니다.

  2. 매개 변수의 기본값을 설정하려면 추가 옵션 아이콘을 클릭하고 필드에 기본값을 입력한 다음 저장을 클릭합니다.

    참고:

    이 작업은 매개 변수를 사용하는 모든 위젯에 대한 기본값을 설정하고 매개 변수 카드가 자동으로 업데이트됩니다. 또는 특정 위젯에서 매개변수에 대한 값을 추가할 수 있습니다.

    참고:

    매개 변수의 기본값을 변경하면 확장되거나 고정된 대시보드 및 위젯을 제외하고 작업 영역에서 매개 변수가 사용되는 모든 곳에서 값이 변경됩니다. 값을 기본값으로 설정하지 않으면 업데이트된 변경 내용이 현재 세션에만 적용됩니다. 그러나 값을 기본값으로 설정하면 현재 세션 값도 해당 값을 사용합니다.

  3. 작업 영역에 매개 변수를 추가하려면 추가를 클릭하고 매개 변수에 이름과 기본값을 지정한 다음 저장을 클릭합니다.

  4. 매개 변수를 삭제하려면 먼저 숫자 위로 마우스를 가져가 각 항목의 이름을 확인하여 매개 변수가 위젯에 속하지 않는지 확인하십시오. 이러한 항목에서 매개 변수를 제거한 후 삭제를 클릭할 수 있습니다.

  5. 대시보드로 돌아가기를 클릭하여 기본 보기로 돌아가 작업을 계속합니다.

기존 AQL 기반 위젯에 매개변수 추가

이 예제 시나리오에서는 두 개의 매개 변수를 생성하여 이벤트 및 플로우 메트릭 대시보드의 상위 10개 로그 소스 위젯에 추가합니다.

  1. 매개변수 관리(Manage Parameters)> 옵션 추가(More options)를 클릭합니다.

  2. Add(추가)를 클릭하고 두 개의 매개 변수를 만듭니다. 하나는 값이 HOURSTime Period이고 다른 하나는 값이 2Time Value입니다. 각 매개 변수를 만든 후 저장을 클릭합니다. 매개변수는 작업 공간의 모든 위젯에 사용할 수 있습니다.

  3. Back to Dashboard(대시보드로 돌아가기)를 클릭합니다.

  4. Top 10 Log Sources(상위 10개 로그 소스) 위젯 카드에서 Edit Item(항목 편집) 아이콘을 클릭합니다.

    AQL 문 필드에서 조회는 다음 예 중 하나와 같습니다. 첫 번째 예는 기본값입니다. 두 번째 예제는 호환성을 위해 수정되었습니다.

  5. AQL 명령문 필드에서 조회를 수정하려면 다음 단계를 수행하십시오.

    1. Insert Parameter(매개변수 삽입) 아이콘을 클릭하여 대체 HOURS 한 다음 Time Period(기간 매개변수)에 대해 Insert(삽입)를 클릭합니다.

    2. 시간 값으로 바꾸 2쿼리 실행을 클릭합니다. 업데이트된 쿼리는 다음 예제 중 하나와 같습니다.

      SELECT logsourcename(logsourceid) AS 'MY Log Sources', LONG(SUM(eventcount) / ((MAX(endTime) - MIN(startTime) + 1) / 1000.0)) as event_rate FROM events GROUP BY logsourceid ORDER BY event_rate DESC LIMIT 10 LAST {Time Value} {Time Period}

      SELECT logsourcename(logsourceid) AS 'MY Log Sources', LONG(if (MAX(endtime) > MIN(startTime) ) then (SUM(eventcount)/((MAX(endtime) - MIN(starttime))/1000.0)) else SUM(eventcount)) as event_rate FROM events GROUP BY logsourceid ORDER BY event_rate DESC LIMIT 10 LAST {Time Value} {Time Period}

  6. 쿼리가 성공적으로 실행되면 저장을 클릭합니다.

새 매개변수가 매개변수 카드에 추가되고 앞에 별표(*)가 표시되어 작업공간의 기본값임을 나타냅니다. 이 대시보드의 위젯에서 사용하는 매개변수만 매개변수 섹션에 나타납니다.

Adding Parameters to Existing AQL-based Widgets

일반 API 데이터 소스에서 위젯 작성

일반 API 데이터 소스는 다음 예제와 같이 노출된 API가 있는 QRadar 앱뿐만 아니라 QRadar API에도 액세스할 수 있습니다.

  • /api/asset_model/assets

  • /api/health_data/top_rules

  • /api/config/deployment/hosts (영문)

  • /api/config/event_sources/log_source_management/log_sources

  • /console/plugins/<QDI_appId>/app_proxy/appmetrics/get_app_memory_usage

  1. 대시보드 구성을 클릭합니다.

    대시보드 구성 화면에는 각 위젯에 대한 세부 정보와 함께 사용 가능한 위젯 라이브러리가 표시됩니다.

  2. Create new widget(새 위젯 만들기)을 클릭합니다.

  3. New Dashboard Item(새 대시보드 항목) 페이지에서 위젯의 이름과 설명을 입력합니다.

  4. 쿼리 섹션의 데이터 원본 목록에서 일반 API를 선택하고 URL 끝점을 입력합니다. 자세한 내용은 대시보드 차트에 대한 일반 API 쿼리를 만들기 위한 팁을 참조하세요.

  5. 데이터 원본을 폴링하는 빈도에 대한 새로 고침 시간을 선택합니다. 기본 새로 고침 시간은 매분입니다. 새로 고침 시간이 짧을수록 QRadar에 대한 성능 영향이 커집니다. 새로 고침 시간은 쿼리가 완료된 후 시작됩니다. 예를 들어 쿼리를 완료하는 데 3분이 걸리는 경우 새로 고침 시간은 3분 실행이 끝난 후에만 시작됩니다.

  6. 반환된 JSON의 루트 객체가 플롯하려는 배열이 아닌 경우 Results 매핑 을 입력하여 플롯하려는 관련 데이터가 포함된 키를 정의합니다. 자세한 내용은 대시보드 차트에 대한 일반 API 쿼리를 만들기 위한 팁을 참조하십시오.

  7. 선택 사항: 반환된 JSON에 제목 매핑이 포함된 경우 결과 집합에서 제목 사용을 켜기로 설정합니다. 자세한 내용은 대시보드 차트에 대한 일반 API 쿼리를 만들기 위한 팁을 참조하십시오.

  8. 쿼리 실행을 클릭합니다.

    위젯을 처음 만들 때 데이터 결과가 반환되지 않으면 차트를 구성할 수 없습니다. 필드의 조건을 덜 엄격하게 만들고 쿼리를 다시 실행해 보세요.

  9. 보기 섹션에서 대시보드 차트를 만듭니다.

    동일한 쿼리에서 여러 보기와 차트를 만들 수 있으므로 보기에 고유한 이름을 지정합니다. 기본적으로 차트의 제목과 상태가 제목 표시줄에 표시됩니다. 숨기려면 추가 옵션 아이콘을 클릭하고 설정을 끄기로 전환합니다.

  10. 차트 종류를 선택하고 관련 속성을 구성합니다. 사용할 차트 종류를 결정하는 데 도움이 되는 사용 사례는 위젯 차트 종류를 참조하십시오.

  11. 차트가 어떻게 보이는지 미리 보고 저장을 클릭합니다.

대시보드 차트에 대한 일반 API 쿼리를 만들기 위한 팁

일반 API 쿼리 및 대시보드 차트를 만드는 데 도움이 되는 팁은 특정 차트 유형에 대한 데이터 요구 사항, 반환된 JSON이 배열이 아닌 경우에 대한 결과 매핑 및 동적 제목을 보다 쉽게 다룹니다.

데이터 형식

호출되는 API는 QRadar Pulse가 데이터를 읽을 수 있도록 특정 JSON 형식으로 데이터를 리턴해야 합니다.

대부분의 QRadar API는 QRadar Pulse가 처리할 수 있는 형식으로 데이터를 리턴합니다. 앱 API와 같은 다른 API에서는 QRadar Pulse 결과 맵핑을 사용하여 리턴된 JSON 오브젝트의 특정 키를 추출해야 할 수 있습니다.

테이블 형식 차트에 대한 데이터 요구 사항

테이블 형식 차트의 경우 API는 테이블 형식 데이터를 나타내는 객체의 JSON 배열을 반환해야 합니다. 예를 들어:

원형 차트 및 단일 계열 막대형 차트에 대한 데이터 요구 사항

파이 차트 및 단일 계열 막대 차트의 경우 API는 하나 이상의 레이블과 하나의 숫자 메트릭을 포함하는 JSON 배열을 반환해야 합니다. 예를 들어:

시계열 차트에 대한 데이터 요구 사항

시계열 차트의 경우 API는 유효한 날짜 또는 밀리초 형식을 사용하는 하나 이상의 시간 기반 지표와 Y축에 그릴 하나 이상의 숫자 지표를 포함하는 JSON 배열을 반환해야 합니다. 데이터는 시간순으로 정렬해야 합니다. 예를 들어:

분산형 지리 차트에 대한 데이터 요구 사항

분산형 지리 차트에는 좌표가 있는 geo_json 키와 하나의 숫자 지표를 포함하는 문자열화된 JSON 객체(즉, JSON.stringify() JavaScript 함수를 사용하여 변환된 객체)가 필요합니다. 예를 들어:

등치 지리 차트에 대한 데이터 요구 사항

등치 지리 차트에는 국가/지역 이름 또는 국가/지역의 ISO-3 코드가 있는 국가 키와 하나의 숫자 지표가 포함된 문자열화된 JSON 객체(즉, JSON.stringify() JavaScript 함수를 사용하여 변환된 객체)가 필요합니다. 예를 들어:

결과 매핑

반환된 JSON의 루트 객체가 플롯하려는 배열이 아닌 경우 Results mapping 필드를 사용하여 플롯하려는 관련 데이터가 포함된 키를 정의합니다.

결과 매핑은 JSON 점(.) 연산자를 사용하여 루트 노드에서 시작하여 문서를 트래버스합니다. 예를 들어 다음 JSON 객체에서 관련 데이터는 테이블 루트 노드 아래에 있는 items 키 아래에 있습니다. QRadar Pulse가 items 배열을 읽고 다른 모든 키를 무시하려면 table.items 맵핑이 필요합니다.

리턴된 JSON 오브젝트 자체가 배열인 경우(대부분의 기본 QRadar API의 경우와 같이) 맵핑이 필요하지 않습니다. 그러나 QRadar 앱에서는 리턴된 JSON의 형식이 다를 수 있습니다.

동적 제목

데이터의 현재 상태를 설명하는 동적 제목을 사용하여 QRadar Pulse 보기 이름을 대체할 수 있습니다. 예를 들어 차트의 제목은 "World Malicious Activity: <threat_name> "이며 시간이 지남에 따라 위협 이름이 변경됩니다. 동적 제목에는 다음 예제와 같이 동적 제목 이름이 있는 제목 키가 필요합니다.

제목 키가 루트 노드 아래에 있는 경우 제목 매핑 필드를 사용합니다. 제목 매핑은 JSON 점(.) 연산자를 사용하여 루트 노드에서 시작하여 문서를 트래버스합니다. 예를 들어 제목 키가 테이블 루트 노드 아래에 있는 경우 table.title 매핑을 지정합니다.