SSL VPN 관련 시나리오 작성 문의


안녕하세요. 에이원정보기술 김주원입니다.
젠디스크를 통해 이야기 나누긴 했지만, 지니안 SSL PNS 제품에 대해 해당 로그 정의서 전달 드렸고 7월 중에 앱 개발이 완료된다고 전달 받았습니다.
고객사 요청은 해당 제품 로그에 대한 파싱과 스키마, 그리고 시나리오 작성이었습니다. 전자는 앱을 통해 해결이 될 것 같은데, 시나리오 관련 부분에 대해서는 지원을 받아야 할 것 같아 문의 드립니다.
고객사에서 요청한 시나리오는 2. 플로우 로그가 파싱이 됐다는 가정 하에

  1. 같은 계정에서 로그인 실패 시, 해당 계정으로 여러 ip가 로그인을 시도하는 경우(ip가 지속적으로 변경되면서 로그인 시도)
  2. 같은 계정으로 짧은 시간 내 로그인 시도하는 경우(같은 계정인데 로그인 실패가 10번 이상인 경우)
    에 대한 시나리오를 요청했습니다. 제가 아직 시나리오에 대한 부분이 부족해 도움 주시면 감사하겠습니다.
    감사합니다.

답변이 좀 늦어진 점 양해 부탁드립니다.
요청주신 SSLPNS 장비의 사용자 로그인 이상탐지에 대한 아래 예시 시나리오를 참조부탁드립니다.

  1. 같은 계정에서 로그인 실패 시, 해당 계정으로 여러 ip가 로그인을 시도하는 경우(ip가 지속적으로 변경되면서 로그인 시도)
    table duration=1h *:SSLPNS
    | search _schema == “auth” and type == “login” and is_success == “N”
    | join user_id
    [ table duration=1h *:SSLPNS
    | search _schema == “auth” and type == “login” and is_success == “N”
    | stats dc(src_ip) as dc_srcip by user_id
    | search dc_srcip >= 3
    | eval rule_result = concat("IP변경을 통한 다수의 로그인 실패(동일계정)::최근 1시간 동안 [ ",dc_srcip, " 건 ] IP에서 동일 계정[ ", user_id, " ] 로그인 실패 ")
    | fields - dc_srcip ]

  2. 같은 계정으로 짧은 시간 내 로그인 시도하는 경우(같은 계정인데 로그인 실패가 10번 이상인 경우)
    table duration=10m *:SSLPNS
    | search _schema == “auth” and type == “login”
    | join user_id
    [ table duration=10m *:SSLPNS
    | search _schema == “auth” and type == “login”
    | stats count by user_id
    | search count >= 10
    | eval rule_result = concat("동일 계정으로 다수 로그인 시도::최근 10분 동안 계정[ ", user_id, " ] 으로 [ “, count, " 회 ] 로그인 시도”)
    | fields - count ]