샘플 AQL 조회

AQL (Ariel Query Language) 조회를 사용하여 특정 기준에 따라 Ariel 데이터베이스에서 데이터를 검색합니다.

AQL 조회를 빌드할 때에는 다음 조회 구문을 사용하고 절의 순서를 준수하십시오.
[SELECT *, column_name, column_name]
[FROM table_name]
[WHERE search clauses]
[GROUP BY column_reference*]
[HAVING clause]
[ORDER BY column_reference*]
[LIMIT numeric_value] 
[TIMEFRAME]
참고: GROUP BY 또는 ORDER BY 절을 사용하여 정보를 정렬하는 경우 기존 SELECT 문에서만 column_names 를 참조할 수 있습니다.
참고: 기본적으로 TIMEFRAME 값을 지정하지 않으면 마지막 5분동안의 Ariel 데이터에 대해 조회가 실행됩니다.
리터럴 값 또는 변수 지정에는 작은따옴표를 사용해야 하며 공백이나 비ASCII 문자를 포함하는 컬럼 이름에는 큰따옴표를 사용해야 합니다.
작은따옴표
다음 예제에 표시된 대로 문자열의 시작과 끝을 참조할 때에는 작은따옴표를 사용하십시오.
username LIKE '%User%'
sourceCIDR= '192.0.2.0'
TEXT SEARCH = 'VPN Authenticated user'
QIDNAME(qid) AS 'Event Name'
큰따옴표
다음 예제에 표시된 대로 컬럼 이름에 공백 또는 비ASCII 문자가 포함된 경우 큰따옴표를 사용하십시오.
공백이 포함된 사용자 정의 특성 이름(예: "Account Security ID").
비ASCII 문자가 있는 값.

단순 AQL 조회

표 1. 단순 AQL 조회
기본 AQL 명령 주석
SELECT * FROM events LAST 10 MINUTES
지난 10분 동안 전송된 이벤트 테이블의 모든 필드를 리턴합니다.
SELECT sourceip,destinationip FROM events 
LAST 24 HOURS
지난 24시간 동안 전송된 이벤트 테이블의 sourceipdestinationip를 리턴합니다.
SELECT * FROM events START '2017 01 01 9:00:00' 
STOP '2017 01 01 10:20:00'
해당 시간 간격 동안 이벤트 테이블의 모든 필드를 리턴합니다.
SELECT * FROM events limit 5 LAST 24 HOURS
마지막 24시간 동안 이벤트 테이블의 모든 필드를 리턴하며 출력은 5개의 결과로 제한됩니다.
SELECT * FROM events ORDER BY magnitude DESC 
LAST 24 HOURS
최근 24시간 동안 전송된 이벤트 테이블의 모든 필드를 리턴하며 출력을 가장 큰 크기에서 가장 낮은 크기 순으로 정렬합니다.
SELECT * FROM events WHERE magnitude >= 3 
LAST 24 HOURS
마지막 24시간 동안 3보다 낮은 위험지표를 갖는 이벤트 테이블의 모든 필드를 리턴합니다.
SELECT * FROM events WHERE sourceip = '192.0.2.0' 
AND destinationip = '198.51.100.0' START '2017 01 01 
9:00:00' STOP '2017 01 01 10:20:00'
지정된 기간 내 지정된 소스 IP 및 대상 IP를 갖는 이벤트 테이블의 모든 필드를 리턴합니다.
SELECT * FROM events WHERE INCIDR('192.0.2.0/24',
sourceip)
소스 IP 주소가 지정된 CIDR IP 범위 내에 있는 이벤트 테이블의 모든 필드를 리턴합니다.
SELECT * FROM events WHERE username LIKE '%roul%'
사용자 이름에 예제 문자열이 포함된 이벤트 테이블의 모든 필드를 리턴합니다. 백분율 기호(%)는 사용자 이름이 0개 이상의 문자로 된 문자열과 일치할 수 있음을 나타냅니다.
SELECT * FROM events WHERE username ILIKE '%ROUL%'
사용자 이름에 예제 문자열이 포함된 이벤트 테이블의 모든 필드를 리턴하며 결과는 대소문자를 구분합니다. 백분율 기호(%)는 사용자 이름이 0개 이상의 문자로 된 문자열과 일치할 수 있음을 나타냅니다.
SELECT sourceip,category,credibility FROM events 
WHERE (severity > 3 AND category = 5018)OR 
(severity < 3 AND credibility > 8)
특정 심각도 레벨, 특정 카테고리 및 특정 신뢰성 레벨을 가지는 이벤트 테이블의 sourceip, categorycredibility 필드를 리턴합니다. AND절을 사용하면 다중 문자열의 결과 유형을 보유할 수 있습니다.
SELECT * FROM events WHERE TEXT SEARCH 'firewall'
출력에 지정된 텍스트가 있는 이벤트 테이블의 모든 필드를 리턴합니다.
SELECT * FROM events WHERE username ISNOT NULL
username 값이 NULL이 아닌 이벤트 테이블의 모든 필드를 리턴합니다.