안녕하세요. 에이원정보기술 김주원입니다.
젠디스크를 통해 이야기 나누긴 했지만, 지니안 SSL PNS 제품에 대해 해당 로그 정의서 전달 드렸고 7월 중에 앱 개발이 완료된다고 전달 받았습니다.
고객사 요청은 해당 제품 로그에 대한 파싱과 스키마, 그리고 시나리오 작성이었습니다. 전자는 앱을 통해 해결이 될 것 같은데, 시나리오 관련 부분에 대해서는 지원을 받아야 할 것 같아 문의 드립니다.
고객사에서 요청한 시나리오는 2. 플로우 로그가 파싱이 됐다는 가정 하에
- 같은 계정에서 로그인 실패 시, 해당 계정으로 여러 ip가 로그인을 시도하는 경우(ip가 지속적으로 변경되면서 로그인 시도)
- 같은 계정으로 짧은 시간 내 로그인 시도하는 경우(같은 계정인데 로그인 실패가 10번 이상인 경우)
에 대한 시나리오를 요청했습니다. 제가 아직 시나리오에 대한 부분이 부족해 도움 주시면 감사하겠습니다.
감사합니다.
답변이 좀 늦어진 점 양해 부탁드립니다.
요청주신 SSLPNS 장비의 사용자 로그인 이상탐지에 대한 아래 예시 시나리오를 참조부탁드립니다.
-
같은 계정에서 로그인 실패 시, 해당 계정으로 여러 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 ]
-
같은 계정으로 짧은 시간 내 로그인 시도하는 경우(같은 계정인데 로그인 실패가 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 ]